当前位置: 首页 > news >正文

YOLOv8训练自己的目标检测数据集

YOLOv8训练自己的目标检测数据集

目录标题

  • 源码下载
  • 环境配置
  • 安装包
  • 训练自己的数据集
    • 数据集文件格式
    • 数据集文件配置
    • 超参数文件配置
    • 训练数据集
      • 命令行训练
      • 脚本.py文件训练
  • 进行detect
    • 显示detect的效果

源码下载

YOLOv8官方的GitHub代码,同时上面也有基础环境的配置要求以及代码运行的教程。下载后的源码文件名应该是ultralytics-main。

环境配置

这里可参考YOLOv5,YOLO v7的代码环境配置。

安装包

需要额外的安装一些包,因为后面需要用到。

pip install ultralytics

训练自己的数据集

数据集文件格式

  • 数据集文件格式是txt的yolo格式,整体数据集文件格式如下:
    在这里插入图片描述
  • 同时images下的文件格式如下: train(训练集图片),val(测试集图片),test(测试集图片)
    在这里插入图片描述
  • 同时labels下的文件格式如下: train(训练集图片对应的标签),val(测试集图片对应的标签),test(测试集图片对应的标签)
    在这里插入图片描述
  • 整体数据集格式文件如下

├── linhuo
│ ├── images
│ │ ├── train
│ │ ├── val
│ │ ├── test
│ ├── labels
│ │ ├── train
│ │ ├── val
│ │ ├── test

数据集文件配置

数据集文件配置的位置如下:

ultralytics-main/ultralytics/cfg/datasets/

在该文件下创建数据自己数据集文件配置的yaml文件,这是我创建自己数据集配置的yaml文件。同时yaml文件内要说明以下内容:

  • 索引到数据集文件images下的train、val
  • 数据集标注的类别数目
  • 数据集标注的类别名称
  • 如我的数据集只有1类, 标注类别是fire
    在这里插入图片描述

超参数文件配置

超参数文件配置的路径:

ultralytics-main/ultralytics/cfg/default.yaml

具体的超参数说明可以看看网上的教程,这里主要配置model,data,patience。

  • model: 可以配置yolov8n.pt, yolov8n.yaml(这里填写配置yolov8n.pt, yolov8n.yaml的具体路径),如果配置yolov8n.yaml需要将类别数目改为1。
model: './weights/yolov8n.pt'  # (str, optional) path to model file, i.e. yolov8n.pt, yolov8n.yaml
  • data: 这里是填写数据集文件配置的地址。
data: 'ultralytics/cfg/datasets/linhuo.yaml'   # (str, optional) path to data file, i.e. coco128.yaml
  • patience: epochs to wait for no observable improvement for early stopping of training(就是多少次没有训练一个好的结果就会提前停止训练)。

训练数据集

命令行训练

  • task=detect:目标检测
  • mode=train:训练模式
  • model=yolov8n.pt:模型预训练权重的地址,我是默认放到ultralytics-main目录下
yolo task=detect mode=train model=yolov8n.pt data=ultralytics/cfg/datasets/linhuo.yaml batch=16 epochs=500

脚本.py文件训练

  • 新建立一个python脚本文件 mytrain.py
    在这里插入图片描述

代码为:直接运行即可。

from ultralytics import YOLO
# 权重网络模型加载权重模型
model = YOLO('ultralytics/cfg/models/v8/yolov8.yaml').load('./weights/yolov8n.pt')  # build from YAML and transfer weights# Train the model: 数据集配置yaml
results = model.train(data='ultralytics/cfg/datasets/linhuo.yaml', epochs=500, batch=16)

进行detect

  • 新建立一个python脚本文件 mypre.py上面图片有
from ultralytics import YOLO
model = YOLO('runs/detect/train/weights/best.pt')# 检测的图片的路径
source = 'ultralytics/assets/2708.jpg'# 预测结果
results = model.predict(source, save=True)

显示detect的效果

在这里插入图片描述

http://www.lryc.cn/news/240978.html

相关文章:

  • 代码随想录算法训练营第三十二天| 122 买卖股票的最佳时机 || 55 跳跃游戏 45 跳跃游戏 ||
  • 聚类笔记/sklearn笔记:Affinity Propagation亲和力传播
  • Linux常用操作 Vim一般使用 SSH介绍 SSH密钥登录
  • Hadoop技术与应用的习题
  • 4.4 抗锯齿
  • vue-router 路由权限,路由导航守卫
  • 2022最新版-李宏毅机器学习深度学习课程-P49 GPT的野望
  • 应用软件安全编程--28SSL 连接时要进行服务器身份验证
  • 深度学习之七(深度信念网络和受限玻尔兹曼机器)
  • CTF-PWN-QEMU-前置知识
  • iEnglish全国ETP大赛:教育游戏助力英语习得
  • 租车系统开发/多功能租车平台微信小程序源码/汽车租赁系统源码/汽车租赁小程序系统
  • Nevron Vision for .NET 2023.1 Crack
  • 基于Python的新浪微博爬虫程序设计与实现
  • Java架构师发展方向和历程
  • CUDA与GPU编程
  • C# 执行Excel VBA宏工具类
  • acwing算法基础之数学知识--求组合数基础版
  • SpringBoot中的classpath都包含啥
  • 新王加冕,GPT-4V 屠榜视觉问答
  • python之TCP的网络应用程序开发
  • Axios 拦截器 请求拦截器 响应拦截器
  • Mysql Shell笔记
  • Hive日志默认存储在什么位置?
  • Kafka 常用功能总结(不断更新中....)
  • 单链表相关面试题--5.合并有序链表
  • SV-7042VP sip广播4G无线网络号角
  • 基于OpenCV+MediaPipe的手势识别
  • YOLO目标检测——无人机航拍行人检测数据集下载分享【含对应voc、coc和yolo三种格式标签】
  • 数据提取PDF SDK的对比推荐