1、准备工作
从各自官网上下载Anaconda3(Linux)、CUDA(9.0)以及和cuDNN(和CUDA9.0对应的版本),这里使用的是cuDNN v7.0.5,这个版本的CUDA和cuDNN都是目前最新的tensorflow1.8.0所对应的。
2、安装
1、CUDA
在所有的安装程序中,CUDA安装起来是最困难的,首先机器上必须有显卡,查看显卡的命令
lspci | gred -i vga
lspci | gred -i nvidia
根据输出信息去NVIDIA的官网上下载和显卡匹配的CUDA版本
查看显卡驱动命令
lsmod | grep nvidia
前提是机器上安装了nvidia驱动,如果通过CUDA来安装nvidia驱动,则需要将nvidia驱动卸载
如果是通过apt-get命令安装,则卸载命令为
sudo apt-get remove
Ubuntu中默认使用的显示驱动是nouveau,在安装CUDA之前需要禁用该驱动
查看nouveau驱动是否禁用的方法,在终端中输入`lsmod | grep nouveau`,如果有输出,则说明该驱动没有被禁用
禁用方法:
sudo gedit /etc/modprobe.d/blacklisst.conf
在文件后面添加:(禁用nouveau第三方驱动之后也不需要改回来,因为已经存在nvidia驱动)
blacklist nouveau
options nouveau modeset=0
保存文件,并在终端中输入命令进行更新
sudo update-initramfs -u
重启电脑,输入`lsmod | grep nouveau`命令后没有输出,则证明禁用成功,否则重复上述过程
还有一个问题需要注意,Linux的内核可能会与CUDA9.0不兼容
我们的系统是Ubuntu16.04,所以需要选择的内核是Kernel4.4,gcc编译器是5.3.1
下面将介绍一些关于Linux内核的操作。
查看已经安装的内核
sudo dpkg --get-selections | grep linux-image
查看当前使用的内核版本
uname -r
删除内核,如果删除当前版本的内核,系统会自动使用低一级的已安装内核,如果最后一个内核也被删除了,则系统会进入BIOS
sudo apt-get remove linux-image-4.4.0-75-generic
升级或者安装内核
sudo apt-get install linux-image-4.4.0-75-generic
在系统中,我将比Kernel4.4高的版本都卸载,重新启动Ubuntu系统,这样再次启动后,使用的内核将是Kernel4.4
在Kernel中安装内核头文件
sudo apt-get install linux-headers-$(uname -r)
查看内核头文件
dpkg-query -s linux-header-$(uname -r)
到目前为止,关于内核的操作就结束了,作者在内核这里耽误了很长时间
还有最后一步的准备工作,按下ctrl+alt+F1进入命令行界面,我们将在命令行界面安装CUDA,而不是Ubuntu的图形界面,进入图形界面的快捷键是ctrl+alt+F7
进入命令行界面之后,登录,并关闭图形界面,命令是
sudo service lightdm stop
这样就关闭了图形界面,并且可以安装CUDA
sudo sh cuda_9.0.176_384.81_linux.run
开始安装
注意,如果安装程序提醒是否需要安装openGL,选择否
原因是:如果你的电脑跟我一样是双显,且主显是非NVIDIA的GPU在工作需要选择no,否则可以yes),其他都选择yes或者默认即可。(如果您的电脑是双显卡且在这一步选择了yes,那么你极有可能安装完CUDA之后,重启图形化界面后遇到登录界面循环问题:输入密码后又跳回密码输入界面。 这是因为你的电脑是双显,而且用来显示的那块GPU不是NVIDIA,则OpenGL Libraries就不应该安装,否则你正在使用的那块GPU(非NVIDIA的GPU)的OpenGL Libraries会被覆盖,然后GUI就无法工作了
然后重新启动图形界面
sudo service lightdm start
回到Ubuntu的图形界面
如果安装CUDA失败,则可以卸载CUDA程序,并重新安装,卸载命令
sudo /usr/local/cuda-9.0/bin/unstall_cuda_9.0.pl
sudo /usr/bin/nvidia-uninstall
sudo reboot
回到图形界面之后,打开终端,可以验证CUDA是否安装成功
ls /dev/nvidia*
设置环境变量
sudo gedit /etc/profile
export PATH=/usr/local/cuda-9.0/bin${
PATH:+:${
PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${
LD_LIBRARY_PATH:+:${
LD_LIBRARY_PATH}}
保存文件并更新
source ~/.bashrc
验证环境变量是否配置成功
cat /proc/driver/nvidia/version
ncvv -V
当输入`ncvv -V`时,可能会提示错误,根据提示进行安装即可
以上内容大部分参考自[https://blog.csdn.net/QLULIBIN/article/details/78714596](https://blog.csdn.net/QLULIBIN/article/details/78714596)
2、cuDNN
cuDNN的安装相对于CUDA来说简单很多,从官网上下载了cuDNN的压缩包,并对其进行解压,将/include/cudnn.h和/lib/*中的文件分别复制到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*
这样完成了cuDNN的安装
3、Anaconda安装
首先进入Anaconda的下载目录,找到anaconda安装件,执行
sudo sh Anaconda3-5.2.0-Linux-x86_64.sh
完成Anaconda的安装
配置Anaconda的环境变量,在终端中输入
sudo gedit ~/.bashrc
在打开的编辑器中输入
. /home/zyc/anaconda3/etc/profile.d/conda.sh
上述路径视自己的情况而定,这样我们就可以使用conda命令,最常用的conda命令有
conda create -n tensorflow python=3.5
表示创建一个环境,名为tensorflow,对用的Python版本为3.5
conda activate tensorflow
表示激活tensorflow这个环境
pip install --ignore-installed https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.8.0-cp35-cp35m-linux_x86_64.whl
即开始安装tensorflow-gpu的程度,到此我们tensorflow-gpu版本才算安装成功