位置: IT常识 - 正文

YOLOV8——快速训练指南(上手教程、自定义数据训练)(yolov3训练自己的数据超详细)

编辑:rootadmin
YOLOV8——快速训练指南(上手教程、自定义数据训练) 概述    

推荐整理分享YOLOV8——快速训练指南(上手教程、自定义数据训练)(yolov3训练自己的数据超详细),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:yolov2训练,yolov1训练过程,yolov3训练自己的数据超详细,yolov3训练自己的数据超详细,yolov5训练命令,yolov3训练自己的数据超详细,yolov训练,yolov3训练速度,内容如对您有帮助,希望把文章链接给更多的朋友!

    本篇主要用于说明如何使用自己的训练数据,快速在YOLOV8 框架上进行训练。当前(20230116)官方文档和网上的资源主要都是在开源的数据集上进行测试,对于算法“小白”或者“老鸟”如何快速应用到自己的项目中,这个单纯看官方文档显得有点凌乱,因为YOLOV8 不再致力于做一个单纯算法,而是想要做一个一统(分类、检测、分割且多种模型)的框架。下面以检测为例。

    安装,官方提供了完整的安装方式:Quickstart - Ultralytics YOLOv8 Docs 如果希望不安装直接使用,参考本文第七节。 

详细1、标注

        准备自己的数据,数据的标注格式和YOLOV5没有分别,一般工业还是需要使用如labelme等标注,格式为coco格式(class_id x y w x)xywx均需要归一化,类别号从0开始,一个框一行。

2、目录的组织形式:

        低阶使用, 可无痛迁移YOLO6 YOLOv7

        以“images” 命名图片路径,标签路径仅仅是将“images” 变为“labels”;代码自动对应images和labels,所以一张图片的标签需要和图片同名(如果没有对应的label 就是认为是背景图,没有目标)。

        高阶使用, YOLOV6 YOLOv7 当前某些方式不支持。

        20230116 主要的源码路径为:https://github.com/ultralytics/ultralytics/blob/main/ultralytics/yolo/data/dataloaders/v5loader.py

函数“LoadImages”用于推理,函数“LoadImagesAndLabels” 用于训练,但是并没有统一支持的数据目录存放格式。

        1)使用文件夹(列表)文件夹存储所有的训练图片(由于磁盘文件系统,单个文件夹文件过多影响吞吐速度)。

单个文件夹对应配置文件的写法

path: ../datasets/VOCtrain: # train images (relative to 'path')  - images/train2007val: # val images (relative to 'path')  - images/test2007test: # test images (optional)  - images/test2007

多个文件夹对应配置文件的写法

path: ../datasets/VOCtrain: # train images (relative to 'path')  - images/train2012  - images/train2007val: # val images (relative to 'path')  - images/test2007test: # test images (optional)  - images/test2007

2)使用文本文件(列表)存储图片

单个文本文件对应配置文件的写法

path: ../datasets/VOCtrain: # train images (relative to 'path')  - train2017.txtval: # val images (relative to 'path')  - val2017.txttest: # test images (optional)  - test-dev2017.txt

多个文本文件对应配置文件的写法(目前20230116仅detect 推理支持,训练不支持,需要修改源码)

path: ../datasets/VOCtrain: # train images (relative to 'path')  - train2017.txt  - train2012.txtval: # val images (relative to 'path')  - val2017.txttest: # test images (optional)  - test-dev2017.txt

参考源代码:

1)函数“LoadImages”用于推理

注意:

*可以为多个文件夹路径,为相对路径

*文件名列表文本文件只支持一个文本文件,路径为绝对路径

*可以同时存在一个文本文件+若干目录

2)函数“LoadImages”用于训练和评测

注意:

*可以为多个文件夹路径,为相对路径

*可以为多个文件名列表文本文件,路径为:绝对路径,或者相对路径但是是相对文本文件的路径!

*可以同时存在若干文本文件+若干目录

YOLOV8——快速训练指南(上手教程、自定义数据训练)(yolov3训练自己的数据超详细)

3、编写data yaml 文件

可以参考:https://github.com/ultralytics/ultralytics/blob/main/ultralytics/yolo/data/datasets/coco128.yaml

4、编写模型yaml 文件 或者用预训练模型

    这里的yaml 文件其实就是利用现有的模型组件重新搭建一个新的网络,可以参照如下,或者简单就用预训练的模型(只需要改为yolov8n.pt)。官方配置文件:ultralytics/yolov8n.yaml at main · ultralytics/ultralytics · GitHub

