之前向公司申请购买了一块英伟达GeforceRTX2060,但是有时候同时有多个训练思路想要试验,一块GPU的效率就比较低了。但是再买一块的成本过高,所以经过考量,决定租云服务器来训练模型。
对比华为云和阿里云,华为云之前的m60系列都显示已经售罄,该系列的收费相对便宜,但是已经租不到了,剩下的都是p100的,或者更高的配置,而阿里云上最便宜的是搭载英伟达teslap4的GPU服务器,8.68元/时。
下面就基于这款服务器来介绍GPU服务器租赁过程和深度学习环境安装过程。(说明:由于该款服务器并没有使用本地存储,只会使用云盘,所以停机后,只会针对云盘收费。这是有别于抢占式实例的地方,抢占式实例即使不用本地磁盘,停机后也继续收费的,除非释放掉当前服务器)
选好服务器后,接下来选择镜像,也就是操作系统,我选择的是ubuntu16.0464位,因为18.04不支持自动安装GPU驱动,结果因为版本比较低的问题,不得不重新卸载CUDA和GPU驱动,然后再安装更高的版本。
不过,如果你也选择了自动安装,也不用担心,因为只要卸载重装高版本的CUDA和驱动就可以了,下面是卸载脚本:
--依次执行下面3个命令
`sudo apt-get remove cudasudo apt-get autoclean
sudo apt-get remove cuda--切换到/usr/local目录
cd /usr/local/
--删除cuda目录,因为该目录是指向cuda-9.1目录的软链接
sudo rm -rf cuda--删除cuda-9.1目录
sudo rm -r cuda-9.1
--使用命令查找系统中还存在cuda-9.1的地方,依次删除列出的文件
sudo find / -name cuda-9--再次执行下面3个命令
sudo apt-get remove cuda
sudo apt-get autocleansudo apt-get remove cuda*
`--现在可以装cuda其他版本了。
sudo apt-get --purge remove nvidia-*
接下来选择存储,我选择的是高效云盘,40GB,因为对我来说够用了。后面就是配置网络、帐号等,根据自己的需要配就行了。
之后,服务器会自动创建实例,如果你选择了自动安装CUDA,那么可以通过top命令查看到apt-get等命令在运行,大概15分钟后,CUDA和GPU驱动就会装好了,但是并不会安装CUDNN。
到了这一步后,我开始尝试部署程序,并运行,但是显然,向我上面说的那样,报错了,原因是CUDA的版本和tensorflow版本不兼容。于是按照上面的方法卸载了CUDA,开始下载10.0的CUDA,因为我用的tensorflow1.13.0,该tensorflow版本只支持CUDA10.0。
所以,需要下载对应的CUDA,步骤如下:
地址:https://developer.nvidia.com/cuda-downloads
sudo sh cuda_10.0.130_410.48_linux.run --no-opengl-libs (据说不加--no-opengl-libs这个选项会进入循环登录,所以还是加上吧)
`接下来很重要的地方是在提示是否安装显卡驱动时,一定选择 no(之前安装过对应显卡版本的驱动)`其他各项提示选择是,并默认安装路径即可。提示有 y 的输入 y,没有则按 enter 键。安装完毕。
--打开文件
`vim ~/.bashrc--尾部加入如下内容:
export PATH=/usr/local/cuda-10.0/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
--保存退出,并输入下面指令使环境变量立刻生效:`source ~/.bashrc
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
`sudo make./deviceQuery
最后输出提示通过即可。`
在验证环节,我遇到了fail的提示,原因是因为GPU的驱动版本过低,要410以上的才可以,于是我按照本问开头介绍的方法卸载了GPU驱动,然后开始安装对应的版本:
访问官网地址:
点击搜索,进入下载页面,下载即可。
--赋执行权限
`sudo chmod +x NVIDIA-Linux-x86_64-410.104.run--关闭x window界面
sudo service lightdm stop--安装,指定不安装OpenGL文件
sudo ./NVIDIA-Linux-x86_64-410.104.run --no-opengl-files`
nvidia-smi
`如能看到GPU信息,则安装成功。`
sudo service lightdm start
sudo reboot
此时,再次验证CUDA是否安装成功,结果会提示通过。接下来需要安装CUDNN,版本选择支持CUDA10.0的,这里我选的是7.4.2.24:
官网地址:需要注册后才能下载。我下载的是deb文件,总共有三个
2.3.2. Installing from a Debian File
`1. Navigate to your directory containing cuDNN Debian file.2. Install the runtime library, for example:
sudo dpkg -i libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb3. Install the developer library, for example:
sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb4. Install the code samples and the cuDNN Library User Guide, for example:
sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb2.4. Verifying
To verify that cuDNN is installed and is running properly, compile the mnistCUDNN sample located in the /usr/src/cudnn_samples_v7 directory in the debian file.1. Copy the cuDNN sample to a writable path.
$cp -r /usr/src/cudnn_samples_v7/ $HOME2. Go to the writable path.
$ cd $HOME/cudnn_samples_v7/mnistCUDNN3. Compile the mnistCUDNN sample.
$make clean && make4. Run the mnistCUDNN sample.
$ ./mnistCUDNNIf cuDNN is properly installed and running on your Linux system, you will see a message similar to the following:
Test passed!`
以上内容来自官方的安装指南:
#installlinux-deb
因为还是很容易看懂的,所以就没翻译了。
到此GPU相关的环境就安装完成了,但是在命令行输入python,会发现,用的版本是python2,输入python3会发现,用的是python3.5。由于现在一般都是用Anaconda3,所以我又安装了Anaconda3。
关于Anaconda3在阿里云GPU服务器上的安装过程,会在下一篇文章《》里介绍。
另外补充一点,阿里云GPU服务器停机后,再想开机时,有时候会出现库存不足的提示,需要换服务器所在区,如果事先没有做快照,就要重新装环境了,所以建议做每日快照。而且租阿里云GPU并不便宜,所以如果你要经常做深度学习训练,还是建议购买显卡自己搭建本地环境。
ok,本篇就这么多内容啦~,感谢阅读O(∩_∩)O,88~
为您推荐