目录
- 0 相关资料
- SCB-Dataset3-S 数据
- 训练yaml文件
- YOLOv8 训练SCB-Dataset3-S
- 相关参数
0 相关资料
YOLOV8环境安装教程.:https://www.bilibili.com/video/BV1dG4y1c7dH/
YOLOV8保姆级教学视频:https://www.bilibili.com/video/BV1qd4y1L7aX/
b站视频:[https://www.bilibili.com/video/BV12p4y1c7UY/]
PyTorch / 2.0.0 / 3.8(ubuntu20.04) / 11.8
SCB-Dataset3-S 数据
这里使用YOLOv8 训练自定义数据集(SCB-Dataset3)
备注:关于SCB-Dataset3我会公开在github中:
https://github.com/Whiffe/SCB-dataset
在平台中上传数据,通过阿里云盘的方式上传
unzip 5k_HRW_yolo_Dataset.zip
unzip 0.355k_university_yolo_Dataset.zip
unzip 0.71k_university_yolo_Dataset.zip
训练yaml文件
将下面的文件放到:ultralytics/ultralytics/datasets/
5k_HRW_yolo_Dataset.yaml
train: /root/autodl-tmp/5k_HRW_yolo_Dataset/images/train
val: /root/autodl-tmp/5k_HRW_yolo_Dataset/images/val
# number of classes
nc: 3
# class names
names: [ 'hand-raising','reading','writing']
YOLOv8 训练SCB-Dataset3-S
model=yolov8x.yaml
yolo task=detect mode=train model=yolov8n.pt data="./ultralytics/datasets/5k_HRW_yolo_Dataset.yaml" batch=8
相关参数
下面内容来自:YOLOV8最强操作教程.
https://blog.csdn.net/qq_37706472/article/details/128679699
model
pt模型路径或者yaml模型配置文件路径。这次的v8稍有不同,这个model参数可以是pt也可以是yaml。
pt
相当于使用预训练权重进行训练,比如选择为yolov8n.pt,就是训练一个yolov8n模型,并且训练前导入这个pt的权重。
yaml
相当于直接初始化一个模型进行训练,比如选择为yolov8n.yaml,就是训练一个yolov8n模型,权重是随机初始化。
data
数据配置文件的路径,也就是第三点中的data.yaml。
epochs
训练次数。
patience
在精度持续一定epochs没有提升时,过早停止训练。也就是早停机制。
batch
batch size大小。
imgsz
输入图像大小。
save
是否保存模型。
cache
是否采用ram进行数据载入,设置True会加快训练速度,但是这个参数非常吃内存,一般服务器才会设置。
device
所选择的设备训练。
workers
载入数据的线程数。windows一般为4,服务器可以大点,windows上这个参数可能会导致线程报错,发现有关线程报错,可以尝试减少这个参数,这个参数默认为8,大部分都是需要减少的。
project
project name.一个保存文件夹的名字,一般不用改动。
name
训练保存的文件夹名字。
exist_ok
是否覆盖现有的保存文件夹。
pretrained
是否使用预训练模型,这个参数我并没有使用,因为在model参数中我直接设置pt模型路径。
optimizer
优化器选择。直接SGD、Adam、AdamW、RMSProp。
verbose
是否打印详细输出。
seed
随机种子。
deterministic
设置为True,保证实验的可复现性。
single_cls
如果你的数据集是多类别,这个参数设置为True的话,其会当做一个类别来进行训练,相当于只负责识别目标,不负责识别类别。
image_weights
使用加权图像选择进行训练。
rect
是否采用矩形训练。这个参数不好解释,想了解的同学可以自行百度。
cos_lr
是否采用cor lr调度器。
close_mosaic
默认值为10,意思就是在最后10个epochs关闭马赛克数据增强,其思想来源于YOLOX。
resume
是否继续上一次没完成的训练。