coco.py中没有__call__函数
时间: 2023-07-21 11:12:26 浏览: 53
非常抱歉,我犯了一个错误。在mmdetection中,`coco.py`文件中没有`__call__`函数。下面是正确的修改步骤:
1. 在训练配置文件中找到`evaluation`部分,将`metric`的值改为`mAP`,并添加以下两行代码:
```
iou_thr=0.75
classwise=True
```
这样就可以输出map75和class-wise AP。
2. 若要输出map50,需要在`mmdet/apis/evaluate.py`文件中进行修改。打开`evaluate.py`文件,找到`results = _accumulate(ap=ap, eval_results=eval_results)`这一行代码,然后在该行代码之前添加以下代码:
```
iou_thr = 0.5
coco_eval = results['coco_eval']
coco_eval.params.iou_thr = iou_thr
```
修改后的代码如下:
```
results = _accumulate(ap=ap, eval_results=eval_results)
iou_thr = 0.5
coco_eval = results['coco_eval']
coco_eval.params.iou_thr = iou_thr
```
3. 运行训练脚本,训练完成后会在`work_dirs`目录下生成一个`latest.pth`文件和一个`latest.json`文件。`latest.json`文件就是训练结果的json文件,其中包含了map、map75、map50和class-wise AP的值。