这里选择了GTX 1060当前最新版410驱动。
$ sudo dpkg --add-architecture i386
$ sudo apt update
$ sudo apt install build-essential libc6:i386
$ sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
$ sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
确认是否禁用成功:
$ cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf
blacklist nouveau
options nouveau modeset=0
$ sudo update-initramfs -u
$ sudo reboot
$ sudo telinit 3
如果没有进入一个新的会话提示你输入用户名的话,按CTRL+ALT+F1打开新的tty会话,输入相应的用户名和密码。
安装nvidia驱动
sh ./NVIDIA-Linux-x86_64-410.78.run
可能会有如下错误提示:
The distribution-provided pre-install script failed!
Are you sure you want to continue? -> CONTINUE INSTALLATION
Would you like to run the nvidia-xconfig utility? -> YES
忽略提示,继续安装。
如果提示:
WARNING: Unable to find suitable destination to install 32-bit compatibility libraries
说明系统缺少32位的兼容库,退出当前driver的安装,执行:
$ sudo dpkg --add-architecture i386
$ sudo apt update
$ sudo apt install libc6:i386
重新安装驱动即可。
安装完成后重启系统,在NVIDIA X Server Settings中即可看到你安装的驱动。
选择对应的平台,和安装方式,这里我选择runfile(local)。
下载得到一个base installer:cuda_9.0.176_384.81_linux.run
和四个patch文件:cuda_9.0.176.1_linux.run,cuda_9.0.176.2_linux.run,cuda_9.0.176.3_linux.run,cuda_9.0.176.4_linux.run
ubuntu18.04默认的gcc,g++版本不满足安装需求,因此需要降级。
安装gcc/g++ 4.8:
$ sudo apt-get install gcc-4.8
$ sudo apt-get install g++-4.8
配置:
$ cd /usr/bin
/usr/bin$ ls -l gcc*
lrwxrwxrwx 1 root root 7 11月 17 14:24 gcc -> gcc-7
可以看到当前gcc链接到了gcc-7(不同系统会稍有不同)
更改链接:
$ sudo mv gcc gcc.bak
$ sudo ln -s gcc-4.8 gcc
$ sudo mv g++ g++.bak
$ sudo ln -s g++-4.8 g++
确认版本号为4.8:
$ gcc -v
$ g++ -v
切到CUDA Toolkit安装包所在目录下,执行:
$ sudo sh cuda_9.0.176_384.81_linux.run --override
一路按空格键到
-----------------
Do you accept the previously read EULA?
accept/decline/quit:
键入accept
按照提示一步一步安装,注意提示是否安装显卡驱动是选择no。
设置环境变量:
$ sudo vi ~/.bashrc
将下面两条命令添加到bashrc中:
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
使其生效:
$ source ~/.bashrc
按顺序依次安装patch:
$ sudo sh cuda_9.0.176.1_linux.run
-----------------
Do you accept the previously read EULA?
accept/decline/quit:
键入accept
同样的操作安装所有的patch。
如需卸载CUDA Toolkit 9.0,执行
/usr/local/cuda-9.0/bin
目录下的卸载脚本。
至此CUDA Toolkit 9.0安装完成。
下载cuDNN(>=7.2)
下载地址
需要注册nvidia,tensorflow要求cnDNN版本大于7.2,这里选择对应于CUDA 9.0的cuDNN7.4,下载相应的.tgz文件。
切到下载cnDNN的目录,解压库包:
$ tar -xzvf cudnn-9.0-linux-x64-v7.4.1.5.tgz
拷贝相应的文件到CUDA目录,并设置相应的权限。
$ 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 /usr/local/cuda/lib64/libcudnn*
检查当前环境是否满足要求(python>=3.4):
$ python3 --version
$ pip3 --version
$ virtualenv --version
安装Python, pip package manager, Virtualenv.
$ sudo apt update
$ sudo apt install python3-dev python3-pip
$ sudo pip3 install -U virtualenv
创建一个新的与系统隔离的环境(笔者选择的是home目录下):
$ virtualenv --system-site-packages -p python3 ./venv
激活环境:
$ source ~/venv/bin/activate
激活成功后shell提示符前会有(venv)
在虚拟环境中安装相关包文件:
(venv) $ pip install --upgrade pip
(venv) $ pip list
(venv) $ pip install --upgrade tensorflow
安装过程中如果出现失败的错误提示可以多试几次,跟网络有一定关系。
注意:
tensorflow>=1.6的版本会用AVX指令集加速,因此一些老的cpu可能不支持。可以安装1.5版本的tensorflow
(venv) $ pip install tensorflow==1.6
卸载tensorflow:
(venv) $ pip uninstall tensorflow-gpu