Ubuntu16.04下安装Tensorflow-gpu

电脑配置及环境如下:
Ubuntu的版本:cat /etc/issue,Ubuntu 16.04.5
Ubuntu的系统位数:sodu uname –m,X86_64
GPU:sudo lshw -numeric -c display, GeForce GTX 750 ti
显卡驱动版本:NVIDIA-Linux-x86_64-390.87
cuda版本:cuda_8.0.61_375.26_linux
cudnn版本:cudnn-8.0-linux-x64-v5.1
tensorflow-gup版本:tensorflow_gpu-1.2.0-cp35-cp35m-manylinux1_x86_64

提示:不要在windows下的虚拟机安装Tensorflow-gpu版本,我尝试在虚拟机上装显卡驱动,装了两天还没有解决问题,后面的步骤无法继续进行,结果只能放弃安装
在安装显卡之前,确保禁用了安全启动选项(不会禁用的可以百度查找),否则安装显卡驱动会显示安装失败

第一步 查看显卡是否适用cuda

进入cuda官网https://developer.nvidia.com/cuda-gpus,查看是否有你的显卡型号,有的话进行下面的操作。 没有则说明显卡不适合cuda直接放弃安装

第二步 安装显卡驱动

不提倡在软件和更新的附加驱动里面更改nvidia驱动
可以进入nivdia官网下载对应的显卡驱动https://www.geforce.cn/drivers
找到显卡适应的全部驱动,
Ubuntu16.04下安装Tensorflow-gpu_第1张图片
我安装的版本是NVIDIA-Linux-x86_64-390.87,下载完后将run文件放到home目录下,在终端下进行如下命令
**1.删除旧的驱动(安装nvidia是会自动删除,可以不执行) **

sudo apt-get purge nvidia*

2.禁用自带的 nouveau nvidia驱动
创建一个文件通过命令

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

并添加如下内容:

blacklist nouveau
options nouveau modeset=0

再更新一下

sudo update-initramfs -u

修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令:

lsmod | grep nouveau

Ubuntu16.04下安装Tensorflow-gpu_第2张图片

(上面执行成功可以跳过这里,直接看步骤二第3点)若上面禁用出现错误,可以尝试在重启Ubuntu,在下面这个界面的时候,按e进入编辑grub启动项参数
Ubuntu16.04下安装Tensorflow-gpu_第3张图片

找到$vt_handoff这个词,在前面添加nomodeset_,然后按F10启动,启动后图标变大,不慌,继续进行下面的步骤
Ubuntu16.04下安装Tensorflow-gpu_第4张图片

3.禁用X-Window服务

sudo service lightdm stop

然后按Ctrl-Alt+F1进入命令行界面,输入用户名和密码登录即可。
4.给驱动run文件赋予执行权限:

sudo chmod +x NVIDIA-Linux-x86_64-390.87.run

安装驱动

sudo ./NVIDIA-Linux-x86_64-390.87.run –no-opengl-files
 #(–no-opengl-files防止循环登录的问题)

安装完成后在命令界面输入

sudo service lightdm start

5.检测是否安装成功

nvidia-smi

Ubuntu16.04下安装Tensorflow-gpu_第5张图片

nvidia-settings

Ubuntu16.04下安装Tensorflow-gpu_第6张图片
验证其中一种即可,到这里显卡驱动既是安装成功。
若是上面安装有问题,可以参考这个链接https://blog.csdn.net/u014682691/article/details/80605201

第三步 安装cuda

到nvidia官网下载cuda文件,https://developer.nvidia.com/cuda-toolkit-archive,找到与显卡驱动相适应的cuda版本,将下载好的文件放到home目录下
Ubuntu16.04下安装Tensorflow-gpu_第7张图片
接下来进行安装
1、关闭x_windows,安装cuda

sudo service lightdm stop

Ctrl + Alt + F1 进入文本模式,然后运行 CUDA 安装文件进行安装

