废话不多说,直接上报错的图:
![](https://img-blog.csdnimg.cn/20190423160147996.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p5MTAyMzQwODQ0MA==,size_16,color_FFFFFF,t_70)
看了GitHub上的大佬的回答,报错的原因是self.cat2label值不对,所以根据大佬的建议,我print了self.cat2label值,发现果然不对,类还是VOC数据集的类,而不是我自己的类,我的类是‘b4891338010542’.我确定mmdetection/mmdet/datasets/voc.py下classes已修改无误,但任然打印的类是VOC数据集的类。
解决方案:
看到报错的文件路径了没,没错,就是这,这里还有个voc.py,进去将这里的classes也修改了就好了。
![](https://img-blog.csdnimg.cn/20190423161300976.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2p5MTAyMzQwODQ0MA==,size_16,color_FFFFFF,t_70)
上面的路径是虚拟环境中mmdet的voc.py