![98a309dea85d1e85b26db9a35e84a537.png](https://i-blog.csdnimg.cn/blog_migrate/b10ccfd7f4b188e26a1f59b957de7ee3.jpeg)
前言
之前都是在CSDN上写博客,最近想要把博客一起同步到知乎专栏中来,正所谓“工欲善其事,必先利其器”,我们搞深度学习,必然需要先将训练模型的平台搭建好,所以首先介绍一下我们如何搭GPU环境。
因为最近忙着搞毕业设计,做的是X线胸片的多标签分类问题(22万张图片),需要使用GPU来跑实验,然而因为疫情的原因,只能在线使用GPU跑实验,贫穷的我买不起GTX显卡,同时学校的GPU集群好像出了一点问题,想到之前租过滴滴云的GPU服务器,所以这一次决定再花一些money在滴滴云上租GPU跑实验,说个题外话,选择滴滴云之前对比过其他几个云(阿里云、腾讯云、华为云),奈何它们太贵了(土豪请随意,请用钱砸死我吧!),最后货比三家,我选择了滴滴云,普通配置大概3块多一个小时。(越来越像滴滴云的一个硬广,滴滴云打钱!!!),当然,玩归玩、闹归闹,不拿学习开玩笑,下面进入正题!
一、滴滴云GPU配置选择及创建
进入滴滴云的官网(租GPU服务器,需要个人信息验证),点击创建云服务器(DC2)按钮,就会到选择配置的界面,我介绍一下我的配置(如果觉得看文字太麻烦,直接看我下面的配置截图就行了,不知道为什么上传到知乎上的图片不清晰囧rz):
付费方式:按时长(因为我穷,都是跑完几个小时的实验,保存快照,然后注销掉) 可用区:广州(因为我家在南方,所以离广州近一些) 服务器类型:选择GPU服务器 通用型P4(GPU是Tesla P4,反正我感觉跑大部分实验都够用) 镜像:选择标准镜像ubuntu 16.04 CUDA-10.0 (我主要是想避免显卡驱动和cuda之类的不匹配问题,不然要折腾好久,职业玩家请随意,当然职业玩家也不会来看我这篇博文orz)
注:后面有快照镜像的选项,需要自己之前保存过快照,才能够进行选择(这个功能比较好,因为创建一次GPU服务器,注销之前可以保存快照,然后下一次再创建GPU服务器时又可以使用上一次的快照,上一次的文件都会在里面,相当于玩游戏的存档公能) 配置(元/小时):我选的是2核cpu、P4 GPU、4G内存、8G显存的(8G显存一般的实验都是够用的,如果你的需求高,可以把配置调高一些) 系统盘:默认 高效云盘 80GB (因为我自己的数据集就11G左右,所以对我来说够用) 数据盘:无(我没有选择数据盘,我其实没太搞清楚系统盘和数据盘有啥区别,呜呜呜!) 网络:默认 带宽:我选择的是按使用流量,带宽上限按自己需求定(因为我主要是跑实验,对网络的需求不是很大) 安全组:默认 登录方式:选择密码( 设置自己的密码,密码别忘了) 数量:1台 设置名称:滴滴云打钱 添加标签:默认
下面是我配置的截图:
![2b1d0c01f417830f8374e4d6330e0806.png](https://i-blog.csdnimg.cn/blog_migrate/71eb195d74ff47c739341a0d0bae3fa9.jpeg)
![c6d4a0a2f1dd991b4bdca8e1dfa217e4.png](https://i-blog.csdnimg.cn/blog_migrate/d55a2e2ccf01e171c392cf8625c57901.jpeg)
然后点击立即创建就好!
二、GPU服务器的登录
创建成功之后,我们需要通过一个软件来使用SSH连接到GPU服务器,我使用的MobaXterm,自己可以到网上去下载,当然也有其他软件(滴滴云有自带的命令行界面,但我觉得不太好用,就不介绍了)
安装好MobaXterm,双击打开:首先点击左上角的Session===>进入Session settings界面 点击SSH ===>在Remote host中填的GPU服务器的公网ip。最后点击OK。
![dff3a61addd62c03ef1dbba6f7aab30b.png](https://i-blog.csdnimg.cn/blog_migrate/18ccb7c1e3c6038dd5a184fa28004984.jpeg)
GPU服务器的公网ip在你创建GPU服务器成功后的页面有显示:
![b81f42b5eecff373cf672fe7460f7a46.png](https://i-blog.csdnimg.cn/blog_migrate/5350f442d2db7a3d5dcf2a4a54b28922.png)
在MobaXterm中SSH的Session创建成功之后,login as填dc2-user 密码填之前配置GPU服务器登陆方式时设置的密码
![5e7ed56f9998d54dbac232e2f6d223cf.png](https://i-blog.csdnimg.cn/blog_migrate/0cf96bd63f0205b7043246199e89c9b7.png)
登陆成功之后的界面:
![001705355b48a190cfc72b0c9fb3e1ce.png](https://i-blog.csdnimg.cn/blog_migrate/65e56c4b1dbc37c17f35f0ac7d2b0a25.jpeg)
三、GPU环境配置
1、Anaconda的下载
使用wget命令,后面的链接可以在清华源的Anaconda镜像https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/中找相应版本进行更改,速度比Anaconda官网快多了)
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.10-Linux-x86_64.sh
2、Anaconda的安装
在下载Anaconda安装包的目录下,使用bash命令进行安装(如果你不知道你下载在哪个目录下,那你直接使用该命令安装就好了)
bash Anaconda3-2019.10-Linux-x86_64.sh
然后会有yes和no的选项弹出 :问你是否同意该协议内容 输入:yes
![5d485562b4aa469a133fa781701bbc71.png](https://i-blog.csdnimg.cn/blog_migrate/5a735ecf475264296aa498785875f503.png)
接着是输入安装的目录,这个地方不用输入直接回车就好了(它会选择默认目录进行安装,如果你想安装在你指定目录下也可以填上你想要安装目录的路径)
![f3da958d83aa8a0172ce9bb2f9367031.png](https://i-blog.csdnimg.cn/blog_migrate/cfc8e62019d46ecd6e8bf8327feda042.png)
下面这个地方同样输入:yes
![6cd2141898cab563d03c598918ef6bca.png](https://i-blog.csdnimg.cn/blog_migrate/94d9f0fbd8b0b01c24896b8f61e832a8.jpeg)
最后一步:更新配置文件
#更新配置文件
source ~/.bashrc
#查看版本信息
conda -V
然后输入conda -V命令显示版本信息,如果能够正常显示,就说明安装成功了!
至于Anaconda有什么用,我的感觉是Anaconda可以比较方便的创建和管理多个python环境。
3、conda创建自己的python环境
此处我创建一个名字为mypytorch_3.6 ,python版本为3.6的python环境 (环境名字可以按照你自己的需求取)
创建成功之后使用activate命令切换到该环境,并添加清华源镜像(关于conda的一些基础命令可以自行谷歌查找)
conda create -n mypytorch_3.6 python=3.6 #创建python环境
source activate mypytorch_3.6 #切换到该环境
#添加清华源镜像
conda config --add channels Index of /anaconda/pkgs/free/
conda config --add channels Index of /anaconda/pkgs/main/
conda config --set show_channel_urls yes
4、安装Pytorch的GPU环境
我使用的是Pytorch框架,可以到pytorch官网找到conda安装pytorch的命令(但是最近好像官网被墙了,进不去了?)
其实感觉Anaconda真的挺方便的,直接使用一个命令,帮你把pytorch的相关GPU环境所需的cuda、cudnn下载并安装好。
如果想安装TensorFlow的GPU环境可以自行谷歌查找相应的命令。
#下载并安装pytorch的GPU环境命令(conda命令自己会下载安装好相应的cuda和cudnn版本,不用自己去折腾)
conda install pytorch torchvision cudatoolkit=10.0
安装结束后,使用torch.cuda.is_available()判断是否成功安装。
#使用python
python
#导入torch包
import torch
#看pytorch的GPU环境是否成功搭建
print(torch.cuda.is_available())
如果输入命令后,显示如下结果,则说明Pytorch的GPU环境安装成功了!
![a2c6d37ff872e0bfb117e7509870beed.png](https://i-blog.csdnimg.cn/blog_migrate/c329abfcd7fac273bef993445a62d81f.png)
四、滴滴云保存快照、删除服务器
点击快照中的创建快照,这样就可以保存本次的快照,然后下次再创建GPU服务器时选择快照的方式进行创建!
![3e4ce335193b8f18fb54e7b16b3f6164.png](https://i-blog.csdnimg.cn/blog_migrate/1e9ac88e93567e2bc67ec7ddf5a287d0.jpeg)
创建完快照之后,就可以删除服务器了(注意:只有删除服务器,才会停止收费!)
![e3534699b6da9cefbdb180efa20a996f.png](https://i-blog.csdnimg.cn/blog_migrate/a8ffe7c5dd7b9ab9bc2b01f741859ab6.jpeg)
五、使用快照创建GPU服务器的问题
当我重新使用快照创建一个GPU服务器时出现了一些问题:
我在mypytorch环境中使用torch.cuda.is_available()查看是否可以使用GPU,发现得到的是False!(明明上一次保存快照的时候是可以的!)
![4e225547c480a55d31de65e9c83988d8.png](https://i-blog.csdnimg.cn/blog_migrate/8a35beb653be0e78fe85ce5fdf117f82.jpeg)
然后使用nvidia-smi命令查看显卡状态,发现找不到显卡驱动!!!(XX云臭鱼烂虾orz,果然没钱就要受罪,穷是原罪,呜呜呜!!!)
![2948cb3fb6b6e92ef3ef273be27bfe05.png](https://i-blog.csdnimg.cn/blog_migrate/f0fcf66191b071b2323a0e6d776d07b1.png)
解决:
#1、使用cd /usr/src 中查看显卡驱动的版本号(我的是440.36)
cd /usr/src
![f4686c72d042de0e025a7eafd0055e5f.png](https://i-blog.csdnimg.cn/blog_migrate/2acb383ec45662f81c5327efa4808374.png)
#下载安装dkms
sudo apt-get install dkms
#安装显卡驱动(后面的440.36记得改成你自己驱动的版本号)
sudo dkms install -m nvidia -v 440.36
安装结束之后,使用nvidia-smi查看:成功显示!
![eb09d8714e05780a180de30f481017d1.png](https://i-blog.csdnimg.cn/blog_migrate/9a21b5d7370fda42e25c6d6cb7623c3f.jpeg)
之后再次保存该快照之后,下次再导入快照创建GPU就没有出现过刚刚找不到显卡驱动那个问题了!(我也不是很清楚是什么原因)
六、总结
为了写这篇博客花了大半天,同时租了滴滴云GPU服务器好几个小时,从头演示截图一遍,写完之后只感觉:我是男神,我好累!。当然玩笑归玩笑,本博客记录了我自己搭建GPU服务器一个过程,希望能帮助想要在Linux中搭建GPU环境的人少走一些弯路(我最初就是没有看到这一类相关教程,花费了好多time和money去配置显卡驱动、cuda、cudnn之类的)。本博文只作为学习用途,并不涉及任何商业推广相关的行为(滴滴云请打钱!)!如果对该博文有什么疑问,欢迎评论区拍砖!
未经允许,请勿随意转载!
如果这篇文章对你有所帮助,可以点赞关注一波!
听说点赞的人都会拥有漂亮的女朋友,工资翻番哦!!!