PaddleDetection训练自己的(VOC)数据集
简介:
PP-YOLO是PaddleDetection优化和改进的YOLOv3的模型,其精度(COCO数据集mAP)和推理速度均优于YOLOv4模型,PP-YOLO在COCO test-dev2017数据集上精度达到45.9%,在单卡V100上FP32推理速度为72.9 FPS, V100上开启TensorRT下FP16推理速度为155.6 FPS
一、项目说明
此项目基于PaddleDetection套件开发,基于PP-YOLO架构实现的目标检测模型
1)任务描述:使用PP-YOLO架构
2)数据说明:本项目数据集采用VOC格式数据集,以开源数据集印刷电路板(PCB)瑕疵数据集为例
3)本教程源码地址:
链接:https://pan.baidu.com/s/121AE_KZr3w4hcm3xzybu2g
提取码:30fo
二、环境配置
操作系统 linux
python 3.6.5
paddlepaddle-gpu 1.8.4
CUDA 10.0
cuDNN 7.6
ppdet 0.0.4
三、项目结构
3.1源码项目结构:
3.2成品项目结构:
四、准备数据集
1、下载源码后,打开项目,在PaddleDetection/dataset目录下新建文件夹pcb
2、在PaddleDetection/dataset/pcb目录下新建文件夹Annotations、JPEGImages
3、将所有所有标注的XML文件放到dataset/pcb/Annotations目录下 如下图
4、将所有标注的图片放到dataset/pcb/ JPEGImages目录下,如下图
5、将PaddleDetection/create_list_name.py 移动到你新建的pcb文件夹下
6、执行成功会在dataset/pcb目录下会生成3个txt文件
五、修改配置文件
****修改configs/ppyolo/ppyolo.yml 和 configs/ppyolo/ppyolo_reader.yml****
***5.1、修改configs/ppyolo/ppyolo.yml***
5.2、修改configs/ppyolo/ppyolo_reader.yml
5.3、将源码中的configs/ppyolo/ppyolo.yml 和 configs/ppyolo/ppyolo_reader.yml与5.1和5.2中的模板对比,修改后即完成配置。
六、开始训练
命令行中运行 python tools/train.py -c configs/ppyolo/ppyolo.yml --eval
训练过程中根据自己在ppyolo.yml中设置的snapshot_iter会间隔保存模型,本示例项目设置snapshot_iter为1000,所以每间隔1000步就保存一次模型。
根据自己在ppyolo.yml中设置的weights会指定路径保存模型,本示例项目设置weights为output/ppyolo/best_model
七、预测
PP-YOLO模型部署及推理benchmark需要通过tools/export_model.py导出模型后使用Paddle预测库进行部署和推理,可通过如下命令一键式启动。
7.1、导出模型
命令行执行命令:python tools/export_model.py -c configs/ppyolo/ppyolo.yml -o weights=output/ppyolo/best_model.pdparams
执行命令后 在output/ppyolo目录下生成infer_cfg.yml。到此处 模型导出工作已完成
7.2、预测推理
执行命令:python deploy/python/infer/py --model_dir=output/ppyolo --image_file=demo/test.jpg --use_gpu=True
版权声明:本文为CSDN博主「Apαche」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46116553/article/details/118058651
暂无评论