paddle篇—用yolov3训练自己的数据集

用yolov3训练自己的数据集

1、生成数据集

可看我的另一篇博客 添加链接描述

2、修改配置文件

由于paddle固定了数据集的名字,如果用自己的数据集命名的话就会出现如下的报错

ValueError: Dataset ./app/yyq/slifeProject/interest/paddle/waste is not valid and cannot parse dataset type 'waste' for automaticly downloading, which only supports 'voc' , 'coco', 'wider_face', 'fruit', 'roadsign_voc' and 'mot' currently

那如何解决这个问题呢?

首先:我在 /app/yyq/slifeProject/interest/paddle/PaddleDetection-release-2.5/configs/yolov3/yolov3_darknet53_270e_waste.yml ,yml不是以paddle所固定的数据集的格式

我的yml配置如下:

_BASE_: [
  '../datasets/waste.yml',
  '../runtime.yml',
  '_base_/optimizer_270e.yml',
  '_base_/yolov3_darknet53.yml',
  '_base_/yolov3_reader.yml',
]

snapshot_epoch: 5
weights: ../output/yolov3_darknet53_270e_waste/model_final

EvalReader:
  collate_batch: false

paddle篇---用yolov3训练自己的数据集

其次:/app/yyq/slifeProject/interest/paddle/PaddleDetection-release-2.5/configs/datasets/waste.yml

metric: VOC
map_type: 11point
num_classes: 20

TrainDataset:
  !VOCDataSet
    dataset_dir: /app/yyq/slifeProject/interest/paddle/waste
    anno_path: trainval.txt
    label_list: label_list.txt
    data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult']

EvalDataset:
  !VOCDataSet
    dataset_dir: /app/yyq/slifeProject/interest/paddle/waste
    anno_path: test.txt
    label_list: label_list.txt
    data_fields: ['image', 'gt_bbox', 'gt_class', 'difficult']

TestDataset:
  !ImageFolder
    anno_path: /app/yyq/slifeProject/interest/paddle/waste/label_list.txt

paddle篇---用yolov3训练自己的数据集

再次:/app/yyq/slifeProject/interest/paddle/PaddleDetection-release-2.5/configs/yolov3/ base/optimizer_270e.yml

可以修改 epochbase_lr

paddle篇---用yolov3训练自己的数据集

3、训练

python tools/train.py -c configs/yolov3/yolov3_darknet53_270e_waste.yml  --use_vdl=true --vdl_log_dir=vdl_dir/scalar

直接运行会报错,意思是没有 waste的数据集
怎么修改
文件: /app/yyq/slifeProject/interest/paddle/PaddleDetection-release-2.5/ppdet/utils/download.py

1、先加上 自己的数据集的路径

paddle篇---用yolov3训练自己的数据集
paddle篇---用yolov3训练自己的数据集
两步操作后就可以正常运行了
paddle篇---用yolov3训练自己的数据集

4、模型评估

python tools/eval.py -c configs/yolov3/yolov3_darknet53_270e_waste.yml -o weights=output/yolov3_darknet53_270e_waste/139.pdparams

paddle篇---用yolov3训练自己的数据集

5、模型预测

python tools/infer.py -c configs/yolov3/yolov3_darknet53_270e_waste.yml --infer_img=demo/31011529001320014341-2021-05-11-15-22-55.892.jpg -o weights=output/yolov3_darknet53_270e_waste/139.pdparams

paddle篇---用yolov3训练自己的数据集
paddle篇---用yolov3训练自己的数据集

5.1、坐标和类别获取

paddle篇---用yolov3训练自己的数据集

; 6、模型可视化


visualdl --logdir vdl_dir/scalar/

paddle篇---用yolov3训练自己的数据集

7、模型导出

在模型训练过程中保存的模型文件是包含前向预测和反向传播的过程,在实际的工业部署则不需要反向传播,因此需要将模型进行导成部署需要的模型格式。 在PaddleDetection中提供了 tools/export_model.py 脚本来导出模型

python tools/export_model.py -c configs/yolov3/yolov3_darknet53_270e_waste.yml --output_dir=./inference_model \
>  -o weights=output/yolov3_darknet53_270e_waste/best_model

注意: weights=output/yolov3_darknet53_270e_waste/best_model 是指在weights=output/yolov3_darknet53_270e_waste/路径下有一个 best_model.pdparams的权重
我是将139.pdparams 重命名成 best_model.pdparams

终端运行:

paddle篇---用yolov3训练自己的数据集
paddle篇---用yolov3训练自己的数据集

预测模型会导出到 inference_model/yolov3_darknet53_270e_waste 目录下,分别为 infer_cfg.yml, model.pdiparams, model.pdiparams.info,model.pdmodel 如果不指定文件夹,模型则会导出在 output_inference

paddle篇---用yolov3训练自己的数据集

8、模型部署

 python deploy/python/infer.py --model_dir=./inference_model/yolov3_darknet53_270e_waste --image_file=./demo/31011529001320014341-2021-05-11-15-22-55.892.jpg --device=GPU

注意: paddledetection官网上是model_dir=output_inference,但是如果自己指定路径的话,按照自己指定的路径填写

