目标检测实践过程中,遇到“No module named ‘torch._six’”报错的一个快速解决方案(无需重装PyTorch)

很多人在按照网络、书籍教程中的流程尝试自己实现一个基于Faster-RCNN的目标检测模型时,如果调用了PyTorch官方github上的文件时,coco_eval.py文件中会触发报错。


1. 报错原因

PyTorch在2.0之后的版本中移除了_six,导致在coco_eval.py中调用torch._six失败


2. 解决方案

(1)直接根据代码内容修改代码

我们仔细观察coco_eval.py的代码,发现只有一处调用了torch._six中的string_classes:

那么我们直接对症下药,具体操作如下,

# 注释掉开头导入库的部分
# import torch._six

# 然后直接定义string_classes
string_classes = str

# 如有用到int_classes,接着定义
int_classes = int

(2)如果不嫌麻烦的话,可以改PyTorch的版本

具体操作就是把PyTorch和cuda整个删除掉,重新下载PyTorch和对应版本的cuda,流程网上都有,这里不做展开(相当麻烦,不建议这么做)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值