:使用自己的coco数据训练:
Mmdetction 训练类别错误提示。
AssertionError: The num_classes
(80) in Shared2FCBBoxHead of MMDataParallel does not matches the length of CLASSES
2) in CocoDataset
原因分析:
自己修改的本地和训练环境文件不符:
训练的时候加载的是:envs/mmdetection/lib/python3.7/site-packages/mmdet-2.26.0-py3.7.egg/mmdet

解决方案:
需要将修改后的配置文件,重新编译:
python setup.py install
如果还是报相同错误,就可以去envs/mmdetection/lib/python3.7/site-packages/mmdet-2.26.0-py3.7.egg/mmdet,看看需要更改的类别是否更改正确。
以coco数据, cascade为例。
mmdet\core\evaluation\class_names.py
mmdet\datasets\coco.py
检查以上文件在虚拟环境中。
base/models/cascade_rcnn_r50_fpn.py
检查以上文件中的num-class,(有三处,如下图):
如果还是不行,那就去看看训练日志:
重点看num_classes。
一般都是自己粗心大意了。
如果日志和虚拟环境都看不出什么问题,那就卸载重新装。