Annotations 放置图像标注 .xml
JPEGImages 放置图像 .jpg
使用脚本,脚本链接:注意修改
划分数据集,ImageSets/Main/train.txt,trainval.txt,test.txt,val.txt 放置文件名,不带后缀
脚本上传到GitHub ,注意修改:https://github.com/ghostype98/tools/blob/main/make_txt.py
参考链接:https://blog.csdn.net/weixin_42447868/article/details/105675158
建立mmdetection/checkpoints目录,下载对应的预训练权重,
权重文件链接
(1)configs对应网络里的README.md 进入后可以通过cfg文件验证对应的weight
例如 configs/fcos/README.md 根据config 对应 model 避免下错
(2)https://mmdetection.readthedocs.io/zh_CN/v2.19./model_zoo.html#id2
3.1mmdet/core/evalution/class_names.py #voc_classes 修改类别
3.2mmdet/datasets/voc.py #一个类要加 逗号,修改类别,
3.3config/ _base_/models/faster_rcnn.py #根据自己需要的网络更换
1.num_classes #类别数
2.checkpoint=checkpoints/...pth
#使用预训练模型,或者3.5.5load_from 中修改
3.4config/ _base_/datasets/voc0712.py![请添加图片描述](https://img-blog.csdnimg.cn/963dd3d258344416b58bb0f851bb62bd.png)
1.注释掉line41中,voc2012
2.修改训练、验证、测试 txt路径:根据自己路径修改
3.samples_per_gpu #每个gpu检测几张图片,显卡内存不足可以调小
workers_per_gpu #使用几个线程
4.修改图像尺寸 img_scale , 显卡内存不足可以调小
5.pipeline 图像在线增强策略
3.5configs/_base_/default_runtime.py
1.checkpoint_config #多少epoch 保存一次模型
2.log_config #多少次迭代 输出一次日志
3.hooks=[dict(type='TextLoggerHool'), dict(type='TensorboardLoggerHook')] #使用tensorboard
4.log_level #输出日志等级
5.load_from # 加载lastest.pth 继续训练
6.resume_from #断点继续训练
tips:checkpoints、load_from、resume_from优先级:mmdet默认加载权重优先级别是resume_from(断点加 载),load_from,pretrained的顺序,所以需要从load_from加载预训练权重
3.6configs/schedule/schedule_1x.py #修改超参数
step=[8, 11] #在第8、11epoch 学习率乘0.1
max_epochs #训练epoch
3.7configs/faster_rcnn/fasterrcnn_r50_fpn_1x_coco.py
#根据自己模型修改路径, 除了base外的注释掉,前面VOC0712.py 已经修改过
python tools/train.py configs/faster_rcnn/....py --gpus 1 --work-dir WORK_DIR checkpoints/...pth
python tools/test.py configs/faster_rcnn/...py work_dir/lastest.pth --show-dir output --out output/result.pkl
7.1绘制结果曲线
python tools/analysis_tools/analyze_logs.py plot_curve workdir/~/888.log.json --keys loss lr --out loss.pdf
7.2过程可视化 前提: 3.5.3
tensorboard --logdir work_dirs/88/88/ #events的上一层目录
7.3测试结果评价 前提:测试命令加–out work_dirs/result.pkl
python tools/analysis_tools/eval_metric.py work_dirs/faster_rcnn_r50_fpn_1x_voc0712.py output/result30.pkl --eval mAP
#测试时保存的pkl,测试时使用的配置文件,需要分析什么数据
lr_config = dict(
policy='step', # 优化策略
warmup='linear', # 初始的学习率增加的策略,linear为线性增加
warmup_iters=500, # 在初始的500次迭代中学习率逐渐增加
warmup_ratio=1.0 / 3, # 起始的学习率
step=[8, 11]) # 在第8和11个epoch时降低学习率
————————————————
版权声明:本文为CSDN博主「藏云阁主」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hajlyx/article/details/85991400
网络模型路径
数据集路径
超参数路径
运行记录设置路径 ,有些网络不一样
稍后更新
https://mmdetection.readthedocs.io/zh_CN/latest/tutorials/customize_losses.html
https://blog.csdn.net/chrisitian666/article/details/113145902
YOLO使用VOC出错。
将VOC转换成 COCO,
2.1将xml转换成json
2.2通过json读取图片放在文件中,
注意修改路径
参考:https://blog.csdn.net/qq_45584615/article/details/115802378
使用coco训练测试的指标
参考https://zhuanlan.zhihu.com/p/399837729
coco得到每一类缺陷AP并且 为AP50 即IoU=0.5
https://zhuanlan.zhihu.com/p/264202374
修改后,需要重新编译
参考链接
https://bbs.huaweicloud.com/blogs/detail/198417
https://blog.csdn.net/H_Ben_Ben/article/details/120336630
https://blog.csdn.net/hajlyx/article/details/85991400
https://blog.csdn.net/weixin_36642958/article/details/96905866
https://blog.csdn.net/syysyf99/article/details/96574325
官网介绍https://mmdetection.readthedocs.io/zh_CN/v2.19.0/model_zoo.html