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 线程
|
最佳实践
- 优先使用预编译版本:无特殊需求时用官方预编译版
- 版本锁定:生产环境锁定特定版本
- 参考文档:https://pytorch.org/audio/main/installation.html
Comments