# 修复 PyTorch 版本依赖冲突 ## 问题描述 安装 `torch-tensorrt` 时,`torch` 被升级到 2.9.1,但 `torchaudio` 和 `torchvision` 仍需要 2.5.1+cu121,导致版本冲突。 ## 解决方案 ### 方案 1:重新安装匹配的版本(推荐) ```bash # 1. 卸载所有冲突的包 pip uninstall -y torch torchvision torchaudio torch-tensorrt # 2. 安装匹配的 PyTorch 版本(CUDA 12.1) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # 3. 安装 torch-tensorrt(会自动匹配 PyTorch 版本) pip install torch-tensorrt ``` ### 方案 2:使用批处理脚本(Windows) 直接运行: ```bash fix_torch_dependencies.bat ``` ### 方案 3:只安装 TensorRT(不安装 torch-tensorrt) 如果 `torch-tensorrt` 安装有问题,可以只安装 TensorRT 核心库: ```bash # 卸载 torch-tensorrt pip uninstall -y torch-tensorrt # 只安装 TensorRT(用于 ONNX → TensorRT 方案) pip install nvidia-tensorrt ``` 然后使用 `convert_to_tensorrt.py` 脚本(ONNX 转换方案)。 ## 验证安装 运行以下命令验证: ```bash python -c "import torch; print(f'PyTorch: {torch.__version__}')" python -c "import torchvision; print(f'TorchVision: {torchvision.__version__}')" python -c "import torchaudio; print(f'TorchAudio: {torchaudio.__version__}')" python -c "import torch_tensorrt; print('Torch-TensorRT: OK')" ``` 所有版本应该匹配,且没有错误。 ## 如果仍有问题 ### 检查 CUDA 版本 ```bash nvidia-smi ``` 确保 PyTorch 的 CUDA 版本与系统 CUDA 版本匹配。 ### 清理并重新安装 ```bash # 完全清理 pip uninstall -y torch torchvision torchaudio torch-tensorrt tensorrt # 重新安装 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install torch-tensorrt ``` ### 使用 conda(如果使用 conda 环境) ```bash conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia pip install torch-tensorrt ``` ## 注意事项 1. **版本匹配很重要**:`torch`、`torchvision`、`torchaudio` 必须版本匹配 2. **CUDA 版本**:确保 PyTorch 的 CUDA 版本与系统 CUDA 版本匹配 3. **torch-tensorrt 版本**:应该自动匹配 PyTorch 版本,如果不匹配需要手动指定 ## 替代方案 如果 `torch-tensorrt` 安装一直有问题,可以使用: 1. **ONNX → TensorRT 方案**(更稳定) - 只需要 `nvidia-tensorrt` - 不需要 `torch-tensorrt` - 使用 `convert_to_tensorrt.py` 脚本 2. **只使用 PyTorch FP16**(当前方案) - 已经达到 22 FPS - 不需要额外安装