搞机器学习也有一段时间了,每次部署GPU开发环境就是一场战争,先记录一下基本步骤,结合网上资料和个人实践整理如下:
在开机启动项的Security选项中检查UEFI是否开启,如果开启的话请立马关掉它(重要)
在开机启动项的Boot选项中检查Secure Boot是否开启,如果开启的话请立马关掉它(重要)
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
如果有图形化界面则需要禁用x-window服务
sudo service lightdm stop
或
sudo /etc/init.d/lightdm stop
安装好依赖包后需要禁用 nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动,禁用方法就是在 sudo vim /etc/modprobe.d/blacklist.conf文件中添加一条禁用命令
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
执行如下命令:
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf build the new kernel by:
最后更新后重启电脑
sudo update-initramfs -u
reboot
首先去官网 http://www.nvidia.com/Download/index.aspx?lang=en-us 查看适合自己显卡的驱动并下载:驱动文件后缀名应当是以.run结尾的。如显卡为GeForce GTX1060型号的驱动如下:
下载完后安装即可,之后就能用nvidia-smi命令了
进入 https://developer.nvidia.com/cuda-downloads,依次选择 CUDA 类型然后下载对应的CUDA即可,下面以CUDA8.0为例:
如果有图形化界面则需要禁用x-window服务
安装cuda驱动
sh cuda_8.0.61_375.26_linux.run
注:
这个时候会有很多提示需要你确认,由于在第一步已经成功安装了显卡驱动,所以这里就不需要再次安装了,因此 ,Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 3XX.XX ?这里选择 no,其余都是yes或者accept
在.bashrc添加环境变量后source .bashrc
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
cuDNN是GPU加速计算深层神经网络的库。首先去官网 https://developer.nvidia.com/rdp/cudnn-archive下载cuDNN,需要注册一个账号才能下载。下载如下:
下载后进行解压:
tar -zxvf cudnn-8.0-linux-x64-v5.0-ga.tgz
进入cuDNN5.0解压之后的include目录,在命令行进行如下操作:
cd cuda/include
sudo cp cudnn.h /usr/local/cuda/include #复制头文件
再将进入lib64目录下的动态文件进行复制和链接:
cd ..
cd lib64
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.5.0.5
sudo ln -sf libcudnn.so.5.0.5 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ldconfig