Ubuntu16.04 + TITAN XP 深度学习服务器环境搭建(驱动安装,CUNN7.6.5, CUDA9.0) (避坑篇)
百因必有果,你们的救星就是我
(万一救不了怎么办.....)
网上的坑能踩我都踩,多天摸爬滚打,亲测有效!
希望能帮到大家.
建议直接上来先跑跑程序看看,能跑就vans了,不要瞎折腾,劝退!
--基本搭建,网上有太多版本了,查阅了很多很多之后才做了这篇总结,主要是针对服务器的搭建,没有图形界面的!!
1.显卡驱动检查:
显卡能否运行需要底层驱动的支持,驱动相当于打开显卡的钥匙
a.我们可以通过以下命令去查看当前服务器的显卡:
lspci | grep -i vga
我的服务器这里并没有能直接看出显卡的型号,在这里一定要建议查清楚自己的显卡型号,后来问师兄,然后才知道是8块TITAN Xp,后面我们可以根据相对应的型号去NVIDIA下载对应的显卡驱动(https://www.nvidia.cn/Download/index.aspx?)
b.接下来我们可以看看我们已经安装的显卡驱动
nvidia-smi
因为我已经爬过坑了,所以所有的驱动都安装成最新的了。
c.再接着我们看看建议安装的显卡驱动
ubuntu-drivers devices 或者 sudo apt-cache search nvidia*
后面的命令,有一说一,我试了,但是没显示,但是前者可行
在这里需要小提一句,建议先把ppa源加进系统然后更新,有关ppa的介绍可以看下这篇知乎(https://zhuanlan.zhihu.com/p/55250294)
这里涉及ppa的命令有以下:
sudo add-apt-repository ppa:graphics-drivers/ppa #命令添加Graphic Drivers PPA sudo apt-get update
再一次有一说一,对命令一,我这边的服务器不感冒!,然后想着就只更新apt-get,结果好像也成:没更新之前建议安装的显卡驱动只是396版本,更新之后直接送我430版本....
确实,觉得sudo apt-get update还蛮重要的!
忘记放我的建议驱动图了:
430!!!!(damn)
2.安装驱动
a.下载驱动
在下载地址下载指定显卡的最高版本的驱动程序,也可以从下载地址中查询指定版本显卡的全部版本的驱动程序,有一说一,我下载了最高版本的驱动,因为确实似乎找不到指定版本的!
b.卸载原有驱动
sudo apt-get purge nvidia*
c.安装依赖
sudo apt-get install build-essential gcc-multilib dkms
d.禁用nouveau
新建blanklist-nouveau.conf文件:
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在文件里写入:
blacklist nouveau blacklist lbm-nouveau options nouveau modeset=0 alias nouveau off alias lbm-nouveau off
保存并退出,执行:
sudo update-initramfs -u
重启后检查nouveau是否禁用成功(如果输入命令之后没有输出则禁用成功):
lsmod | grep nouveau
e.获取kernel source
查询uname:
uname -r
接下来执行(将x.x.x-x-generic替换为上一步查询到的内容):
apt-get install linux-source apt-get install linux-headers-x.x.x-x-generic
f.禁用X服务
sudo /etc/init.d/lightdm stop
ps:这时候图形界面会被关闭,同时按下Crtl+Alt+F1进入命令行界面,输入用户名和密码进入终端(由于我这里是服务器,所以直接就是终端)
g.安装驱动
给驱动赋予执行权限:
sudo chmod a+x NVIDIA-Linux-x86_64-***.run
运行(注意参数):
sudo ./NVIDIA-Linux-x86_64-***.run --no-opengl-files –no-x-check –no-nouveau-check
参数解释:
-
-
- –no-opengl-files 只安装驱动文件,不安装OpenGL文件,
- –no-x-check 安装驱动时不检查X服务,
- –no-nouveau-check 安装驱动时不检查nouveau。
-
安装过程中的一些选项:
>The distribution-provided pre-install script failed! Are you sure you want to continue?
>Yes
>Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
>No
>Install Nvidia's 32-bit compatibility libraries?
>No
>Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up?
>Yes
h.检查安装是否成功;
开启图形界面:
sudo /etc/init.d/lightdm start
输入:
nvidia-smi
得到输出:
Ref:https://blog.****.net/weixin_30907523/article/details/95560628
致谢!鸣鼓!!!!
3.安装CUDA,CUDNN
CUDA,CUDNN的介绍在这里就不详细展开了,前者好比是工作台,后者好比是扳手,扳手只是个工具。
在这里!要多说一句!就是,先检查一下自己的服务器是否已经装有了CUDA和CUDNN
操作可以参考:
https://blog.****.net/fu6543210/article/details/90916810
https://blog.****.net/qq_38451119/article/details/83302585
致谢!鸣鼓!!请吃鸭腿!!!
如果没有,或者版本过低(删除,重新下载),则可以参考下面步骤:
a.CUDA的安装
CUDA8.0下载地址;CUDA9.0下载地址;CUDA10.0下载地址;CUDA历史发行版本下载地址(根据网上大部分楼主的选择,9.0无疑)
点download,点它!!!
给CUDA赋予执行权限:
chmod +x ./cuda_9.0.176_384.81_linux.run
安装:
sudo ./cuda_9.0.176_384.81_linux.run
安装过程中的一些选项:
>Do you accept the previously read EULA?
>accept/decline/quit: accept
>Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
>(y)es/(n)o/(q)uit: n
>Install the CUDA 9.0 Toolkit?
>(y)es/(n)o/(q)uit: y
>Enter Toolkit Location
> [ default is /usr/local/cuda-9.0 ]:
>Do you want to install a symbolic link at /usr/local/cuda?
>(y)es/(n)o/(q)uit: n
>Install the CUDA 9.0 Samples?
>(y)es/(n)o/(q)uit: n
添加环境变量:
sudo gedit ~/.bashrc
export PATH="/usr/local/cuda-9.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH"
b.检查CUDA是否安装成功:(若最后显示Result = PASS,表明cuda查询显卡信息成功。)
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery sudo make ./deviceQuery
ps:如果安装过程中出现找不到某库的错误,百度这个错误安装相应的库即可。
参考博客:参考1, https://blog.****.net/weixin_30907523/article/details/95560628
c.安装CUDNN
(1)下载cudnn:
cudnn的下载需要注册登录NVIDIA的账号,
我下载的是cuDNN v7.6.5 , for CUDA 9.0 (cuDNN Library for Linux) 下载地址
(2)安装:
tar -zxvf cudnn-****.tgz sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ sudo chmod a+r /usr/local/cuda/include/cudnn.h sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
弄好后可以查看一下cudnn的版本
7.6.5 woc!!终于结束基本搭建了!
至于anaconda的安装,库的安装那些,大家可以参考其他blog,这基本上不会有太大差异,而以上的基本搭建,网上有太多版本了,查阅了很多很多之后才做了这篇总结,主要是针对服务器的搭建,没有图形界面的!!
-----再补充点东西趴,爬过坑,能跳就跳----
1.xftp, xshell的使用,建议结合xmanager(xmanager太方便了)
https://blog.****.net/Lq_520/article/details/80670999
https://blog.****.net/qq_41870658/article/details/93330041
2.无法连接NVIDIA驱动:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver
https://blog.****.net/hangzuxi8764/article/details/86572093
3.下载anaconda
官方下载渠道速度可能比较慢,可以直接下载清华镜像
下载好之后可以通过xftp从windows上面把文件拷过去linux
命令行终端输入:
bash ./Anaconda*.sh
这样就可以安装了
ps:这里需要注意一下,原本的服务器是否装了默认的python解释器,如果有的话一般好像是输入python3才是对应的anaconda版本中的python解释器
anaconda创建虚拟环境:
conda create -n env_name python=3.6
**虚拟环境:
source activate env_name
我透!!终于T_T,天亮了......