遇到问题UserWarning: No NMS is available.

UserWarning: No NMS is available. Please upgrade torchvision to 0.3.0+
warnings.warn(‘No NMS is available. Please upgrade torchvision to 0.3.0+’)

好好的环境布吉岛咋的就坏了,遇到了这个问题。
当然,实在不知道怎么解决就重新安装一个新的虚拟环境就好了,但是这个环境已经安了很多包了,直接丢掉太浪费了。
而且我还提示说cuda也不支持了,就很奇怪。

首先测试下torch还能用不

import torch
import torchvision
print(torch.cuda.is_available())
import torch
print(torch.__version__)
print(torchvision.__version__)

直接显示false且torch变成了1.10.1+cpu版本,我想应该是不小心给他更新了导致版本不匹配。
那就先卸掉重装一个torch看看
方法1:conda方法

conda uninstall pytorch
conda uninstall libtorch

方法2:

pip uninstall torch

我是用的第二种。
然后去官网下载torch链接
选择gpu版本
在这里插入图片描述

conda install pytorch torchvision torchaudio cudatoolkit=10.2

安装成功后,依旧出现这个问题,所以可以确定是版本不匹配造成的了。那就去下载个旧版本的torch,我之前一直用的1.7.1,就根据之前的来吧。
先看下自己的cuda是什么版本的之前我有写过相关文章
在这里插入图片描述
看下自己的python版本
在这里插入图片描述
在这里插入图片描述

选择旧版本轮子
旧版本
官网旧版本

conda install pytorch1.7.1 torchvision0.8.2 torchaudio==0.7.2 cudatoolkit=10.2
我用官网这个失败了

记得切到whl位置

pip install torch-1.7.1-cp37-cp37m-win_amd64.whl

下载torchvision
查看torch对应的torchvision版本
网址
输入这个:

pip install torchvision-0.8.2-cp37-cp37m-win_amd64.whl
再测试下:

import torch
import torchvision
print(torch.cuda.is_available())
# import torch
print(torch.__version__)
print(torchvision.__version__)

除了torch环境有问题外,我后面又出现了该问题,但是我的环境此时是正确的了,为此找到了github上的一个方法:
将nms代码中:

if torchvision.__version__ >= '0.3.0':
    _nms = torchvision.ops.nms
else:
    warnings.warn('No NMS is available. Please upgrade torchvision to 0.3.0+')
    sys.exit(-1)

替换为:

from packaging import version

if version.parse(torchvision.__version__) >= version.parse('0.3.0'):
    _nms = torchvision.ops.nms
else:
    warnings.warn('No NMS is available. Please upgrade torchvision to 0.3.0+')

仅此借鉴参考,不同情况下可能有不同的问题,一般出现userwarning的警告,大多都是版本不兼容的情况,可以首先去排查下自己的版本问题。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值