码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 笔记--使用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 路径内。

  • 相关阅读:
    Centos SFTP搭建
    java毕业设计菜篮子系统mybatis+源码+调试部署+系统+数据库+lw
    学习中涌现的面试问题
    企业申请CMMI认证选择武汉好地科技的优势
    2023年中国商用服务机器人行业发展概况分析:国产机器人厂商向海外进军[图]
    机器学习文献|基于循环细胞因子特征,通过机器学习算法预测NSCLC免疫治疗结局
    LeetCode770之基本计算器IV(相关话题:波兰表达式,多项式运算)
    mac如何卸载应用并删除文件,2023年最新妙招大公开!
    linux中各种最新网卡2.5G网卡驱动,不同型号的网卡需要不同的驱动,整合各种网卡驱动,包括有线网卡、无线网卡、Wi-Fi热点
    SA+ST表维护height+单调队列维护:CF1073G
  • 原文地址:https://blog.csdn.net/weixin_43863869/article/details/125534495
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号