我参加 NVIDIA Sky Hackathon---云上进行yolo模型训练

目录

  • 前言
  • ECS的配置选择
  • 环境搭建
  • 环境安装流程
      • 安装下载docker
      • 登录 NGC
      • Jupyter下载
      • 下载nemo
      • 安装virtualenv虚拟环境
  • 模型训练
      • 训练与评估模型:
      • 导出与推理模型
  • 经验与总结

前言

在训练得到ssd模型之后,即使不太了解云上的大部分操作,我们也大胆尝试租用云服务器(ECS),来进行yolo模型的训练与推理。


ECS的配置选择

选择了阿里云分类在AI机器学习-人工智能训练场景下其中之一的配置,主要是选择了NVIDIA的高性能GPU以及自配驱动,具体如下图所示:
我参加 NVIDIA Sky Hackathon---云上进行yolo模型训练_第1张图片


环境搭建

初次远程链接时,没有桌面控制。
可以根据本文的前半段创建桌面

注:根据上文依次执行指令。指令apt-get install ubuntu-desktop执行两次后再重启。而且后续权限的步骤明显与当前操作的情况不同,所以忽略。


环境安装流程


安装下载docker

项目方方案出现报错:package docker-ce has no installation candidate。
解决方法:可以参考本文用镜像下载

登录 NGC

由于桌面用户的低权限,可能无法与docker连接,后续可能会产生报错。
可以参考本文使登录NGC时不用sudo
不然可能会在训练时遇到下面的情况:
我参加 NVIDIA Sky Hackathon---云上进行yolo模型训练_第2张图片

Jupyter下载

需要注意jupyter本身设置为root账户不能直接使用。需改配置且不安全。
所以别在root里下载jupyter。

下载nemo

执行pip install nemo_toolkit[all]==1.4.0,网络不好,比较难下载。
解决方法:多次执行下载指令(7-10次)。
我参加 NVIDIA Sky Hackathon---云上进行yolo模型训练_第3张图片

安装virtualenv虚拟环境

没有安装virtualenv虚拟环境!会产生mkvirtualenv: command not found报错!未查明原因。
解决方法:Tao直接安装在了base环境下。


模型训练

根据项目方给出的yolo训练文档以及自己准备的数据集,在文档中更改路径以及相关标签,即可开始训练。

训练与评估模型:

在本机3070中训练yolo模型,batch_size_per_gpu只能设置到4,而在ECS中可以设置到32,使得训练速度大大提升,每轮将近节省了100s的时间。
我参加 NVIDIA Sky Hackathon---云上进行yolo模型训练_第4张图片

导出与推理模型

并未遇到特殊情况,最终的模型传输到本地的方法是使用网络传输。效率较低且会产生流量费用。


经验与总结

①由于需要租用的GPU功能强导致价格贵。但在其中还要配置相关环境才能进行训练,及其浪费时间。所以需要先熟悉好全部的环境与训练后再尝试!还可以尝试挂载共享云硬盘,尽可能的将可以下载的软件先用别的便宜的服务器(或本地)中下载出来,以免被环境配置浪费时间。
②关于密码的设置:在配置云服务器时,有云服务器连接密码,还有个系统的root密码,如果创建了桌面,还有一个用户密码。请妥善设置这三个密码。
③此方法更加适合处于有经验且算力需求较高的背景时使用。

你可能感兴趣的:(目标检测)