• 利用PaddleDetection 训练自定义COCO数据集进行目标检测


    1.环境配置

    操作系统 Windows
    python 3.8
    paddlepaddle-gpu 2.3.0
    CUDA 10.2
    cuDNN 7.6.5
    ppdet 2.2.4

    2.项目结构

    3.准备数据集

    1、下载源码后,打开项目,在PaddleDetection/dataset目录下找到coco文件夹

    2、在PaddleDetection/dataset/coco目录下新建文件夹JPEGImages 

     3、将所有所有标注的XML文件转化为 json 格式放到 dataset/coco目录下 

     4.修改指定配置文件

    本项目中,使用 YOLOX 模型里的 configs/yolox/yolox_m_300e_coco.yml 训练
    从上图看到 yolox_m_300e_coco.yml 配置需要依赖其他的配置文件。该例子依赖:

    在修改文件之前,先给大家解释一下各依赖文件的作用:
    ————————————————

     

    ①‘ …/datasets/cocodetection.yml’主要说明了训练数据和验证数据的路径,包括数据格式(coco、voc等)
    ②‘…/runtime.yml’,主要说明了公共的运行状态,比如说是否使用GPU、迭代轮数等等
    ③‘_base/optimizer_300e.yml’,主要说明了学习率和优化器的配置,以及设置epochs。在其他的训练的配置中,学习率和优化器是放在了一个新的配置文件中。

    ④‘_base/yolox_cspdarknet.yml’,主要说明模型、和主干网络的情况说明.。。。
    ⑤‘_base/yolox_reader.yml’, 主要说明了读取后的预处理操作,比如resize、数据增强等等。

    请保证PaddleDetection环境配置好之后按照如下图示修改即可:

    cocodetection.yml

     runtime.yml

     optimizer_300e.yml 和 yolov3_cspdarknet.yml 无需进行修改,默认即可!

    yolox_reader.yml

    4.开始训练

    PaddleDetection提供了单卡/多卡训练模式,满足用户多种训练需求

    (1)单卡训练

    1. export CUDA_VISIBLE_DEVICES=0 #windows和Mac下不需要执行该命令
    2. python tools/train.py -c configs/yolox/yolox_m_300e_coco.yml
    3. python tools/train.py -c configs/yolox/yolox_m_300e_coco.yml --eval

    首先指定CUDA的环境变量
    其中 -c 后边代表指定配置文件的路径 

    (2)多卡训练

    1. export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 #windows和Mac下不需要执行该命令
    2. python -m paddle.distributed.launch --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/yolox/yolox_m_300e_coco.yml

    (3)训练过程图示



    Questions:配置源码训练时实际遇到的一些问题

    1.报错:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x98 in position 1093: illegal multibyte sequence

    解决:编码格式问题,需要额外配置编码相关环境变量。

     

     最后一步:重启电脑!(不重启不会生效)!

    2.注意coco数据集的cocodetection.yml中相关路径配置。

  • 相关阅读:
    java 版spring cloud 企业电子招标采购系统
    一文总览 Alameda Research 的投资版图:公链、DeFi、NFT 等多领域四面出击
    SpringCloud 客户端负载均衡:Ribbon
    编码格式转换方法
    一道 python 数据分析的题目
    解决webpack报错:You forgot to add ‘mini-css-extract-plugin‘ plugin
    异行星依赖管理系统显示面板与数据过滤设置
    Win11+VS2022配置编译VTK9.1
    【OpenCV 例程 300篇】246. 特征检测之ORB算法
    KeyBERT和labse提取字符串中的关键词
  • 原文地址:https://blog.csdn.net/weixin_50016546/article/details/126491193