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

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

前言

文章性质:实操笔记 📖

代码来源:GitHub – ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

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

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

Prepare

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

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

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

代码链接:GitHub – ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > 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 上传项目代码

这里我们介绍了两种将项目代码上传到远程服务器的方式,我更推荐第一种方式,因为第二种方式费时更长(可能我的问题)。

(1)手动上传项目代码

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

(2)Git 克隆项目代码

执行命令:git clone https://github.com/ultralytics/yolov5

git clone https://github.com/ultralytics/yolov5 # clone

遇到问题:fatal: unable to access 'https://github.com/ultralytics/yolov5/': GnuTLS recv error (-54): Error in the pull function.  

即使我根据网上的建议将命令改为 git clone git://github.com/ultralytics/yolov5 ,也未能解决该问题~ 欢迎大家为我解惑!

不过!再次尝试执行 git clone https://github.com/ultralytics/yolov5 命令时,居然成功啦!我初步认为是网络问题。

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 环境 ②

执行命令:pip install -r requirements.txt

pip install -r requirements.txt

【说明】在根据 requirements.txt 安装依赖前,要确保当前路径为 yolov5 的根目录,例如这里是 ~/autodl-tmp/yolov5

Documentation

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

Download 

我们可以在 Github 提供的项目中下载预训练的权重文件,如下图所示。

Quickstart

1、准备工作

① 针对 python detect.py 命令,我们来具体看看 detect.py 这个文件:

② 我们可以在 detect.py 文件中看到默认设置,默认使用项目根目录下的 yolov5s.pt 权重文件:

③ 由于下载的项目代码中并不包含权重文件,因此需要我们自行上传 yolov5s.pt 权重文件:

2、快速开始

 执行命令:python detect.py

python detect.py

自定义数据集 🎈 

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

202406-data

        – train

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

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

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

        – val

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

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

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

Training ✨

执行命令:python train.py –data data/202406.yaml –epochs 30 –cfg models/yolov5n.yaml –batch-size 16

python train.py –data data/202406.yaml –epochs 30 –cfg models/yolov5n.yaml –batch-size 16

AttributeError: module 'distutils' has no attribute 'version' 

【土堆】手把手带你解决 YOLOv5 运行 train.py 文件时遇到的问题 AttributeError: module ‘distutils‘ & RuntimeError & …_yolov5中train.py的文件解码错误怎么改-CSDN博客文章浏览阅读1.9k次,点赞21次,收藏34次。这篇文章记录了作者在运行 YOLOv5 的 train.py 文件时遇到的一系列问题以及相应的解决方式,包括 torch 的版本问题, AttributeError: module 'distutils' has no attribute 'version 和 unzip 失败的问题。作者小白,请多包涵!_yolov5中train.py的文件解码错误怎么改https://blog.csdn.net/nanzhou520/article/details/134675092?spm=1001.2014.3001.5502

【彩蛋】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']

Testing ✨

执行命令:python detect.py –weights runs/train/exp/weights/best.pt  –source ../202406-data/val

python detect.py –weights runs/train/exp/weights/best.pt  –source ../202406-data/val

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

评论 抢沙发

评论前必须登录!