YOLOv5 报错:“NotImplementedError: Could not run ‘torchvision::nms‘ with arguments from the ‘CUDA‘ back
在跑@炮哥带你学的yolov5时出现了这个错误之前也有一些错误,比如
给大家推荐一个博客,用来解决【RuntimeError: result type Float can‘t be cast to the desired output type long int】报错的吗,可以看下这个https://blog.csdn.net/Thebest_jack/article/details/125649451,希望大家不要走弯路了。。送我上去吧!!!
但是NotImplementedError: Could not run 'torchvision::nms' with arguments from the 'CUDA' backend这个错误是由cup版本的torchvision引起的,我看了好多博主说是torch与torchvision版本不对的报错,接下来我说下我是怎么处理的
直接先卸载,不要怕他们回不来,因为已经出问题了,就是要重新装
#先退出python环境
pip uninstall torch
pip uninstall torchvision
重新下载自己所对的torch版本
具体也可以看这个博主的CPU版本torch与torchvision更换至GPU版本(离线安装)_torchvision gpu-CSDN博客
我写这篇文章的目的是更加详细的解释他没有讲的
接着讲,在终端输入
nvidia-smi.exe
查看自己的版本号,右上角有个
CUDA Version: 12.2,说明我的cuda版本号是12.2,自己的号自己要记下来
然后在终端输入
python -m pip debug --verbose
会出现这些
后面还有好多,截图不下,我直接选的第一个 cp311-cp311-win_amd64复制下来
然后进入download.pytorch.org/whl/torch_stable.html
这里面有好多好多的下载链接,我具体说下
cu121表示cuda的版本号,我记得我的是12.2没有可以直接用121也行,进入这个页面,ctrl+f就可以自己搜到自己的版本号了
至于为啥有三个是因为在下载torchvision时候,下载的两次,因为有些感觉就是一样的,但是不匹配(这里下载的torch与torchvision的版本号一定要一样,自己大不了多试几次)
终端这里的地址是啥,就把下载好的文件剪切到这个地址下面,然后
复制文件名,pip install 文件名.whl
(这里一定自己填上.whl)
不剪切就会有这个错误
ERROR: Invalid requirement: 'torchaudio-2.1.0+cu121-cp311-cp311-win_amd64'
然后就装好了,同理可以装上torchvision,最终就可以跑yolov5的代码了
感谢博主@YulokLe的博文
参考文献: