云计算百科
云计算领域专业知识百科平台

【项目实训2】手把手教你使用 YOLOv8 模型检测:服务器租用、环境配置、自定义数据集、模型的训练与测试(全网最全的操作指导)

前言

文章性质:实操笔记 📖

代码来源:GitHub – ultralytics/ultralytics: NEW – YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite

主要内容:本文详细记录了如何借助 Tabby 图形界面工具在 AutoDL 远程服务器上配置 YOLOv8 所需的项目环境,并且成功运行 YOLOv8 模型进行训练和测试,进而实现对自定义数据集的目标检测处理。

冷知识+1:小伙伴们不经意的 点赞 👍🏻 与 收藏 ✨ 可以让作者更有创作动力! 

Prepare

在运行 YOLOv8 代码前,我们要先在 AutoDL 平台租用合适的远程服务器,并借助 Tabby 图形化界面上传代码和配置环境。

  • AutoDL 官网:AutoDL 算力云 | 弹性、好用、省钱。
  • Tabby 工具:Tabby – a terminal for a more modern age

借助 Tabby 图形界面在 Autodl 远程服务器上,根据 Github 官网中提供的 YOLOv8 流程进行配置:

代码链接:GitHub – ultralytics/ultralytics: NEW – YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite

1、AutoDL 租用远程服务器

在 AutoDL 官网的【算力市场】按照自身需求租用合适的 GPU :

【说明】由于 Github 项目中提到 ultralytics 的安装环境需要 Python >= 3.8 PyTorch >= 1.8 ,故按图设置镜像。

2、Tabby 设置 SSH 接口

(1)获取 SSH 登录

在 Tabby 设置 SSH 接口前,需要确保租用的 GPU 处于运行状态,还要获取 SSH 登录所需的指令与密码。

(2)配置 SSH 连接

打开 Tabby 工具的设置栏,在 Profiles & connections 中可以新建 SSH Connection : 

(3)运行 SSH 连接

配置 SSH 接口的 Host 、Port 、Username 、Password 和接口名称后,我们就可以点击运行  ▶  按钮啦!

3、Tabby 上传项目代码

将 Github 提供的 YOLOv8 相关代码上传至 Tabby 的 /root/autodl-tmp 目录,并借助 unzip 命令进行解压。

4、Tabby 配置项目环境

进入远程服务器终端命令窗口后,我们需要先更新 bashrc 中的环境变量。

执行命令:conda init bash && source /root/.bashrc

conda init bash && source /root/.bashrc

【说明】由图可知,我们已经默认进入了 base 环境,我们可以在 base 环境中安装依赖,也可以新建虚拟环境来安装依赖。

(1)新建 conda 环境

执行命令:conda create -n dehaze python=3.8

conda create -n dehaze python=3.8

(2)激活 conda 环境

执行命令:conda activate dehaze

conda activate dehaze

(3)配置 conda 环境 ①

执行命令:conda install pytorch=1.10.2 torchvision torchaudio cudatoolkit=11.3 -c pytorch

conda install pytorch=1.10.2 torchvision torchaudio cudatoolkit=11.3 -c pytorch

(4)配置 conda 环境 ②

官方提供了两种形式的安装方法,由于我们后面需要对 YOLOv8 进行改进,所以采用第二种安装方法。

安装方法一:若只对 YOLOv8 进行调用,则推荐使用这种安装方法。

pip install ultralytics

安装方法二:若要对 YOLOv8 进行开发,则推荐使用这种安装方法。

git clone https://github.com/ultralytics/ultralytics
cd ultralytics
pip install -e .

【说明】也可以不使用 git clone 命令,自己手动从 Github 官网下载相关代码,再上传至远程服务器,如前文所述。

Documentation

在 Github 提供的项目中,ultralytics 官方提供了 YOLOv8 Docs 文档来帮助我们更好地使用该模型。

【补充】在线上查询 YOLOv8 操作指导的过程中,我发现这个文档的指导更加容易上手,特将链接贴在此处:

【YOLO】YOLOv8训练自定义数据集(4种方式)_yolov8训练自己的数据集-CSDN博客文章浏览阅读5.5w次,点赞113次,收藏702次。使用YOLOv8训练自定义数据集_yolov8训练自己的数据集https://blog.csdn.net/weixin_42166222/article/details/129391260https://blog.csdn.net/weixin_42166222/article/details/129391260

Download

我们可以在 Github 提供的项目中下载在 COCO 等数据集上训练好的权重文件,如下图所示。

Quickstart

执行命令:yolo predict model=yolov8n.pt source=ultralytics/assets device=cpu

yolo predict model=yolov8n.pt source=ultralytics/assets device=cpu

【说明】在执行这个命令 quickstart 前,我们需要提前下载官方预训练好的 yolov8n.pt 权重文件并将其上传至对应目录中。

自定义数据集 🎈 

在准备自定义数据集时,需要在项目的同级目录下创建 202406-data 文件夹,对数据集进行划分后的文件夹整体目录结构如下:

202406-data

        – train

                – images(训练数据集需要的图片)

                – labels(训练数据集需要的标注文件)

                – labels.cache(用于保存训练数据集中的类别标签)

        – val

                – images(验证数据集需要的图片)

                – labels(验证数据集需要的标注文件)

                – labels.cache(用于保存验证数据集中的类别标签)

Training ✨

执行命令:yolo task=detect mode=train model=yolov8.yaml data=202406.yaml epochs=30 batch=16

yolo task=detect mode=train model=yolov8.yaml data=202406.yaml epochs=30 batch=16

【警告】由于我在自建的 conda 环境中同时配置了 yolov8 和 yolov5,导致了一些错误的发生:

【彩蛋】202406.yaml 数据集配置文件:

train: /root/autodl-tmp/202406-data/train
val: /root/autodl-tmp/202406-data/val

# number of classes
nc: 8

# class names
names: ['person', 'rider', 'car', 'truck', 'bus', 'train', 'motorcycle', 'bicycle']

Validation ✨

执行命令:yolo task=detect mode=val model=runs/detect/train01/weights/best.pt data=202406.yaml batch=16

yolo task=detect mode=val model=runs/detect/train01/weights/best.pt data=202406.yaml batch=16

Prediction ✨

执行命令:yolo task=detect mode=predict model=runs/detect/train01/weights/best.pt  source=ultralytics/data/images  device=cpu

yolo task=detect mode=predict model=runs/detect/train85/weights/best.pt source=ultralytics/data/images device=cpu

赞(0)
未经允许不得转载:网硕互联帮助中心 » 【项目实训2】手把手教你使用 YOLOv8 模型检测:服务器租用、环境配置、自定义数据集、模型的训练与测试(全网最全的操作指导)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!