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又好了。

posted @ 2020-08-22 00:10  飞向天边  阅读(538)  评论(0)    收藏  举报