根据报错行
进入
mmdetection/mmdet/models/dense_heads/base_dense_head.py第376行
修改前
if getattr(self.loss_cls, 'custom_cls_channels', False):
scores = self.loss_cls.get_activation(cls_score)
elif self.use_sigmoid_cls:
scores = cls_score.sigmoid()
else:
# remind that we set FG labels to [0, num_class-1]
# since mmdet v2.0
# BG cat_id: num_class
scores = cls_score.softmax(-1)[:, :-1]
修改后(第一个if语句注释其中条件,条件设置为False)
if False: # getattr(self.loss_cls, 'custom_cls_channels', False): # Change made here
scores = self.loss_cls.get_activation(cls_score)
elif self.use_sigmoid_cls:
scores = cls_score.sigmoid()
else:
# remind that we set FG labels to [0, num_class-1]
# since mmdet v2.0
# BG cat_id: num_class
scores = cls_score.softmax(-1)[:, :-1]
进入mmdetection-main目录里面之后再次
重新编译
pip install -v -e .
或
python setup.py install