当前位置:   article > 正文

【YOLO】YOLOv8训练自定义数据集(4种方式)_yolov8训练自己的数据集

yolov8训练自己的数据集

TensorRT模型部署可查看:Windows 下 YOLOv8 使用 TensorRT 进行模型加速部署

YOLOv8 出来一段时间了,继承了分类、检测、分割,本文主要实现自定义的数据集,使用 YOLOV8 进行检测模型的训练和使用

YOLOv8 此次将所有的配置参数全部解耦到配置文件 default.yaml,不再类似于 YOLOv5,一部分在配置文件,一部分在 train.py

1. 运行环境

windows11 和 Ubuntu20.04(建议使用 Linux 系统)

首先切换到自己建立的虚拟环境安装 pytorch

torch              1.12.0+cu116(根据自身设备而定)
torchvision        0.13.0+cu116(根据自身设备而定)
  • 1
  • 2

安装完成后,使用 git 命令将源码克隆下来

git clone https://github.com/ultralytics/ultralytics.git
  • 1

参照官网,直接使用以下语句即可导入项目所需要的库

pip install ultralytics
  • 1

根据官方的解释,pip 的 ultralytics 库包含了 requirements.txt中的所有库

2. 自定义数据集

我自己准备了一批 熊猫、老虎的图片作为实验数据集,文件夹命名为 data (文件路径:/home/mango/ultralytics/data),对数据集进行划分后的文件夹整体目录结构如下
在这里插入图片描述
images 下包含 train、val 文件夹,这两个文件夹下包含此次需要的 图片信息
labels 下包含 train、val 文件夹,这两个文件夹下包含此次需要的 对应图片的标注信息
test_images 下包含的是提供测试的数据集

ps:数据集形式共有3种,可根据自己实际情况采用

1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
  • 1

3. 模型训练(四种方式)

首先在 data 文件夹下新建一个数据加载配置文件 animal.yaml

train: /home/mango/ultralytics/data//images/train
val: /home/mango/ultralytics/data/images/val
# number of classes
nc: 2
# class names
names: ['panda', 'tiger']
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

接下来就可以准备开始训练了
打开终端,进入虚拟环境,进入yolov8的文件夹,
考虑到命令行模式下下载模型可能有点慢,所以先在官方仓库下载好模型,并放入新建的 weights (文件路径:/home/mango/ultralytics/weights)目录下

YOLOv8模型仓库
在这里插入图片描述

(1) 第一种方式(参数重写)

参数很多,建议查看 官方文档

下面是yolov8官方给定的命令行训练/预测/验证/导出方式:

yolo task=detect    mode=train    model=yolov8n.pt        args...
          classify       predict        yolov8n-cls.yaml  args...
          segment        val            yolov8n-seg.yaml  args...
                         export         yolov8n.pt        format=onnx  args...
  • 1
  • 2
  • 3
  • 4

最后输入以下命令即可开始训练(参数很多可以修改,建议查看 官方文档,或者查看/home/mango/ultralytics/ultralytics/yolo/cfg下的 default.yaml 文件)

yolo task=detect mode=train model=weights/yolov8n.pt data=data/animal.yaml batch=16 epochs=50 imgsz=640 workers=16 device=0
  • 1

在这里插入图片描述
可以看到已经成功开始训练,运行生成的权重、混淆矩阵等信息存在于/home/mango/ultralytics/runs 下面

(2) 第二种方式(重写配置文件)

可以新建一个配置文件,例如:demo.yaml,参数配置内容从 /home/mango/ultralytics/ultralytics/yolo/cfg/default.yaml 复制即可

或者使用命令行

yolo copy-cfg
  • 1

它会自动生成一个 default_copy.yaml (目录地址:/home/mango/ultralytics/default_copy.yaml)

截取的部分参数信息如下:

# Ultralytics YOLO 
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/93779
推荐阅读
相关标签