AWS云上配置mxnet/gluoncv小结
昨天请同事帮忙申请了一个AWS EC2的实例,挂的公司的云账号下面。由于要做深度学习训练,需要配置基本的mxnet/gluoncv环境,之前走一些弯路,再记录一下过程。
1、安装nvidia显卡驱动
这台云主机很奇怪,刚开始拿到打开时,想看它用的是哪种显卡,方便装驱动,于是从网上搜了如下命令
lspci | grep -i vga
查出来是这个样子的

网上有人说这是没有英伟达的显卡,咨询了申请实例的同事,他表示是有英伟达显卡的,于是我打开了EC2的管理页面,查看它的具体类型为p2.xlarge
通过在AWS管理页面查询,了解到该EC2实例用的显卡是Tesla K80,于是按照网上搜到,找到了NVIDIA ToolKit的主页,按照提示从这上面复制了命令行,进行下载安装

安装完成后查询了cuda版本
cat /usr/local/cuda/version.txt
返回的是最新的11.0
实事证明这个选项是错误的,就目前而言,mxnet-cu版本最高支持cuda10.2,而按照此页面的方法选出来的命令安装的是最新的CUDA Toolkit 11.0,它和mxnet-cu101/102均不兼容,导致导入mxnet之后会报如下错误

网上搜了一下,有人认为是对应的库文件没关联,用下面命令手动关联一下即可
sudo ldconfig /usr/local/cuda-11.0/lib64
然鹅并没有什么卵用
结合之前装环境的经验,猜测可能是cuda版本和mxnet不匹配,于是不得不卸载cuda11,安装cuda10.2
卸载步骤(参考了此链接):
#查找nvidia相关的包,然后将驱动相关的全部删除,一般采用*nvidia* 正则即可
rpm -qa | grep -i nvidia | sort
yum remove *nvidia*
#查找cuda相关的包,然后将cuda相关的全部删除,一般采用*cuda* 正则即可
rpm -qa | grep -i cuda | sort
yum remove *cuda*
安装请认准如下链接:
https://developer.nvidia.com/cuda-toolkit-archive
我们选择CUDA Toolkit 10.2

这里的version是你linux的版本,根据实例情况选
切记不能选择rpm (network),否则又白装了,选它的话,又会默认给你下载安装最新版的cuda11
我的选出来对应的命令是
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run
用上述命令下载安装,cuda就算装好了。
2、安装anaconda
在拿到EC2裸机时,试了一下python命令,发现默认的是2.7,我们要用的是3.x,怎么办?安装anaconda可以解决这个问题
从anaconda官网上找到linux版本的下载链接,利用wget和bash便能完成下载和安装
wget https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh
bash Anaconda3-2020.07-Linux-x86_64.sh
安装完成后还要配置环境变量
vim /root/.bashrc
# added by Anaconda3 4.4.0 installer
export PATH="/root/anaconda3/bin:$PATH"
保存后
source /root/.bashrc
验证安装结果
在终端中输入命令conda list,如果Anaconda被成功安装,则会显示已经安装的包名和版本号。
参考此链接
安装完成后自带了python3.8
3、安装jupyter notebook
这个基本没啥好说的
pip3 install ipython jupyter notebook
由于我电脑上python2和3两种版本,我要装在python3下面,所以是pip3
4、安装gluoncv,mxnet
由于安装的cuda是10.2版本,为了和它对应,mxnet安装的是mxnet-cu102
这个也没啥好说的,用pip3 install直接装就可以了
5、验证
在xshell中配置本地转发规则

于是在aws云中启动无浏览器的jupyter
jupyter notebook --no-browser --port=8008
将其链接复制到本地浏览器打开,便可以使用"木星笔记本儿"了
我们写了一句import mxnet as mx
一运行发现又报错了,跟先前的一模一样有没有!
原来是先前装了cuda11,我们手动把其库文件对应对cuda11的目录上了
那就再对应回来
sudo ldconfig /usr/local/cuda-10.2/lib64
再次import mxnet as mx,发现没有问题了,于是大功告成了!
----------------------------------------------------------------------------
20200916更新
事实证明没事不要手贱升级linux内核,昨天看到提示说有十几个包可以更新,于是更新了,今天在训练时提示我没有GPU!
还好有这篇文章留底,重装了cuda又好了。

浙公网安备 33010602011771号