5、编写训练参数文件(可选、高阶)

    官方终于把所有的配置项目全部解耦到配置文件,不再像YOLOV5一样,一部分在配置文件,一部分在train.py 的启动参数中。主要修改如下三个大的代码段。其中有个需要注意的代码段就是“close_mosaic”这个参数,关于这个的讨论见我的另一个文章:yolov5 mosaic相关,目前要实现一个改进的mosaic,预计后续后评测效果后会考虑开源。官方配置文件:https://github.com/ultralytics/ultralytics/blob/main/ultralytics/yolo/configs/default.yaml。

    Note:

    *如果你用的Python 接口,那么目前20230116官方无法直接传参进去修改这个配置文件或者引用新的配置文件,是写死的(下面第一张图)。https://github.com/ultralytics/ultralytics/blob/4962733b49d45e1ae6e7b3ca367e9af9756758bc/ultralytics/yolo/utils/__init__.py

    *如果是cli接口,那么可以复写这个配置文件,下面第二、三张图。https://github.com/ultralytics/ultralytics/blob/c42e44a0211881b661b47050ac2727658078497d/docs/cli.md

    *当然常用的修改参数也是可以传参修改的,见:Configuration - Ultralytics YOLOv8 Docs,下面第四、五张图。 Detection - Ultralytics YOLOv8 Docs。

    *个人还是建议通过配置文件的方式管理训练过程,这样可以快速的追溯每一个实验。 完整的命令就是:

 yolo task=init  # 可选,复制一份默认配置到当前目录供修改。

 yolo  data=coco128.yaml model=yolov8n.pt  cfg=exp1.yaml #一旦用了cfg参数 命令行的task=detect、 mode=train 当前版本不再生效

6、训练脚本

7、高阶使用

        如果你想改源码,或者不希望通过pip 的方式,污染环境,还是希望安装源码,然后python xxxx.py 运行。那么需要:

1)git clone 源码

2)新建(复制)一个自己的调用脚本。

源码链接:https://github.com/ultralytics/ultralytics/blob/main/ultralytics/yolo/cli.py。复制到根目录 。

3)根目录正常调用 python cli.py cfg=/home/xxx/…/exp1.yaml 这个yaml 就是https://github.com/ultralytics/ultralytics/blob/main/ultralytics/yolo/configs/default.yaml。

原理:

        其实官方也是通过这两个文件完成的打包和调用,主要就是这句话:

1)https://github.com/ultralytics/ultralytics/blob/main/setup.py

2)https://github.com/ultralytics/ultralytics/blob/main/ultralytics/yolo/cli.py

 

打赏

        你的打赏是我不断分享的动力,羞羞。点这里,嘿嘿。

本文链接地址:https://www.jiuchutong.com/zhishi/290861.html 转载请保留说明!

上一篇:法国西南部阿卡雄湾的皮拉沙丘 (© aluxum/iStock/Getty Images Plus)(法国西南部城市)