paddle篇---用yolov3训练自己的数据集
paddle篇---用yolov3训练自己的数据集

8.1 获得目标的类别,置信度和坐标

paddle篇---用yolov3训练自己的数据集

具体代码如下:

具体的code

Original: https://blog.csdn.net/m0_46825740/article/details/127675786
Author: 心惠天意
Title: paddle篇—用yolov3训练自己的数据集

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/658167/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • python运行脚本文件的3种方法

    目录 python脚本执行的3种方法: 方法一:交互模式直接执行语句 方法二:通过脚本输出 方法三:脚本中指定 python 路径,修改文件为可执行文件 python脚本执行的3种…

    人工智能 2023年7月5日
    0101
  • pytorch入门——构建神经网络

    从 pytorch到nlp 第一章 pytorch 之构建神经网络 文章目录 从 pytorch到nlp * – 前言 一、构建神经网络的具体流程 二、代码及其解读 *…

    人工智能 2023年7月21日
    066
  • 创客匠人知识付费SaaS系统功能介绍

    创客匠人知识付费系统包括内容、互动、营销在内的三大基础模块,全方位帮助教培企业和老师在家更有效率地开展教学活动。 一、互动模块包括直播、社群、问答、打卡等,增强用户与平台之间的黏性…

    人工智能 2023年5月25日
    0131
  • 【深度学习】(三)图像分类

    ; 图像分类🍉 文章目录 * – 图像分类🍉* 前言🎠* 一、ILSVRC竞赛* 二、卷积神经网络(CNN)发展* – 1.网络进化 – 2.A…

    人工智能 2023年5月26日
    0126
  • softmax回归与交叉熵损失

    前言 回归与分类是机器学习中的两个主要问题,二者有着紧密的联系,但又有所不同。在一个预测任务中,回归问题解决的是多少的问题,如房价预测问题,而分类问题用来解决是什么的问题,如猫狗分…

    人工智能 2023年6月18日
    0104
  • 用python实现主成分分析(PCA)

    用python实现主成分分析(PCA) python应用实例:如何用python实现主成分分析 * 背景 iris数据集简介 算法的主要步骤 代码实现 查看各特征值的贡献率 pyt…

    人工智能 2023年6月15日
    085
  • Ros知识【09】:功能包介绍

    目录 前言: 一、ubuntu下安装好ros后 二、功能包 三、 元功能包 四、功能包对应的OS指令 前言: 一个功能包内部,包含若干个节点;每个功能包对外使用:topic、ser…

    人工智能 2023年6月2日
    098
  • 医疗图像配准-点云配准总结

    近期主要在做一个关于将三维CT影像和点云数据做配准的项目,通过前期调研,业内主要的方法是将CT影像使用 MarchingCubes(移动立方体)生成等值面三角网格,然后再使用点云配…

    人工智能 2023年6月20日
    0124
  • Yolo v5 训练自己的数据集

    Yolo v5 训练自己的数据集 前言 感谢各位大佬尤其是,博主:深度学习菜鸟,参考原文链接https://blog.csdn.net/qq_36756866/article/de…

    人工智能 2023年7月12日
    0115
  • (超详细)语音信号处理之特征提取

    语音信号处理之特征提取 语音信号处理之特征提取要对语音信号进行分析,首先要分析并提取出可表示该语音本质的特征参数。有了特征参数才能利用这些特征参数进行有效的处理。 根据提取参数的方…

    人工智能 2023年7月29日
    081
  • 关于AI视觉——目标检测与物体分类(基于FZ5C)

    首先引入一个概念: 边缘计算:是指 在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。边缘计算处于物理实体和工业连接之间,或处于物理…

    人工智能 2023年7月12日
    068
  • 机器学习应用篇(七)——基于LightGBM的分类预测

    机器学习应用篇(七)——基于LightGBM的分类预测 文章目录 机器学习应用篇(七)——基于LightGBM的分类预测 * 一、Introduction – + 1 …

    人工智能 2023年6月15日
    086
  • matlab 回归

    我发现这两天写题目,回归真的是个万能方法,但是我只会最简单的线性回归,为此特地记录一下以下几种方法: 1):regress 简单线性回归,可以是一元,也可以是多元,具体用法可以看这…

    人工智能 2023年6月18日
    086
  • PyTorch与TensorFlow相比有哪些优势

    PyTorch相对于TensorFlow的优势 PyTorch和TensorFlow都是当前流行的深度学习框架,但PyTorch具有一些相对于TensorFlow的优势。本文将以对…

    人工智能 2024年1月3日
    068
  • 本地搭建自己的电影网站,并发布公网访问 1-3

    系列文章 大家在休闲之时,总会找几步自己喜欢的电影观看,用以放松心情,在网上搜索一下,总会出现各式各样不同风格的电影网站,让我们难以选择。还不如搭建自己的电影网站,不必反复满网寻找…

    人工智能 2023年6月30日
    083
  • 【机器学习算法】线性回归算法

    文章目录 一、线性回归 * 1. 回归问题 – – 回归和分类 2. 预测未来 – – 机器学习实现预测的流程 3. 线性方程 &#…

    人工智能 2023年6月15日
    086
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球