paddleDetection 训练自定义数据集 第二章 开始训练
上一章 数据集制作
文章目录
- paddleDetection 训练自定义数据集 第二章 开始训练
- 一、环境
- 二、安装
- 1.安装miniconda
- 2.安装paddlepaddle
- 3.下载paddleDetection
- 三、训练自定义数据集
- 1.首先选择预训练模型,然后修改配置文件
- 2.训练
- 3.导出模型
- 总结
# 前言
使用paddleDetection训练自定义数据集。
提示:以下是本篇文章正文内容,下面案例可供参考
一、环境
- paddlepaddle2.0
- python3.7
- miniconda4.8.3 CUDA >= 9.0
- cuDNN >= 7.6
- paddleDetection
二、安装
1.安装miniconda
#创建 python3.7环境
2.安装paddlepaddle
#我安装的是paddlepaddle cuda9.0 根据实际环境安装 官网https://www.paddlepaddle.org.cn/
python -m pip install paddlepaddle-gpu==2.0.1.post90 -f https://paddlepaddle.org.cn/whl/mkl/stable.html
# 安装pycocotools
pip install pycocotools
3.下载paddleDetection
cd <path/to/clone/PaddleDetection>
git clone https://gitee.com/paddlepaddle/PaddleDetection
#安装依赖
pip install -r requirements.txt
#确认测试通过:
python ppdet/modeling/tests/test_architectures.py
#使用预训练模型预测图像,快速体验模型预测效果:
python tools/infer.py -c configs/ppyolo/ppyolo.yml -o use_gpu=true weights=https://paddlemodels.bj.bcebos.com/object_detection/ppyolo.pdparams --infer_img=demo/000000014439.jpg
三、训练自定义数据集
1.首先选择预训练模型,然后修改配置文件
#我是使用的车辆检测预训练模型 Vehicle Detection
vim contrib/VehicleDetection/vehicle_yolov3_darknet.yml
#修改 metric: VOC 还有对应的地址
TrainReader:
batch_size: 4
dataset:
!VOCDataSet
dataset_dir: /home/aiuser/test/detection/dataset/zhakua_v2/VOCdevkit/
anno_path: trainval.txt
#image_dir: train2017
with_background: false
EvalReader:
batch_size: 4
dataset:
!VOCDataSet
dataset_dir: /home/aiuser/test/detection/dataset/zhakua_v2/VOCdevkit/
anno_path: test.txt
#image_dir: val2017
with_background: false
TestReader:
batch_size: 1
dataset:
!ImageFolder
anno_path: /home/aiuser/test/detection/dataset/zhakua_v2/VOCdevkit/label_list.txt
with_background: false
2.训练
python -u tools/train.py -c contrib/VehicleDetection/vehicle_yolov3_darknet.yml \
-o finetune_exclude_pretrained_params=['cls_score','bbox_pred']
3.导出模型
#训练完以后会输出到 output/vehicle_yolov3_darknet/ 文件夹里
#预测
python -u tools/infer.py -c contrib/VehicleDetection/vehicle_yolov3_darknet.yml \
--infer_img=/home/aistudio/data/998.jpeg \
--output_dir=infer_output/ \
--draw_threshold=0.5 \
-o weights=./output/vehicle_yolov3_darknet/model_final \
#导出成可预测模型
python tools/export_model.py -c contrib/VehicleDetection/vehicle_yolov3_darknet.yml \
--output_dir=./inference_model \
-o weights=./output/vehicle_yolov3_darknet/model_fina
#./inference_model
#使用paddlepaddle提供可嵌入的python代码运行模型
python deploy/python/infer.py --model_dir=./inference_model/vehicle_yolov3_darknet \
--image_file=path/to/dataset/2572.jpeg \
--use_gpu=True
结合自己的业务需求嵌入到代码中
总结