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

文章介绍了如何利用AutoDL平台租用GPU资源,创建云服务器,进行YOLOv8目标检测模型的训练。YOLOv8是Ultralytics公司开发的高效目标检测算法,具有速度和准确性优势。用户需要准备数据,设置环境,通过PyTorch进行模型训练,最后使用PYQT-GUI实现模型预测,展示了带有摄像头功能的GUI界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目 录

前 言

一、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://download.youkuaiyun.com/download/Little_Carter/88536997

将这份项目代码放到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

### 配置环境 为了在AutoDL平台上顺利训练YOLOv8模型,需先确保工作环境已正确设置。这包括但不限于安装必要的依赖库框架版本匹配。通常情况下,在AutoDL环境中可以直接利用其内置的支持来简化这一流程。 对于YOLOv8而言,建议的操作是在项目根目录下创建`weights`文件夹用于存储预训练权重,并准备好所需的预训练模型[^1]。此外,还需确认Python虚拟环境已经激活并安装了Ultralytics官方提供的YOLOv8包以及其他可能需要用到的第三方库。 ### 准备数据集 当环境搭建完毕之后,下一步就是处理数据集。理想的数据准备工作应该涵盖以下几个方面: - **结构化组织**:按照标准格式整理图片及其对应的标签文件,比如采用COCO或VOC格式。 - **分割比例合理分配**:将整个数据集划分为训练集、验证集(有时还包括测试集),一般推荐的比例为7:2:1或者8:1:1。 - **编写配置文件**:制作一个名为`data.yaml`的数据描述文档,其中定义类别名称列表、各类别的ID映射关系以及各个子集合的具体路径位置等重要参数[^5]。 ### 启动训练过程 完成上述两项基础任务后就可以着手于实际的训练环节了。具体做法是通过命令行工具进入项目的主目录,接着执行一段简单的Python脚本以触发训练逻辑。这段代码可以从头构建也可以基于现成模板稍作修改而成,核心部分涉及加载指定架构下的网络实例、设定超参选项最后调用`.train()`方法开启迭代学习循环。 ```python from ultralytics import YOLO model = YOLO("yolov8n.pt") results = model.train( data="path/to/data.yaml", imgsz=640, epochs=300, batch=16, device=0, workers=4 ) ``` 以上即为一套完整的操作指南,适用于希望借助AutoDL云服务资源高效开展YOLOv8定制化开发工作的研究人员技术爱好者们。
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李同学Lino

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值