张芷铭的个人博客

torchaudio 需与 torch 版本匹配。当 torch 版本不能改动时,只能手动编译安装 torchaudio。

编译前准备

系统要求

  • Python: 3.8-3.14
  • PyTorch: 需与系统安装版本匹配
  • 编译器: GCC/Clang (Linux), MSVC (Windows)
  • 构建工具: CMake 3.18+

安装依赖

Linux (Ubuntu/Debian):

1
2
sudo apt-get install -y cmake build-essential git sox libsox-dev \
    ffmpeg libavcodec-dev libavformat-dev libavutil-dev

macOS:

1
brew install cmake sox ffmpeg

Windows: 安装 Visual Studio Build Tools 和 vcpkg。

编译步骤

克隆仓库

1
2
git clone https://github.com/pytorch/audio.git
cd audio

检查版本兼容性

1
2
3
4
5
# 查看当前 PyTorch 版本
python -c "import torch; print(torch.__version__)"

# 查看支持的版本
git tag | grep <你的torch版本>

选择分支

1
2
3
4
5
# 切换到对应标签
git checkout v2.2.0  # 替换为你的版本

# 或使用 main 分支(开发版)
git checkout main

编译安装

方法一:pip 安装(推荐)

1
2
3
pip install -e .  # 开发模式
# 或
pip install .     # 普通安装

方法二:setup.py

1
python setup.py install

方法三:CMake 构建

1
2
3
mkdir build && cd build
cmake .. -DCMAKE_PREFIX_PATH=$(python -c "import torch; print(torch.utils.cmake_prefix_path)")
cmake --build . --config Release

验证安装

1
2
3
4
5
6
7
8
9
import torch
import torchaudio

print(f"PyTorch: {torch.__version__}")
print(f"torchaudio: {torchaudio.__version__}")

# 测试基本功能
waveform, sample_rate = torchaudio.load("test_audio.wav")
print(f"音频形状: {waveform.shape}, 采样率: {sample_rate}")

常见问题

依赖库缺失

1
sudo ldconfig  # Linux 下更新库缓存

CUDA 兼容性

1
2
nvcc --version
python -c "import torch; print(torch.version.cuda)"

内存不足

1
export MAKEFLAGS="-j4"  # 限制为 4 线程

最佳实践

  1. 优先使用预编译版本:无特殊需求时用官方预编译版
  2. 版本锁定:生产环境锁定特定版本
  3. 参考文档:https://pytorch.org/audio/main/installation.html

Comments