概述
基于PaddleDetection的PPYOLO模型复现
- 1. PPYOLO模型简介
- 2. 环境搭建
- 2.1 Paddle框架安装
- 2.2 PaddleDetection依赖库安装
- 3. 训练自己的数据集
- 3.1 准备数据集
- 3.2 修改配置文件
- 3.3 训练
- 4. 推理测试
1. PPYOLO模型简介
PP-YOLO是PaddleDetection优化和改进的YOLOv3的模型,其精度(COCO数据集mAP)和推理速度均优于YOLOv4模型。PPYOLO可以在均值平均精度(42.5%mAP)和检测速率(72.9FPS)之间取得更好地平衡,超过了目前最先进的检测器Efficient和YOLOv4,但是模型较大,更适合于服务端的部署。
2. 环境搭建
2.1 Paddle框架安装
PPYOLO需要使用百度paddle框架,我们打开飞桨官网:https://www.paddlepaddle.org.cn/ ,在下方的快速安装选择适合自己版本的paddlepaddle,
使用指令:
`python -m pip install paddlepaddle-gpu==2.1.0.post101 -f https://paddlepaddle.org.cn/whl/mkl/stable.html`
安装GPU版本的paddle,paddle框架安装好之后进行入python界面,输入:
import paddle.fluid as fluid
fluid.install_check.run_check()
查看paddle是否可以正常使用。
2.2 PaddleDetection依赖库安装
paddle框架安装好之后进行入从github上下载PaddleDetection并解压到目录,下载地址:https://github.com/PaddlePaddle/PaddleDetection 将paddledetection根目录添加到环境变量。
根据requirement.txt文件安装依赖库,依赖库安装结束后使用命令:
python ppdet/modeling/tests/test_architectures.py
测试是否可用,结果为ok可以正常使用。
3. 训练自己的数据集
3.1 准备数据集
PaddleDetection支持coco和voc两种格式的数据集,coco数据集的默认位置为dataset/coco目录下,数据集格式如下所示。
PaddleDetection包含了多种模型,PPYOLO、YOLOv3、faster_rcnn和mask_rcnn等模型配置文件存放在configs目录下。
3.2 修改配置文件
数据集准备好之后修改配置文件,打开configs/ppyolo文件夹,可以看到文件内包含多种模型
这里我们使用PPYOLO轻量级模型PP-YOLO_MobileNetV3_small进行训练,打开ppyolo_mbv3_small.yml可以看到它还包含五个配置文件,需要对这些文件参数进行修改。
打开coco_detection.yml修改类别数量num_classes、图片路径imge_dir和标签路径anno_dir,其中num_classes的值不包含背景类。
打开optimizer_1x.yml修改epoch次数,在学习率learningRate下修改基础学习率base_lr为0.00125,默认值为8卡学习率0.01,学习率计算公式为:base_lr=0.01/8*GPU数量。
打开ppyolo_mbv3_small_coco.yml分别在TrainReader、EvalReader和TestReader下修改batch_size、num_workers和num_classes的值
snapshot_epoch为每训练多少次生成一个权重文件,这里我们修改为2
至此配置文件就修改完毕了,注意配置文件中不能添加中文注释,否则会报错!
3.3 训练
参数配置完成后,使用命令:
python tools/train.py -c configs/ppyolo/ppyolo_mbv3_small_coco.yml --eval
开始训练,训练结果会保存在output/ppyolo_mbv3_small_coco文件夹内。
4. 推理测试
将要进行测试的图片放在demo文件夹内,使用命令:
python tools/infer.py -c configs/ppyolo/ppyolo_mbv3_small_coco.yml -o weights=output/ppyolo_mbv3_small_coco/best_model.pdparams --infer_dir=demo
进行推理测试,测试结果存放在output文件夹内。
最后
以上就是标致短靴为你收集整理的学习笔记(三)基于PaddleDetection的PPYOLO目标检测模型复现1. PPYOLO模型简介2. 环境搭建3. 训练自己的数据集4. 推理测试的全部内容,希望文章能够帮你解决学习笔记(三)基于PaddleDetection的PPYOLO目标检测模型复现1. PPYOLO模型简介2. 环境搭建3. 训练自己的数据集4. 推理测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复