用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

时间:2021-04-12 01:15:02

目录

为何使用云GPU训练我们数据集?

云服务器训练数据集教程:

1.创建实例

 2.上传数据(OSS命令)

以下是oss的操作过程

训练模型时可能出现的报错:


为何使用云GPU训练我们数据集?

        我们总是花费长达十几个小时去训练模型,这对于我们的运行设备的要求很高,一般的学生(比如说我)想拿自己的笔记本电脑跑训练但是可能电脑配置低,会因为很多问题跑不起来,就算跑起来了,速度也很慢,还会导致电脑发热,这个过程对于我们的电脑的伤害是很大的。  

下面我们来介绍一下如何在云服务器使用 yolov5 模型来训练我们的数据集(这里以恒源云为例):

云服务器训练数据集教程:

恒源云官网:恒源云_GPUSHARE-恒源智享云

1.创建实例

首先我们要进行登录(没有账号的注册下账号,很简单。)--记住账号密码,上传数据时使用oss方法要用到用户名和密码。

登陆后点击右上角小人点击我的实例

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 在我的实例 中,点击创建实例

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

      接下来选择想租什么配置的设备(我这里选择了3080Ti-12G),计费模式建议按量付费,也就是按小时付费。

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 然后如图选择预装的python环境(尽量和yolo的版本匹配)最后点击创建实例。

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

       一般系统默认开机,如果不使用的话赶紧关机,从开机开始就计费了。这样我们的实例就创建好了。下图是关机状态,要开机使用点击启动就好了。

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 2.上传数据(OSS命令)

 实例创建好了接下来我们就要上传数据了,我们使用oss命令方法来上传数据:

       如下图打开帮助文档(文档中心),在左面导航栏找到数据上传, 数据上传里面的OSS命令上传,后面就是照着指导手册做,把自己的项目文件夹打包传上去。

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 点击数据上传:

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

点击OSS命令安装: 

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 然后我们要下载oss 工具。注意:这里软件下载是按照自己电脑的系统,注意不要搞混 

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

( 如果实在不会使用oss,也可以参考文档里的其他方式(xftp等),上传速度可能会很慢 )

以下是oss的操作过程

下载完之后运行,然后login(登录用的是你注册网站的账号)

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 然后使用linux的文件命令将本地的项目压缩包上传到文件系统中:

cp (你的压缩包路径) oss://

上传过程: 

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 下图这样就算成功(将数据传到了个人数据集--中转站,下面我们要把中转站的数据集传到云服务器):用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

      接下来我们启动实例,如果是会员可以选择无卡启动(为了省钱,该模式下内存只有1G,费用是0.1元/小时,在要用到gpu训练数据集时要退出此模式正式启动,我没会员选择启动)

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

      启动完之后使用JupyterLab进行操作 (从这里开始是linux系统下操作,如果前面实例创建选择了windows系统,请类比操作或参考帮助文档,一般都是linux系统下的实例。)

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

   进入后我们点击终端,在终端中进入hy-tmp目录

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 输入代码在终端中进入hy-tmp目录:(依次输入以下代码):

cd /hy-tmp/ #打开文件
ll #显示列表中文件
pwd

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 在终端中登录登录oss客户端:

oss login

然后输入账户密码: 

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 从oss文件系统中(中转站)下载项目压缩包:

oss cp oss://yolov5-6.1.zip ./  #这里最后压缩文件名称改成自己的。注意zip与./中间有空格

下面这样就是运行成功了: 

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 下图这样就上传好了

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 下面命令解压压缩包

 7z x yolov5-6.1.zip

解压过程:

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

解压后的文件:

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 然后就可以在这个终端上正常运行项目啦

一般来说库的都是预装好的,也可以检查一下 

pip install -r requirements.txt

运行此代码要进入yolov5文件夹 

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)

 之后我们就可以在云端上训练数据集啦。

可以在训练代码(train.py)的最后一行加上

import os
os.system('shutdown')

   这样训练完就自动关机了 ,可节省我们的资源。

训练模型时可能出现的报错:

1.libgthread-2.0.so.0: cannot open shared object file: No such file or directory

解决方法:

依次在终端中输入以下代码:

apt-get update
#安装额外的包
apt-get install libxext-dev
apt-get install libxrender1
apt-get install libglib2.0-dev

2.找不到数据集:

      注意yaml中路径问题,因为在云端,这时数据集的路径就变了,要在yaml文件中修改训练集和测试集的路径。


我的训练过程:

用 云GPU 云服务器训练数据集--yolov5模型为例(恒源云)


 这篇云端GPU运行yolov5模型教程到这里就结束啦,如果有什么问题可以在评论区留言呀~

如果帮助到大家,可以一键三连+关注支持下~