前言
记录使用YoloV10训练自己制作的数据集
一、下载YOLOV10源码
https://github.com/THU-MIG/yolov10
我们可以从上述网站下载对应的源码。
二、制作数据集
1.数据标注
数据集的是制作与前面的yolov5和yolov8相同,这里不再赘述。制作完成的数据集应该包括数据图像和数据图像的标签(images and labels)
2.建立文件
在刚下载的源码目录下,新建一个data目录,该目录下放入标注好的训练文件和测试文件,我的目录结构如下图。
其中,每个文件下,都包含了images和labels。images下存放是图像,labels下是对应的标注标签。
3.制作yaml文件
在源码ultralytics/cfg/datasets/,目录下新建一个yaml文件。
在新建的yaml文件中输入自己数据集的路径:
里面的names:是自己标注的要识别目标的名称,我这里是标注了一种,所以只写一种。
3.修改预训练yaml文件
YOLOV10提供了N,S,M,B,L,X几种预训练模型供大家选择,作者使用的是N模型,因此在训练时需要先把对应的yolov10.pt文件下载下来。下载路径如下:
https://github.com/THU-MIG/yolov10/releases
下载对应的pt文件后,需要在ultralytics/cfg/models/v10目录下找到对应的yaml文件。作者使用的是yolov10n.pt文件,因此找到yolov10.yaml文件,修改其中的nc,改成自己的检测目标的数量即可。
三、训练
作者使用的py文件训练。在源码目录下新建一个m_train.py文件。在其中输入以下代码。
from ultralytics import YOLOv10
model = YOLOv10()
# If you want to finetune the model with pretrained weights, you could load the
# pretrained weights like below
# model = YOLOv10.from_pretrained('jameslahm/yolov10{n/s/m/b/l/x}')
# or
# wget https://github.com/THU-MIG/yolov10/releases/download/v1.1/yolov10{n/s/m/b/l/x}.pt
# model = YOLOv10('yolov10{n/s/m/b/l/x}.pt')
model_yaml_path="ultralytics/cfg/models/v10/yolov10n.yaml"
data_yaml_path="ultralytics/cfg/datasets/myData.yaml"
pre_model_name='yolov10n.pt'
if __name__=='__main__':
model=YOLOv10(model_yaml_path).load(pre_model_name)
results=model.train(data=data_yaml_path,
epochs=500,
batch=8,
imgsz=640,
device=0,
name='train_v10')
打开pycharm终端,新建一个虚拟环境。安装对应的需求。
conda create -n yolov10 python=3.9
conda activate yolov10
pip install -r requirements.txt
pip install -e .
安装完成之后。运行python m_train.py
即可开始训练。
总结
yolov10训练大体步骤与yolov5和yolov8差不多,不同的就是官方没有提供train.py代码。
训练先到此为止,后续使用训练好的模型在rk3588+qt进行部署测试。再见!!!