出现这个问题,我去google了下有两种解决办法:
错误出在:;fast-rcnn/lib/datasets/VOCdevkit-matlab-wrapper/voc_eval.m中的
for i = 1:length(VOCopts.classes)
cls = VOCopts.classes{i};
res(i) = voc_eval_cls(cls, VOCopts, comp_id, output_dir, rm_res);
end
1.删除原有的cache
2.In VOCCode, inside the VOCdevkit folder, there will be a file called VOCinit.m .
In that, on around line 31, change the VOC.testset to 'test' instead of 'val'
3.第三个是我自己想的办法,也是最有效的。
In VOCCode, inside the VOCdevkit folder, there will be a file called VOCinit.m ,就是在VOCcode中有个VOCinit.m,找到第81行,也就是这行:
VOCopts.classes={...
'aeroplane'
'bicycle'
'bird'
'boat'
'bottle'
'bus'
'car'
'cat'
'chair'
'cow'
'diningtable'
'dog'
'horse'
'motorbike'
'person'
'pottedplant'
'sheep'
'sofa'
'train'
'tvmonitor'};
所以你懂得,错误就在类别上,把VOCopts.classes改成自己需要是别的类别。
如:VOCopts.classes={'airplane'}
贴个错误图片看看: