RuntimeError: No such operator torchvision::nms问题解决方法

RuntimeError: No such operator torchvision::nms 问题解决方法:
最近在学习YoloV5,跑了代码,训练的时候没有问题,在测试的时候报错如下:
在这里插入图片描述
网上搜了一下,发现很多人遇到过这个问题,尤其是在跑Yolov4和Yolov5等对pytorch版本要求比较高的代码。但是解决方案说的大都是pytorch和torchvision的版本不匹配,让升级torchvision版本,或者重新安装pytorch。

但是因为pytorch较大,每次安装比较麻烦,且另一种简单升级torchvision的方法好像并不奏效。

本文这里分享一种简单、有效的解决方案:

因为Yolov5要求pytorch1.6以上版本,所以按照requirements.txt文件直接配置了虚拟环境:
python3.7+cuda10.1+pytorch1.6+torchvision0.7.0
RuntimeError: No such operator torchvision::nms问题解决方法_第1张图片
报错时特意看了下环境:
在这里插入图片描述
pytorch版本是没有问题的,所以前面第一个epoch训练没有问题。

分析原因是因为torchvision版本虽然达到了0.7.0,但是没有和cuda10.1环境匹配,因为如果pytorch如果是在官网获得的安装命令,应该是这样的:

RuntimeError: No such operator torchvision::nms问题解决方法_第2张图片

pip install torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

这个时候安装的torchvision的版本自动的是0.7.0+cu101, 而通过requirements.txt安装则是和pytorch 分别安装的,导致版本不一致。

所以直接卸载原来的torchvision,安装torchvision==0.7.0+cu101即可,而不需要重新安装pytorch。

但是直接在命令行安装torchvision==0.7.0+cu101,又会报错,因为找不到对应包的路径:
RuntimeError: No such operator torchvision::nms问题解决方法_第3张图片

这个时候直接把官网的安装命令的后部分链接加上就可以了:
RuntimeError: No such operator torchvision::nms问题解决方法_第4张图片

pip install torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

可以看到问题快速解决了。

所以,下次遇到较高版本的pytorch环境时,可以通过同样的方式处理!

你可能感兴趣的:(深度学习,Python,nms,yolov5,pytorch1.6,RuntimeError)