模型训练推理环境搭建参考我的另一篇文章(https://blog.csdn.net/qq_47540436/article/details/137524454)
一. 下载源码
https://github.com/ultralytics/assets
Pycharm打开下载的源码,进入虚拟环境安装模型训练所需的包
pip install ultralytics
二、预训练权重下载
-
源码下载界面中的readme文件中往下翻,找到yolov8n的预训练权重,点击下载
-
验证环境配置是否成功,复制下面的代码来验证一下是否可以运行
yolo predict model=yolov8n.pt source=‘ultralytics/assets/bus.jpg’
三、yaml文件
修改VOC.yaml、yolov8.yaml(ultralytics-main/ultralytics/cfg)参数参考https://blog.csdn.net/qq_47540436/article/details/137524454
四、修改配置文件
设置好需要训练的数据集路径、所使用的具体yolo模型要加载的预训练权重文件,并且设置所需的epoch数量。
设置参数路径D:\ultralytics-main\ultralytics\cfg\default.yaml
data = datasets/glass.yaml
model = yolov8n.yaml
pretrained = ultralytics/yolov8n.pt
epoch = 100
🚨 注:不设置参数就按照下面第5点训练
五、模型训练/验证/预测/导出
1.模型训练
1.1在terminal中输入下面的命令 ;
服务器运行
yolo detect train data=/home/ultralytics-main/ultralytics/cfg/datasets/VOC.yaml model=yolov8n.yaml epochs=500 batch=16
本地端运行
yolo detect train data=D:/ultralytics-main/ultralytics/cfg/datasets/VOC.yaml model=v8/yolov8n.yaml epochs=500 batch=16
.pt类型的文件是从预训练模型的基础上进行训练。若我们选择 yolov8n.pt这种.pt类型的文件,其实里面是包含了模型的结构和训练好的参数的。
.yaml文件是从零开始训练。采用yolov8n.yaml这种.yaml文件的形式,在文件中指定类别,以及一些别的参数。
🚨注:VOC.yaml 用绝对路径
screen挂起运行
/home/.conda/envs/bin/python/ultralytics-other/train.py
1.2新建run.py,使用run.py运行
from ultralytics import YOLO
if \_\_name\_\_ == '\_\_main\_\_':
# 加载一个模型
model = YOLO('yolov8n.yaml') # 从YAML建立一个新模型
# 训练模型
results = model.train(
data='D:/ultralytics-main/ultralytics/cfg/datasets/VOC.yaml',
device='0',
epochs=10,
batch=8,
imgsz=640)
运行run.py,如图所示模型开始训练
使用预训练权重,训练时会显示如下语句Transferred…
如图所示,训练结束结果保存至指定文件夹
2.模型验证
输入下面的命令进行模型的验证,这里的models为训练的最好的那一组权重;
yolo detect val data=datasets/glass.yaml model=runs/detect/train/weights/best.pt batch=4
3.模型预测
输入下面的命令预测如下source文件下的图片
yolo predict model=/home/ultralytics-main/ultralytics/runs/detect/train/weights/best.pt source=/home/ultralytics-main/source
4.模型导出
使用如下命令,即可完成训练模型的导出。
yolo export model=ultralytics/runs/detect/train/weights/best.pt format=onnx