• 笔记--使用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 路径内。

  • 相关阅读:
    欧姆龙PLC出现故障怎么进行远程维护?怎么进行保养?
    复习 tomcat
    IPQ6010-Fast, reliable and secure wireless connectivity
    小立活动-小程序
    【区块链实战】Solidity 智能合约如何给账户充值
    spring框架漏洞整理(Springboot漏洞)
    R-install_miniconda()卸载 | conda命令行报错及解决方法
    FreeRTOS入门教程(事件组概念和函数使用)
    dpdk 网卡初始化 —— 收包
    给你一颗“定心丸”——记一次由线上事故引发的Log4j2日志异步打印优化分析
  • 原文地址:https://blog.csdn.net/weixin_43863869/article/details/125534495