之前没用过这种工具,一看代码好多就望而生畏了,这两天突发奇想研究一下,感觉突然发现了新大陆!!!这也太方便了吧!!!什么都集成好了,写个config文件配个模块就能完成自己的网络啦
ps.看到人家8个16个gpus,分布式训练羡慕。。。
mmdetection的主要网络结构编写放在config文件中,需要使用什么在config文件中配就行。
刚入坑可以看看:https://zhuanlan.zhihu.com/p/101225733
接下来就是一些小tricks
1.如何测试模型获得各个指标
python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [--out ${RESULT_FILE}] [--eval ${EVAL_METRICS}] [--show]
python tools/coco_eval.py ./demo/result.json --an
./data/coco/annotations/instances_val2017.json --types segm
通过test生成json文件,然后通过json文件使用coco_eval.py测试各个指标。
注:(1)这里可能会报错。
result_file = result_files[res_type]
TypeError: string indices must be integers
解决方法:将mmdet/core/evaluation/coco_utils.py文件中上面一句代码替换为下面一句。
# result_file = result_files[res_type]
result_file = result_files
(2)如果报'Results do not correspond to current coco set',则一般是测试集anns文件路径错误。
2.模型训练
我这里训练了polarmask 4gpus 中的configs文件,注意只需要更改一下学习率。
更改原则: