使用自定义数据集训练YOLOv8模型(基于AutoDL算力云平台,内附免费的源码、数据集和PYQT-GUI界面)

目 录

前 言

一、AutoDL租算力云服务器

 2.1、创建AutoDL云算力实例

二、数据准备

三、环境准备

四、模型训练

五、PYQT-GUI界面(模型预测)

六、参考资料


前 言

YOLOv8是YOLO的最新版本,由Ultralytics公司开发。它是一种基于锚点的目标检测算法,可以在图像中检测出多个对象并标记它们的位置。与以前的版本相比,YOLOv8具有更高的准确性和更快的速度,同时还支持实例分割任务。

YOLOv8的优势包括:

1. 高速度:YOLOv8是目前最快的目标检测算法之一。
2. 高准确性:YOLOv8在准确性方面也表现出色。
3. 简单易用:YOLOv8易于使用和实现,适用于各种应用场景。

一、AutoDL租算力云服务器

 2.1、创建AutoDL云算力实例

首先在AutoDL官网(AutoDL-品质GPU租用平台-租GPU就上AutoDL)注册登录,接着在“算力市场”上挑选GPU。

此时我们选择RTX3090的GPU版本,计费方式为按量计费,这样比较省钱。

 然后选择“基础镜像”,GPU数量为1个,挑选好下图中的Pytorch镜像,因为待会源码的环境是需要Pytorch的,点击“立即创建”即可,稍等片刻即可创建成功。

二、数据准备

这里放置一个百度网盘链接供大家学习,包括数据集、源码和PYQT-GUI界面以及训练好的一个模型文件。

链接:https://pan.baidu.com/s/1pkfC4hQPbWr2nYS7ic2fHw?pwd=1zxw 

提取码:1zxw 

将这份项目代码放到AutoDL中去,可以使用JupyterLab将数据上传进去。

也可以使用阿里云盘来上传代码。

三、环境准备

准备好上述的AutoDL镜像后,使用JupyterLab进入到终端界面,进入到YOLOv8-PyGUI-fire文件夹里面,然后按步骤安装以下指令。

sudo apt update

pip install ultralytics

接下来打开datasets-train/fire.yaml修改参数,包括数据集路径、类别、类别名,如下所示:

四、模型训练

yolov8的训练采用代码的形式运行,下面是根据YOLOv8改写的代码案例:

# train.py

from ultralytics import YOLO

# 加载模型
# model = YOLO('yolov8n.yaml')  # 从YAML创建一个新模型
model = YOLO('weights/yolov8s.pt')  # 加载预训练模型(推荐用于训练)
# model = YOLO('yolov8s.yaml').load('weights/yolov8s.pt')  # 从YAML构建并转移权重
# 训练模型
model.train(data="../datasets-train/fire.yaml",
            imgsz=640,     # 输入图像的大小为整数或 w,h
            epochs=100,    # 要训练的次数
            batch=64,      # 每批次的图像数量(AutoBatch 为 -1)
            device=0,      # 要运行的设备,即 cuda device=0 或 device=0,1,2,3 或 device=cpu
            workers=2,     # 用于数据加载的工作线程数(如果是 DDP,则为每个 RANK)
            resume=False)  # True的时候则从上一个检查点恢复训练

打开终端,进入到ultralytics-YOLOv8文件夹里面,在终端中输入以下命令,即可开始训练。

python train.py

五、PYQT-GUI界面(模型预测)

将ultralytics-YOLOv8/runs文件夹下载并复制到本地文件夹,在本地环境配好环境后,运行YOLOv8-PySide6-GUI目录下的main.py。

运行结果如下: 

该GUI界面来源于某位B站up主的开源界面,原版没有摄像头功能的,我在后面魔改了一下,加了摄像头的功能,其它功能一致,欢迎大家免费下载体验一下!

六、参考资料

参考源码:YOLOv8-ultralytics

参考GUI界面:GitHub - Jai-wei/YOLOv8-PySide6-GUI: YoloSide - YOLOv8 GUI By PySide6

参考数据集分类:目标检测---数据集格式转化及训练集和验证集划分

参考模型训练:Train - Ultralytics YOLOv8 Docs

猜你喜欢

转载自blog.csdn.net/Little_Carter/article/details/131387425
今日推荐