Mmdetection训练笔记

 

--------------------------------------------------------------------------------------------------------------------------

1.imgs_per_gpu表示一块gpu训练的图片数量,imgs_per_gpu的值会影响终端输出的显示,比如,如果你有一块GPU,训练集有4000张,imgs_per_gpu设为2的话,终端的输出可能是Epoch [1][50/2000]。另外,也需要根据imgs_per_gpu的值修改学习率,否则可能会出现梯度爆炸的问题

2.lr_config = dict(
    policy='step',#优化策略
    warmup='linear',#初始的学习率增加的策略,linear为线性增加,
    warmup_iters=500,#在初始的500次迭代中学习率逐渐增加
    warmup_ratio=1.0 / 3,#设置的起始学习率
    step=[8, 11])#在第9 第10 和第11个epoch时降低学习率

3.checkpoint_config = dict(interval=1)#每一个epoch存储一次模型

4.epoch后面的8684是总图片的数量 ,但是实际训练集有69472的图片,而只显示出8648的原因是mmdetection默认一张gpu训练2张图片,而该作者开启了4个gps,所以一个batch的大小是2*4=8 ,69472/8=8684,所以一共8684个batch

5.4个GPU,每个处理2张图片,即一个batch 8张图片。学习率为0.01
那么一个GPU,每个处理1张图片,那么一个batch 1张图片。学习率是0.01/8=0.00125
若1个GPU,处理2张图片,则一个batch 2张图片,学习率是0.01/4=0.0025

6.对测试集进行测试并保存结果:
#保存的结果为result.pkl
python3 tools/test.py configs/cascade_rcnn_r50_fpn_1x.py work_dirs/cascade_rcnn_r50_fpn_1x/epoch_12.pth --out ./result.pkl

在mmdetection目录下将出现result.pkl,接着,计算mAP,在终端输入以下命令,可以看到结果
python3 tools/voc_eval.py result.pkl ./configs/cascade_rcnn_r50_fpn_1x.py
备注:如果你出现了 label=self.cat2label的错误,可以参考博客链接


lr: 2.392e-04, 
eta: 6:13:15, 
time: 0.717, 
data_time: 0.138, 
memory: 1897, 
loss_rpn_cls: 0.5202, 
loss_rpn_bbox: 0.0271, 
s0.loss_cls: 0.1224, 
s0.acc: 97.8086, 
s0.loss_bbox: 0.0479, 
s1.loss_cls: 0.0552, 
s1.acc: 99.0977, 
s1.loss_bbox: 0.0130, 
s2.loss_cls: 0.0401, 
s2.acc: 96.0898, 
s2.loss_bbox: 0.0015, 
loss: 0.8275, 
grad_norm: 4.9974


lr-learning rate-学习率
eta-estimated time of arrival-预计完成时间
loss_rpn_cls-RPN分类损失
loss_rpn_bbox-RPN回归损失
grad_norm-梯度归一化

你可能感兴趣的:(研究生知识点整理总结,深度学习,python,人工智能)