Mxnet—下游

任务描述

    成功安装了mxnet后,我的目标就是:调用mxnet已经写好的目标检测方法,调整数据集训练模型,如:SSD,Faster-RCNN,YOLOv3。进入Mxnet的官网,选择GlounCV Toolkit,下面有好东西。

cv
选择GluonCV Toolkit

    选择你想要的用的模型,如SSD,将.py文件下载下来,如下图:

ssd
选择ssd,点击file_download下载文件

    根据文档的指导,首先要准备好数据集,根据文档的指导就行了。当然有一个问题还是避之不及,windows上能跑嘛?

 

Windows杀手:horovod

    其实前面写了那么多都是为了预热,为了不熟悉mxnet的伙伴们指点一下道路。那么在数据准备完毕后,执行指令:python train_ssd.py,就报错了:No module horovod。于是简单粗暴的解决:pip install horovod,出现在面前的是满是红字的错误,经过1个小时的排查,得出解决方案:Windows真的不支持,于是装了双系统。

   装双系统也是常规操作了,虽然这件事我拖了半年。最后装了ubuntu18.04,装完后,不用猜都知道是黑屏,进不去,卡机。那么我这次的解决方案也很常规,添加:nomodeset,看到这个单词,伙伴们应该很熟悉,就不多解释了,文末会给这方面问题解决的参考链接。

   终于开机了,那就是装驱动,cuda,Anaconda,中间也有不少坑,但是都是必备的坑,装过的人都很熟悉,一一解决即可。那么,换成Linux,问题就解决了吗?答案是:NO,这只是开始

 

难受的Horovod

    由于自己写的深度学习模型都是单GPU,所以对分布式不是很关注,那么horovod的安装流程就完全没接触过,因此出了一大堆错误。我主要的错误就是:未安装NCCL。若是想要深度学习环境,那么就必须要安装NCCL,所以大家在装horovod之前,必须装NCCL,否则在跑程序的时候,import horovod.mxnet就会报错

    装NCCL遇到了一个恶心的问题:错误:file:/var/nccl-repo-2.4.8-ga-cuda10.0  Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY F60F4B3D7FA2AF80这个问题会导致sudo apt update无法正常进行,那么NCCL也无法正常安装。解决办法如下:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv  F60F4B3D7FA2AF8

    这个可以解决密钥缺失的问题,之后再执行sudo apt update即可。

 

Open MPI

    NCCL安装完毕之后,就是Open MPI的安装,如果这个不装,那么装horovod就会一直报恶心的错误:mccxx.bat文件缺失, 所以说,一定要安装Open MPI,安装方法就去艘Open MPI,根据官网的教程来就行了。

 

再见Horovod

    当所有的依赖都安装完毕:NCCL,Open MPI,那么你的horovod就可以正常安装了,为了不要过多琐碎的操作,建议在安装了mxnet的环境下直接:pip install horovod,OK,一切顺利。

    总结一下,为了这个horovod,我装了双系统,解决一堆环境Bug之后,又掉入Open MPI和NCCL的坑。后悔没有认真看horovod的官方要求。现在我的机子正在边冒黑烟边跑Faster-RCNN,感觉无比畅快。文章末尾我会放几个非常有用的链接,供同样入坑的小伙伴参考。最后放张图庆祝自己的胜利啦

faster-rcnn训练截图

 

参考链接

horovod官网:https://github.com/horovod/horovod

horovod在GPU上配置:https://github.com/horovod/horovod/blob/master/docs/gpus.rst

NCCL:https://developer.nvidia.com/nccl

如何安装horovod:https://zhuanlan.zhihu.com/p/63158504

公共密钥的问题:https://www.jianshu.com/p/7f04a4448634

import horovod.mxnet报错官方解答1:https://github.com/horovod/horovod/issues/823

import horovod.mxnet报错官方解答2:https://github.com/horovod/horovod/issues/827

 

备注:本文为作者原创,转载需注明出处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值