前言
在训练得到ssd模型之后,即使不太了解云上的大部分操作,我们也大胆尝试租用云服务器(ECS),来进行yolo模型的训练与推理。
ECS的配置选择
选择了阿里云分类在AI机器学习-人工智能训练场景下其中之一的配置,主要是选择了NVIDIA的高性能GPU以及自配驱动,具体如下图所示:
环境搭建
初次远程链接时,没有桌面控制。
可以根据本文的前半段创建桌面
注:根据上文依次执行指令。指令apt-get install ubuntu-desktop执行两次后再重启。而且后续权限的步骤明显与当前操作的情况不同,所以忽略。
环境安装流程
安装下载docker
项目方方案出现报错:package docker-ce has no installation candidate。
解决方法:可以参考本文用镜像下载
登录 NGC
由于桌面用户的低权限,可能无法与docker连接,后续可能会产生报错。
可以参考本文使登录NGC时不用sudo
不然可能会在训练时遇到下面的情况:
Jupyter下载
需要注意jupyter本身设置为root账户不能直接使用。需改配置且不安全。
所以别在root里下载jupyter。
下载nemo
执行pip install nemo_toolkit[all]==1.4.0,网络不好,比较难下载。
解决方法:多次执行下载指令(7-10次)。
安装virtualenv虚拟环境
没有安装virtualenv虚拟环境!会产生mkvirtualenv: command not found报错!未查明原因。
解决方法:Tao直接安装在了base环境下。
模型训练
根据项目方给出的yolo训练文档以及自己准备的数据集,在文档中更改路径以及相关标签,即可开始训练。
训练与评估模型:
在本机3070中训练yolo模型,batch_size_per_gpu只能设置到4,而在ECS中可以设置到32,使得训练速度大大提升,每轮将近节省了100s的时间。
导出与推理模型
并未遇到特殊情况,最终的模型传输到本地的方法是使用网络传输。效率较低且会产生流量费用。
经验与总结
①由于需要租用的GPU功能强导致价格贵。但在其中还要配置相关环境才能进行训练,及其浪费时间。所以需要先熟悉好全部的环境与训练后再尝试!还可以尝试挂载共享云硬盘,尽可能的将可以下载的软件先用别的便宜的服务器(或本地)中下载出来,以免被环境配置浪费时间。
②关于密码的设置:在配置云服务器时,有云服务器连接密码,还有个系统的root密码,如果创建了桌面,还有一个用户密码。请妥善设置这三个密码。
③此方法更加适合处于有经验且算力需求较高的背景时使用。