很多人在按照网络、书籍教程中的流程尝试自己实现一个基于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,流程网上都有,这里不做展开(相当麻烦,不建议这么做)
标签:named,torch,six,PyTorch,classes,报错,._ From: https://blog.csdn.net/2301_79886169/article/details/141497339