解决使用yolov8进行训练是提示错误NotImplementedError: Could not run ‘torchvision::nms‘

今天使用ultralytics yolov8进行训练的时候弹出这个错误,经过半天排查,是pytorch版本的问题。

之前的conda虚拟环境随着时间的推移变得不可用,虽然在cmd中检查torch.cuda.is_available()显示为true,但版本太老不支持新的v8。随后把显卡驱动、CUDA、CUDNN更新到最新版本,这个时候从pytorch的官网使用pip命令下载torch,下载速度会很慢,试了两次均以网络超时告终。

下面的方法可以解决:

首先检查本机的显卡驱动,所支持的最高CUDA版本号以及CUDNN的版本号,

再去download.pytorch.org/whl下载对应的torch、torchaudio、torchvision,3件套必须匹配得上本机的python版本,torch里的cuda版本必须小于或等于显卡驱动所支持的最高CUDA版本,根据所下载的torch版本,去下载对应的torchaudio、torchvision版本(可以在pytorch发行的历代版本中找到3者匹配的版本号)。

这里的坑出现了,我当时只顾下载了带gpu的torch,没有下载对应的torchaudio、torchvision,导致pip安装时系统自动下载了没有带GPU的torchaudio、torchvision,这将导致在第一轮训练时弹出本文提到的错误:

这个时候的pytorch版本是这样的:

因为ultralytics8.2.100要求torchvision版本必须大于0.9.0,我当时就在这两个包之中不断地安装卸载匹配版本号,在安装ultralytics时如果torch版本没对上它会自动卸载我自己安装的带GPU版本的torch,就在这花费了不少时间。后面在清华源上用迅雷下载的GPU版本torch,安装后显示它并不带cuda。最后还是在pytorch上用迅雷下载了版本匹配的3件套。

成功安装后的包应该是这样的,3件套必须带上CUDA:

这个时候就可以进行训练了,解决了题目中提到的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值