编译Debug版PyTorch后出现torchvision::nms不存在错误求助
解决RuntimeError: operator torchvision::nms does not exist问题
这个错误的核心原因是你自行编译的Debug版本PyTorch与预安装的torchvision版本不兼容——torchvision的算子(如nms)依赖PyTorch的底层编译环境,预编译的torchvision无法适配你本地编译的Debug版PyTorch。
以下是针对性解决方案:
1. 编译与PyTorch版本严格匹配的torchvision
由于你使用的是自行编译的PyTorch 2.3.0a0+git97ff6cf(Debug模式),必须编译对应版本的torchvision才能保证算子兼容:
- 克隆torchvision仓库并切换到对应分支(PyTorch 2.3.x对应torchvision 0.18.x):
git clone https://github.com/pytorch/vision.git cd vision git checkout v0.18.0 - 以Debug模式编译CPU版本的torchvision(和你编译PyTorch的参数对齐):
这里DEBUG=1 FORCE_CUDA=0 python setup.py developFORCE_CUDA=0确保编译纯CPU版本,避免引入CUDA相关依赖。
2. 验证修复效果
编译完成后,运行以下命令确认nms算子正常加载:
import torch import torchvision print(f"PyTorch版本: {torch.__version__}") print(f"Torchvision版本: {torchvision.__version__}") print(f"nms算子是否存在: {torchvision.ops.nms is not None}")
如果输出nms算子是否存在: True,说明兼容问题已解决,可重新运行你的Llama3推理命令。
3. 额外注意事项
- 不要混用预编译的torchvision和自行编译的PyTorch,尤其是Debug/Release模式不同的情况下,算子兼容性会出现问题。
- 若后续更换PyTorch版本,需同步重新编译对应版本的torchvision。
内容的提问来源于stack exchange,提问作者shushuno1
相关产品推荐
相关产品推荐

