0
点赞
收藏
分享

微信扫一扫

paddleDetection 训练自定义数据集 第二章 开始训练


paddleDetection 训练自定义数据集 第二章 开始训练

上一章 数据集制作


文章目录

  • paddleDetection 训练自定义数据集 第二章 开始训练
  • 一、环境
  • 二、安装
  • 1.安装miniconda
  • 2.安装paddlepaddle
  • 3.下载paddleDetection
  • 三、训练自定义数据集
  • 1.首先选择预训练模型,然后修改配置文件
  • 2.训练
  • 3.导出模型
  • 总结


# 前言

使用paddleDetection训练自定义数据集。

提示:以下是本篇文章正文内容,下面案例可供参考

一、环境

  1. paddlepaddle2.0
  2. python3.7
  3. miniconda4.8.3 CUDA >= 9.0
  4. cuDNN >= 7.6
  5. 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

paddleDetection 训练自定义数据集 第二章 开始训练_数据集

2.训练

python -u tools/train.py -c contrib/VehicleDetection/vehicle_yolov3_darknet.yml \
	-o       finetune_exclude_pretrained_params=['cls_score','bbox_pred']

paddleDetection 训练自定义数据集 第二章 开始训练_数据集_02

3.导出模型

#训练完以后会输出到 output/vehicle_yolov3_darknet/ 文件夹里

paddleDetection 训练自定义数据集 第二章 开始训练_paddlepaddle_03

#预测
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

结合自己的业务需求嵌入到代码中

总结




举报

相关推荐

第二章 开始学习C++

0 条评论