• 笔记--使用yolov5训练自定的数据集


    目录

    1-- 使用labelimg标注自定数据集

    2-- 数据集路径格式

    3-- 设置配置文件

    4-- 训练

    5-- 检测

    6-- 参考

    7-- 补充问题


    1-- 使用labelimg标注自定数据集

    安装labelimg第三方库

    pip install labelimg -i https://mirror.baidu.com/pypi/simple

    运行labelimg

    labelimg

    Open Dir:需标注的数据集地址 

    Change Save Dir:存放已标注数据集 label 的地址

    Next Image 和 Prev Image 用于切换下一张和上一张图片

    Change save format:注意切换成Yolo的格式

    Create RectBox:使用矩形框标注物体的位置

    2-- 数据集路径格式

    训练集和验证集的路径格式如下:

    1. dataset
    2. ├─ images
    3. │ ├─ test # 存放测试集数据(可无)
    4. │ ├─ train # 存放训练集数据
    5. │ └─ val # 存放验证集数据
    6. └─ labels
    7. ├─ test # 存放测试集标签(可无)
    8. ├─ train # 存放训练集标签
    9. ├─ val # 存放验证集标签

    举例:

    注:存放图片和标签的文件夹需对应相同,如 images 下存放训练集图片  和  labels下 存放训练集标签的文件夹均为train_dataset。(文件夹名可自由定义)

    3-- 设置配置文件

    ①设置数据集的配置文件

    参考Yolov5的coco.yaml配置文件

    举例:

    1. # 设置路径
    2. path: /civi/dd_Detection_6.28/dataset # dataset root dir
    3. train: images/train_dataset # train images dir
    4. val: images/test_dataset # val images dir
    5. test: # optional
    6. # 设置类别Classes
    7. nc: 1 # number of classes
    8. names: ['done'] # class names

    path:数据集的根目录

    train:训练集相对于path的路径

    val:验证集相对于path的路径

    (路径的设置 可参考 第二节数据集路径格式 的举例图)

    nc:类别的个数(这里博主用于识别一个类别,因此设置为1)

    names:类别的名称

    ②设置权重文件配置

    参考Yolov5提供的预训练权重配置文件(这里博主选用的是yolov5s.yaml,使用yolov5s.pt)

    nc改成类别数目即可,这里博主只识别一个类别

    4-- 训练

    运行训练代码:

    1. python train.py \
    2. --data /civi/dd_Detection_6.28/train.yaml \
    3. --cfg /civi/dd_Detection_6.28/yolov5s.yaml \
    4. --weights /civi/dd_Detection_6.28/yolov5s.pt \
    5. --epoch 300 --batch-size 8 --device 0

    --data:数据集配置文件的地址

    --cfg:权重配置文件的地址

    --weights: 预训练权重文件的地址(预训练权重下载地址

    --epoch:训练的次数

    --batch-size:batch大小

    --device:使用cpu或gpu训练

    (使用cpu:--device cpu)(使用gpu:--device 0,1..)

    其它参数可参考train.py的配置参数

    5-- 检测

    1. python detect.py \
    2. --weights /civi/dd_Detection_6.28/test_img/best.pt \
    3. --source /civi/dd_Detection_6.28/test_img/test_ljf/test1.PNG

    6-- 参考

    参考1

    7-- 补充问题

    可能遇到的问题1:url错误(可能原因:博主使用的python3.8版本)

    解决方法:进入报错的代码。添加以下命令:

    1. import ssl
    2. ssl._create_default_https_context = ssl._create_unverified_context

    可能遇到的问题2:字体下载响应过慢

    解决方法:根据打印的内容,手动下载 字体文件 到 规定的路径 内

    举例:训练过程中,博主需下载 Arial.ttf 字体到 /root/.config/Ultralytics 路径内。

  • 相关阅读:
    【教学类-06-06】20230905数字题目随便玩( 加减法、分合、比大小,纸张消耗)
    STM32SDIO外设详解
    【工具门户】Backstage配置使用PostgreSQL(三)
    国泰君安期货:基于分布式架构的智能推送系统,满足单日亿级消息处理量
    (数字图像处理MATLAB+Python)第十二章图像编码-第三、四节:有损编码和JPEG
    Duchefa丨S0188盐酸大观霉素五水合物中英文说明书
    理解李彦宏的“不卷模型,卷应用”理念
    失业登记对养老保险是否有影响
    Oracle Primavera Unifier 23.4 新特征
    奔腾电力面试题
  • 原文地址:https://blog.csdn.net/weixin_43863869/article/details/125534495