mmdetection 训练COCO出现AttributeError: ‘COCO‘ object has no attribute ‘get_cat_ids‘
原因
mmdetection用到了pycocotools,本来接口是pycocotools.coco.getCatIds,但是mmdetection又在外包了一层,变成了get_cat_ids,而pycocotools.coco又没有这个成员函数,导致出错。
解决方法
方法1,参考github issue:
revert the coco.py file to the previous version via git checkout 206107 -- mmdet/datasets/coco.py
reinstall the mmdet compatible version of cocoAPI by pip install -U "git+https://github.com/open-mmlab/cocoapi.git#subdirectory=pycocotools"
方法2,手动修改(未连网情况下适用)
get_cat_ids ---> getCatIds
get_img_ids ---> getImgIds
cat_names ---> catNms
load_imgs ---> loadImgs
load_anns ---> loadAnns
get_anno_ids(img_ids=) ---> getAnnIds(imgIds=)