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

前言

文章性质:实操笔记 📖

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

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

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

Prepare

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

借助 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 接口的 HostPortUsernamePassword 和接口名称后,我们就可以点击运行  ▶  按钮啦!

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
### 租用服务器部署和运行YOLOv5 #### 选择合适的云服务平台 为了成功租用服务器并部署YOLOv5,可以选择多个云服务提供商。例如,恒源云提供了详细的程来帮助用户在云端租用GPU服务器训练模型[^2]。另一个选项是AutoDL平台,该平台专注于提供高质量的GPU资源用于机器学习任务,并且有专门针对YOLOv5的支持文档[^3]。 #### 创建环境激活虚拟环境 当选择了具体的云服务商之后,在创建好实例后通常会通过SSH连接到远程主机。对于基于Anaconda管理Python包的情况来说,如果遇到`conda activate yolov5`无法正常工作的问题,则可以尝试使用`source activate yolov5`作为替代方案[^1]。这一步骤是为了确保能够顺利加载所需的依赖库以及配置好的开发环境。 #### 配置项目路径及安装依赖项 进入项目的根目录(比如包含了YOLOv5仓库的位置),可以通过命令行工具执行如下操作: ```bash cd /path/to/your/yolov5_project_directory ``` 接着按照官方指南或其他参考资料中的说明完成必要的软件包安装过程。如果是首次设置此环境的话,可能还需要下载预训练权重文件以及其他辅助材料。 #### 开始训练或推理 一旦所有的准备工作都已完成,便可以根据具体需求编写相应的脚本来启动训练或者测试阶段的任务了。例如,要开始一次新的训练实验,可以在终端里键入类似于下面这样的语句: ```python from models.experimental import attempt_load import torch device = 'cuda' if torch.cuda.is_available() else 'cpu' model = attempt_load('yolov5s.pt', map_location=device) # 加载模型 ... ``` 以上就是关于如何租用服务器部署和运行YOLOv5的大致流程介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

作者正在煮茶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值