本文主要参考以下博文:
https://blog.csdn.net/balixiaxuetian/article/details/79154013
最新版的tensorflow1.7 和torch0.3都还不支持cuda9.1,真是fuck
硬件:g4560, gt1030
显卡驱动:NVIDIA-Linux-x86_64-384.130.run
装了一周的cuda,ubuntu之类的坑都踩过,写下这篇文档以备回顾
ps. cuda9.0不能支持gcc6以上的版本,所以如果系统gcc版本高于6,需要先进行gcc和g++降级
参考:https://www.cnblogs.com/wjgaas/p/6124651.html
准备工作:
- 安装依赖包:
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
sudo apt-get install git cmake build-essential
2、禁用nouveau:
打开文件:
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
写入:
blacklist nouveau
options nouveau modeset=0
配置生效:
sudo update-initramfs -u
重启:
Reboot
检查:
lsmod | grep nouveau
如果没有输出,说明禁用成功
- 安装驱动:
从NVIDIA官网下载驱动:NVIDIA-Linux-x86_64-390.87.run
关闭桌面:
sudo service lightdm stop
按ctrl+alt+F2进入终端模式
使用 sudo bash NVIDIA-Linux-x86_64-384.130.run 安装驱动,询问到是否build kernel DKMS 的时候选择no
安装好之后重启
使用nvidia-smi检查是否安装成功:
有输出说明成功
配置环境变量:
sudo gedit ~/.bashrc
加入:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
使环境变量生效:
source ~/.bashrc
- 安装cuda9.0
在桌面环境下即可进行
sudo sh cuda_9.0.176_384.81_linux.run --no-opengl-libs
看完协议后:
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 387.26?
(y)es/(n)o/(q)uit: n
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 387.26?
(y)es/(n)o/(q)uit: n
Install the CUDA 9.1 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]: Enter
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y
Enter CUDA Samples Location
[ default is /home/ccem ]: Enter
配置环境变量:
sudo gedit ~/.bashrc
加入:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
使环境变量生效:
source ~/.bashrc
检查:
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果出现显卡信息, 并且最后一行为:
Result = PASS
说明成功, 如果为FAIL 则是显卡驱动和cuda不符合,另外安装
卸载cuda:
cd /usr/local/cuda/bin
sudo ./uninstall_cuda_9.0.pl
到/usr/local下:
sudo rm -r cuda-9.0
5、安装CUDNN:
解压:cudnn-9.0-linux-x64-v7.0.tgz
得到cuda文件夹, 进入include文件夹:
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
进入lib64文件夹:
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有动态文件
sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7 #生成软衔接
sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接
随后需要将路径/usr/local/cuda/lib64 添加到动态库:
sudo gedit /etc/ld.so.conf.d/cuda.conf
添加:
/usr/local/cuda/lib64
检查:
Nvcc -V
- 安装tensorflow:
最新版的tensorflow-gpu1.7 和tensorflow-gpu1.6在import tensorflow as tf 的时候到会报错,无法运行,只能安装tensorflow-gpu1.5,后来找到原因了,奔腾cpu没有avx指令集,要运行更新的版本得自行编译tensorflow
- sudo apt install python-pip
- sudo pip install numpy, pandas, matplotlib, scipy, scikit-learn, scikit-image
- sudo pip install tensorflow-gpu==1.5.0
- 安装pytorch
到pytorch官网:http://pytorch.org/
进入下一个页面:
根据cuda版本和python版本进行选择
(1)sudo pip install torch-0.3.0.post4-cp27-cp27mu-linux_x86_64.whl
(2) sudo pip install pip install torchvision