sudo sh cuda_8.0.61_375.26_linux.run --no-opengl-libs

其中 cuda_8.0.61_375.26_linux.run 是我的 CUDA 安装文件名,而你需替换为自己的 CUDA 安装文件名,若此时忘记可直接通过 ls 文件查看文件名,这也是我建议把 CUDA 安装文件移动到 HOME 下的另一个原因。
执行此命令约1分钟后会出现 0%信息,此时按空格键让此百分比增长,直到100%,然后按照提示操作即可,先输入 accept ,然后让选择是否安装 nvidia 驱动,这里的选择对应第2步开头,若未安装则输入 “y”,若确保已安装正确驱动则输入“n”。
剩下的选择则都输入“y”确认安装或确认默认路径安装,开始安装,此时若出现安装失败提示则可能为未关闭桌面服务或在已安装 nvidia 驱动的情况下重复再次安装 nvidia 驱动,安装完成后输入重启命令重启

sudo reboot

2、配置cuda环境变量

sudo gedit ~/.bashrc

在文末尾添加:

export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

文件生效:

source ~/.bashrc

3、检查是否安装成功cuda
执行命令如下:

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

`第二次make会出错,可以先使用sudo make clean清除之前的编译文件`

出现如下界面既是安装成功
Ubuntu16.04下安装Tensorflow-gpu_第8张图片
若是出现gcc编译错误等问题,可以选择降低gcc版本
4、降低gcc,g++版本
我装的cuda版本为8.0,gcc5.0以上版本和将要安装的环境不匹配,在检查cuda安装成功过程中若是不降级会报一个错误

sudo apt-get install -y gcc-4.8
sudo apt-get install -y g++-4.8 
cd /usr/bin
sudo rm gcc 
sudo ln -s gcc-4.8 gcc 
sudo rm g++ 
sudo ln -s g++-4.8 g++

5、检测gcc和g++版本

ls -al gcc g++ 
gcc --version
g++ --version

降低后再次执行步骤三第3点

第四步 安装cudnn

登录官网:https://developer.nvidia.com/rdp/cudnn-download ,下载对应 cuda 版本且 Linux 系统的
cudnn 压缩包,注意官网下载 cudnn 需要注册帐号并登录
Ubuntu16.04下安装Tensorflow-gpu_第9张图片也可从我的网盘下载:https://pan.baidu.com/s/1kf5YvLfFOlm2_3pmyaGpBA
版本为:cudnn-8.0-linux-x64-v5.1.tgz
#下载完成后解压

tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz

#删除原有动态文件

cd cuda/lib64
sudo rm -rf libcudnn.so libcudnn.so.5

#复制头文件

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/

#复制动态链接库

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d

#生成软衔接

sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5

#生成软链接

sudo ln -s libcudnn.so.5 libcudnn.so

安装完成后通过下图检测是否安装成功
进入home目录

cd ~
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

Ubuntu16.04下安装Tensorflow-gpu_第10张图片

第五步 安装tensorflow-gpu

sudo pip install tensorflow-gpu==1.2.0

安装成功截图如下:
Ubuntu16.04下安装Tensorflow-gpu_第11张图片

第六步 安装验证

在终端输入python3,输入

	import tensorflow as tf  
	hello = tf.constant('Hello, Word!')  
	sess = tf.Session()  
	print(sess.run(hello)) 

如果输出‘Hello, World!’即说明安装成功~

参考博客
Cuda安装步骤记录(超详尽)
https://blog.csdn.net/sinat_24143931/article/details/78690059
ubuntu16.04 安装tensorflow-gpu1.3 cuda8 cudnn6.0
https://blog.csdn.net/xd_wjc/article/details/80610762
ubuntu安装显卡驱动的三种方法
https://blog.csdn.net/u014682691/article/details/80605201

你可能感兴趣的:(环境搭建及安装,Tensorflow,Ubuntu,GPU)