PP-YOLO

环境安装

1. 安装百度下深度学习模型–PaddlePaddle

PP-YOLO模型中Matrix NSM,Grid Senstive等优化项依赖Paddle框架最新版本支持,在work目录下提供了AIStudio上可用的Paddle安装包,可以直接通过如下命令进行安装,目前需要使用AiStudio GPU环境。注意:由于AIStudio环境限制,暂时不支持Paddle最新版本安装,使用work目录下提供的whl包即可。

pip uninstall -y paddlepaddle-gpu
pip install ~/work/paddlepaddle_gpu-0.0.0-cp37-cp37m-linux_x86_64.whl

2. PaddleDetection下载

%cd data
# !git clone https://github.com/PaddlePaddle/PaddleDetection
! tar xf ../work/PaddleDetection.tar -C .

3. PaddleDetection依赖安装及设置

通过如下方式安装PaddleDetection依赖,并设置环境变量

%cd PaddleDetection
!pip install -r requirements.txt

%env PYTHONPATH=.:$PYTHONPATH
%env CUDA_VISIBLE_DEVICES=0

PP-YOLO模型演示

1. PP-YOLO模型图片预测演示

PP-YOLO模型及权重已发布,可参考PP-YOLO文档。可通过PaddleDetection提供的tools/infer.py一键式预测脚本使用PP-YOLO模型预测指定的图片。项目在work目录下提供了一张dog.jpg,可通过如下方式预测

  • 通过-c参数指定模型配置文件,PP-YOLO模型的配置文件为configs/ppyolo/ppyolo.yml
  • 通过--infer_img指定需要预测的图片路径
  • 通过-o weights=指定加载权重路径,若提供的路径为url,将自动下载并加载

预测结果默认存储在PaddleDetection的output目录,可通过如下方式可视化预测结果

 python tools/infer.py -c configs/ppyolo/ppyolo.yml --infer_img=../../work/dog.jpg -o weights=https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams

PaddlePaddle 官方安装方法

1. PP飞桨-paddlepaddle框架安装方法

2. PP-YOLO地址及使用方法

(1)代码地址

PaddlePaddle/PaddleDetection/PP-YOLO

(2)运行方法

a. 首先激活运行环境:
source activate PaddleDetection
b. 更改数据集格式(将标注数据集写成VOC标准格式)

利用PaddleDetectio/dataset/coco/xmltotoxt.py(将xml文件坐标信息写入txt文件中写的脚本为xmltotxt.py)将标记数据Annotations中的xml文件写入ImageSets/Main/中,生成train.txt ; val.txt ; trainval.txt ; test.txt

c. 生成标签文件
python tools/x2coco.py --dataset_type voc --voc_anno_dir dataset/voc/VOC2007/Annotations/ --voc_anno_list dataset/voc/VOC2007/ImageSets/Main/trainval.txt --voc_label_list dataset/voc/VOC2007/label_list.txt --voc_out_name voc_train.json

根据上述命令,分别更改相应参数,将.txt文件中的标签内容转为.json格式,分别生成voc_train.json voc_val.json voc_test.json,同时将label_list.txt更改为自己标签的内容。

d. 模型训练

更改configs/ppyolo/ppyolo.ymlppyolo_reader.yml 中的 image_dir/anno_path/dataset_dir,batch_size也进行更改。

python tools/train.py -c configs/ppyolo/ppyolo.yml

训练模型,训练师若 with_backgroundtrue,则将num_classes更改为:类别+1

e. 模型测试

将所得模型命名更改为model_final后,利用下述语句进行测试。

python tools/infer.py -c configs/ppyolo/ppyolo.yml --infer_img=demo/000039.jpg

模型训练过程中容易出现nan的问题,需要更改ppyolo_reader.yml文件中的batch_size大小以及base_lr的大小,一般更改为0.001以下。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值