位置: 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)

  • word文档底色怎么改成白色(word文档底色怎么变成白色)

    word文档底色怎么改成白色(word文档底色怎么变成白色)

  • 微信如何完善个人信息(微信如何完善个人支付信息)

    微信如何完善个人信息(微信如何完善个人支付信息)

  • 微信通过手机号转账方法是什么(微信通过手机号转账怎么转)

    微信通过手机号转账方法是什么(微信通过手机号转账怎么转)

  • 微信操作太频繁请稍后再试如何解决(微信操作太频繁多久能恢复)

    微信操作太频繁请稍后再试如何解决(微信操作太频繁多久能恢复)

  • 怎么让微信消息不振动(怎么让微信消息在锁屏显示内容)

    怎么让微信消息不振动(怎么让微信消息在锁屏显示内容)

  • 抖音互相关注一方取消后(抖音互相关注一定会被刷到吗)

    抖音互相关注一方取消后(抖音互相关注一定会被刷到吗)

  • 为什么airpods声音变小了(为什么airpods声音突然变小了)

    为什么airpods声音变小了(为什么airpods声音突然变小了)

  • vivo手机上的hd怎么关闭(vivo手机上的hd怎么去掉)

    vivo手机上的hd怎么关闭(vivo手机上的hd怎么去掉)

  • 华为nova7se有红外线吗(华为nova7pro红色)

    华为nova7se有红外线吗(华为nova7pro红色)

  • 账号异常一般多久恢复(帐号异常)

    账号异常一般多久恢复(帐号异常)

  • 苹果录屏存在什么位置(苹果录屏存在什么文件)

    苹果录屏存在什么位置(苹果录屏存在什么文件)

  • 华为手机换屏为什么电池也换(华为手机换屏为什么还要换电池)

    华为手机换屏为什么电池也换(华为手机换屏为什么还要换电池)

  • 要看网址怎么打开(想看网址怎么办)

    要看网址怎么打开(想看网址怎么办)

  • 小米8怎么设置双声道(小米8怎么设置屏幕)

    小米8怎么设置双声道(小米8怎么设置屏幕)

  • 淘宝买家确认收货后卖家多久收到钱(淘宝买家确认收货后钱是到哪里)

    淘宝买家确认收货后卖家多久收到钱(淘宝买家确认收货后钱是到哪里)

  • 手机关屏时屏幕闪一下(手机关屏屏幕出现精选推荐图片怎样去掉)

    手机关屏时屏幕闪一下(手机关屏屏幕出现精选推荐图片怎样去掉)

  • 荣耀v30防水等级(荣耀v30的防水等级)

    荣耀v30防水等级(荣耀v30的防水等级)

  • 怎么把hd关掉(hd是什么意思,怎么关闭)

    怎么把hd关掉(hd是什么意思,怎么关闭)

  • 魅族如何取消隐私模式(魅族怎么关闭隐藏应用)

    魅族如何取消隐私模式(魅族怎么关闭隐藏应用)

  • 电脑扫描文件在哪里找(电脑扫描文件在哪里找到)

    电脑扫描文件在哪里找(电脑扫描文件在哪里找到)

  • 抖音上发的视频咋删(抖音上发的视频删除了怎么找回)

    抖音上发的视频咋删(抖音上发的视频删除了怎么找回)

  • word密封线怎么删除(word密封线怎么复制)

    word密封线怎么删除(word密封线怎么复制)

  • word文档窗口无法缩小(word的文档窗口)

    word文档窗口无法缩小(word的文档窗口)

  • 三星如何开应用分身(三星怎么弄应用锁)

    三星如何开应用分身(三星怎么弄应用锁)

  • 华为mate30跟pro区别(华为mate30跟pro有什么区别)

    华为mate30跟pro区别(华为mate30跟pro有什么区别)

  • 抖音移除粉丝对方会知道吗(抖音移除粉丝对方关注列表还有我吗)

    抖音移除粉丝对方会知道吗(抖音移除粉丝对方关注列表还有我吗)

  • win10更新好慢怎么跳过(win10更新 很慢)

    win10更新好慢怎么跳过(win10更新 很慢)

  • 苹果在哪更新系统(iphone 在哪里更新)

    苹果在哪更新系统(iphone 在哪里更新)

  • 小米8和小米8se拍照性能一样吗(小米8和小米8se图片对比)

    小米8和小米8se拍照性能一样吗(小米8和小米8se图片对比)

  • 华为honor9是什么型号(honor9是什么型号)

    华为honor9是什么型号(honor9是什么型号)

  • 如何在 Linux 上下载和安装Steam(linux怎么操作)

    如何在 Linux 上下载和安装Steam(linux怎么操作)

  • 税金及附加怎么来的
  • 统一社会信用代码查询企业名称
  • 企业所得税的计算公式
  • 资产总额增长幅度怎么算
  • 公司购买新车购置税是否可以抵扣呢
  • 油票发票怎么查真伪
  • 进项票和销项票是什么意思
  • 小规模公司企业所得税交多少
  • 预计销售收入增长是什么意思
  • 增值税加计抵减最新政策2022
  • 软件企业两免三减半备案条件
  • 加计抵扣进项税进营业外收入
  • 公司名称变更发票还能认证吗
  • 企业资产减值准备
  • 保险赔款个人所得税计算
  • 社保利息是什么意思
  • 缴纳增值税金税率是多少
  • 上年度的印花税怎么计算
  • 员工扣款个税如何做账
  • 城市创建税务人在行动
  • 增值税和消费税常用的公式
  • 贷款已支付属于什么会计科目
  • 个人利息收入交不交增值税
  • 基金公司收到投资者的投资款
  • 免税的发票可以用来抵税吗
  • 收到免税苗木发票怎么做账
  • 金税盘抄税报税清卡流程图
  • 受托加工金银首饰是否代征消费税
  • 个人股票期权收益所得税怎么缴纳?
  • 个人出租车辆给公司个人所得税
  • 企业在运行过程中会遇到哪些法律问题
  • 广告联系电话
  • 销售货物支付运杂费要交增值税吗
  • thinkphp 5.0.24 rce
  • tensorflow1 教程
  • 七个超级实用的手机
  • 资金集中度指标公式
  • html span标签作用
  • 怎样安装∪sb
  • javascript基础类型
  • 建筑业成本核算流程
  • java代理类是什么
  • 旅行发票可以做账吗
  • 母公司和子公司可以一起投标吗
  • 公司对自己内部的要求
  • 咨询公司小规模纳税人企业所得税核定征收
  • 不是公司员工可以报销费用吗
  • 毛利率代表什么?如何计算毛利率?
  • 研发支出的费用化支出计入
  • 开公司的车出差违章算谁的
  • 生产企业支付的房租怎么入账
  • 公允价值变动损益和投资收益区别
  • 企业正常经营的条件
  • 为什么生产经营许可证要第三方代办
  • 软件测试收费标准2019
  • 税控盘反写怎么操作流程
  • 企业发生亏损时,下列各项,( )是弥补亏损的渠道
  • windowsserver2008r2standard激活
  • ubuntu gz
  • win1 开机启动
  • window10声音自动减小
  • ghost过的硬盘能恢复吗
  • 你不知道的关于现代主义的故事
  • win7电脑dpi怎么设置800
  • win7系统如何修复引导
  • win10恢复以前系统
  • linux计划任务执行脚本
  • linux小技巧
  • unity加载gif
  • javascript date函数
  • jquery异常捕获
  • 欢迎使用微信支付
  • js中的?
  • linux释放cache
  • php实现登录功能
  • 安卓底层重写
  • java script教程
  • 什么叫开源库
  • javascript身份证号验证
  • 辽宁地方税务局网上申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设