下一篇:IDEA使用vue的安装与配置(详细教程)(idea安装vue.js)

  • iphonexr home键怎么调出来(苹果xr调出home键)

    iphonexr home键怎么调出来(苹果xr调出home键)

  • 搜狗输入法老是切换成英文怎么办(搜狗输入法老是提示允许粘贴怎么办)

    搜狗输入法老是切换成英文怎么办(搜狗输入法老是提示允许粘贴怎么办)

  • 微信在哪里查看打标(微信在哪里查看黑名单)

    微信在哪里查看打标(微信在哪里查看黑名单)

  • qq黑脸表情什么意思(qq的黑脸表情)

    qq黑脸表情什么意思(qq的黑脸表情)

  • 12306购票记录保存多久(12306历史订单保存多久)

    12306购票记录保存多久(12306历史订单保存多久)

  • 华为mate30手机充电发热正常吗(华为mate30手机充电器型号)

    华为mate30手机充电发热正常吗(华为mate30手机充电器型号)

  • nova7支持无线充电器吗(opporeno9可以无线充电吗)

    nova7支持无线充电器吗(opporeno9可以无线充电吗)

  • qq之父是谁(qq是谁创始的)

    qq之父是谁(qq是谁创始的)

  • 移动定制版手机能改全网通吗(移动定制版手机和全网通的区别)

    移动定制版手机能改全网通吗(移动定制版手机和全网通的区别)

  • 电脑开机自动重启(电脑开机自动重装系统)

    电脑开机自动重启(电脑开机自动重装系统)

  • 苹果手机充电有麻的感觉正常吗(苹果手机充电有液体怎么回事)

    苹果手机充电有麻的感觉正常吗(苹果手机充电有液体怎么回事)

  • 无线蓝牙耳机怎么关机(无线蓝牙耳机怎么用)

    无线蓝牙耳机怎么关机(无线蓝牙耳机怎么用)

  • 快手看直播怎么清屏不看评论(快手看直播怎么没有弹幕)

    快手看直播怎么清屏不看评论(快手看直播怎么没有弹幕)

  • 五g卡4g手机能用吗(五g手机4g卡可以用5g网络吗)

    五g卡4g手机能用吗(五g手机4g卡可以用5g网络吗)

  • 苹果11怎么删除联系人(苹果11怎么删除壁纸)

    苹果11怎么删除联系人(苹果11怎么删除壁纸)

  • 为什么抖音充值显示系统繁忙(为什么抖音充值不了)

    为什么抖音充值显示系统繁忙(为什么抖音充值不了)

  • 华为内屏坏了保修吗(华为内屏碎了保修吗)

    华为内屏坏了保修吗(华为内屏碎了保修吗)

  • 华为jkm一tl00是什么型号(华为jkm一tl00型号价格)

    华为jkm一tl00是什么型号(华为jkm一tl00型号价格)

  • 荣耀9x可以分屏吗(荣耀9x分屏变成了浮窗)

    荣耀9x可以分屏吗(荣耀9x分屏变成了浮窗)

  • 苹果xsmax发热怎么解决(苹果手机xsmax发热厉害)

    苹果xsmax发热怎么解决(苹果手机xsmax发热厉害)

  • 青轴声音大吗(青轴声音大吗还是红轴)

    青轴声音大吗(青轴声音大吗还是红轴)

  • 华为有没有测量距离(华为有没有测量血压的手表)

    华为有没有测量距离(华为有没有测量血压的手表)

  • 陌陌探探滑滑的区别(探探陌陌是干嘛的)

    陌陌探探滑滑的区别(探探陌陌是干嘛的)

  • 怎么一键恢复qq好友(怎么一键恢复消失的微信群)

    怎么一键恢复qq好友(怎么一键恢复消失的微信群)

  • 系统限制无法忘记网络(系统限制无法安装什么原因)

    系统限制无法忘记网络(系统限制无法安装什么原因)

  • 华为mate x3最新消息(华为mate x3最新价格)

    华为mate x3最新消息(华为mate x3最新价格)

  • Linux环境下VI/VIM编辑文件时无权限保存的解决方法(普通用户)(linux vim)

    Linux环境下VI/VIM编辑文件时无权限保存的解决方法(普通用户)(linux vim)

  • 应交税费是什么科目
  • 养殖合作社属于什么行业
  • 为什么开发成本资本化
  • 资金占用费税前扣除比例
  • 年数总和法怎么做
  • 会计为什么要计折旧费
  • 住宿税率是多少 5%
  • 去税务局申报需要带营业执照吗
  • 房地产开发企业土地增值税清算
  • 工业企业如何进行设备的选购管理
  • 收到固定资产抵账增值税计税基础
  • 收到捐赠物资会计处理
  • 发票抵扣联认证抵扣分录
  • 现金比率计算公式含义
  • 无形资产原值变动账务处理
  • 前期工程费如何分摊
  • 关于城建税教育费附加地方教育附加的计算
  • 水利建设专项收入怎么计算
  • 以前年度已经缴纳的税
  • 预付账款讲解
  • 外企企业所得税怎么计算
  • 递延所得税资产借贷方向
  • 没进项发票要交多少税
  • 小规模减半征收什么时候开始
  • 路由器ip分配数量
  • 收到现金支票如何进账
  • 备注栏需要写内容嘛
  • 成本转入费用
  • php验证码代码怎么写
  • window10下载cad2014
  • php常用的设计模式在开发中的实例
  • php数据库语句
  • 企业合并分立
  • 全资子公司取得注册证可以免临床
  • 白酒赠送消费税计算
  • Yii2 rbac权限控制之rule教程详解
  • spring的文章
  • 以前年度支出如何计算
  • 息税前利润为什么不减利息
  • 个税更正申报后可以撤销吗
  • 收到的销项负数发票如何申报
  • 会员退费会计分录
  • 附加税费用
  • 小规模纳税人纳多少税
  • 企业所得税上个季度没报
  • 小企业在购买商品过程中发生的费用
  • 信用减值损失是什么项目
  • 车辆购置税 购置
  • 固定资产为什么要交税
  • 以前年度损益调整结转到哪里
  • 怎么做掉公司账面库存100万
  • 注销时其他应付款借方余额怎么账务处理
  • 社保小微企业优惠政策
  • 公司购买防疫物资的申请
  • 企业生育津贴发放细则
  • 支票丢失需要登报吗
  • 工业用地使用年限30年与50年有什么区别
  • 短期薪酬主要包括
  • mysql的性能调优
  • mysql mod
  • xp磁盘管理打不开
  • linux清屏幕命令
  • win7看视频黑屏有声音
  • Linux httpd(apache)启动失败 解决办法
  • win10系统电脑无法开机怎么办
  • linux常见服务
  • win7筛选键
  • linux定时任务怎么立刻生效
  • vxlan配置实例详解
  • Node.js中的事件循环是什么意思
  • 批处理文件是可执行文件吗
  • 你miu的
  • Python 装饰器深入理解
  • 批处理for /f
  • shell脚本编程实例
  • 国家税务局查验发票显示网络异常
  • 成都税务二维码扫描
  • 江苏省无锡市国4车辆报废新规定
  • 广州地税网上社保怎么交
  • 税法难吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设