Ubuntu16.04下+cuda8.0+cudnn5.1+GTX 960 安装tensorflow-GPU

环境:

Ubuntu16.04

python3.5(自带)

NVIDIA GTX 960

本文需要安装的内容有Cuda8.0和Cudnn5.1和tensorflow-gpu。

一定要注意,cuda版本8.0,cudnn版本5.1,tensorflow-gpu版本1.2.1 ,NVIDIA驱动版本384.*

之前下载最新的版本,比如cuda9+,cudnn6+,tensorflow1.8,驱动390+之类的,怎么都调不通,各种奇葩问题,折腾了两天,最后老老实实下载低版本的,完美解决,真是血的教训啊。当然不是说以上版本一定是绑定的,不会的了,比如在windows下,我使用的Python3.6配置的gpu,详情可以参考我的另一篇文章,因为主要还是在linux下玩,所以windows下的没有一步步列出操作,其实很简单,具体翻上篇吧,文章给出了链接。好了,废话少说,直接上干货。

硬件检测

检查你的显卡是否可以安装Cuda

首先,你要有一块NVIDA的显卡,然后性能评分要大于3.0

显卡性能检测请看这里

 查看显卡的型号
首先安装显卡驱动。首先看自己显卡    
lspci | grep -i vga
lspci | grep -i nvidia
然后看显卡驱动    
lsmod | grep -i nvidia

#查看你的系统信息
uname -m && cat /etc/*release
# 查看核
uname -r
# 为当前核安装kernel headers和development packages
sudo apt-get install linux-headers-$(uname -r)

安装NVIDIA驱动 

打开terminal输入以下指令:


sudoapt-getupdate1 

然后在系统设置->软件更新->附加驱动->选择nvidia驱动(384)->应用更改

或者直接去官网下载:

查询NVIDIA驱动

首先去官网(http://www.nvidia.com/Download/index.aspx?lang=en-us)查看适合自己显卡的驱动: 

然后下载要找的版本即可。

安装

打开终端先删除旧的驱动

sudo apt-get purge nvidia*
  • 1

2.2禁用自带的 nouveau nvidia驱动 (important!)

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

并在文件中添加如下内容: 
blacklist nouveau 
options nouveau modeset=0 
然后在更新一次 sudo update-initramfs -u 

首先我们需要结束x-window的服务,否则驱动将无法正常安装,通过以下命令实现。

sudo service lightdm stop  
  • 1

然后切换到tty1控制台:Ctrl+Alt+F1即可 

安装驱动

cd /home/katherine/  
sudo sh ./NVIDIA*.run 
  • 1
  • 2

重新启动X-Window: sudo service lightdm start,然后Ctrl+Alt+F7进入图形界面 
检查

nvidia-smi 

下载Cuda

按装官方教程,我们可以应该安装Cuda8.0和Cudnn V5.1
(由于Cuda7.5最高支持15.04,所以不推荐安装Cuda7.5,虽然也能运行。另外Cuda8.0一定要安装Cudnn5.1,版本必须匹配)

大家可以到这里来下载Cuda8.0


Ubuntu16.04下+cuda8.0+cudnn5.1+GTX 960 安装tensorflow-GPU_第1张图片

如图,打开主页,列出的永远是最新的版本,注意看清版本,如上是cuda9了,千万别手贱去下载了这个最新的,否则无数坑等着跳吧。

正确的打开方式如下:点击 Legacy Release,选择对应版本。

Ubuntu16.04下+cuda8.0+cudnn5.1+GTX 960 安装tensorflow-GPU_第2张图片

Ubuntu16.04下+cuda8.0+cudnn5.1+GTX 960 安装tensorflow-GPU_第3张图片

.gcc降版本 
ubuntu的gcc编译器是5.4.0,然而cuda8.0不支持5.0以上的编译器,因此需要降级,把编译器版本降到4.9: 
在terminal中执行:

sudo apt-get install g++-4.9

然后和装驱动一样的操作,Alt+F1进入文本界面安装。

cd 到你要下载的目录,执行

sudo sh cuda_8.0.44_linux.run

然后你会看到

Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?

(y)es/(n)o/(q)uit: n

后面的基本都是Yes了

安装完毕,输入

sudo service lightdm start

回到图形界面。

设置Cuda环境变量

到这里,成功了一小半,这里必须设置下环境变量,否则后面TensorFlow运行失败


sudo vi ~/.bashrc

打开配置文件,最后们加入以下几行

Ubuntu16.04下+cuda8.0+cudnn5.1+GTX 960 安装tensorflow-GPU_第4张图片

OK,wq保存下完事。然后,终端运行: source~/.bash_profile#使更改的环境变量生效1

Cudnn 安装

下载Cudnn

到这里下载。 
当然你先得注册一个NVIDA账号,添一堆问卷。 
选择 Download cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0下载 
cuDNN v5.1 Runtime Library for Ubuntu16.04 Power8 (Deb)
安装
或者下载tar,解压后会得到一个Cuda文件夹,复制到Cuda-8.0文件夹中

sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*


安装TensorFlow

终于部署好环境了,现在进入正题,tensorflow的安装前,请先更新下pip,

sudo apt-get install python-pip python-dev   # for Python 2.7
sudo apt-get install python3-pip python3-dev # for Python 3.n
通过调用以下命令之一来安装TensorFlow
pip install tensorflow            # Python 2.7; CPU support (no GPU support)
pip3 install tensorflow          # Python 3.n; CPU support (no GPU support)
pip install tensorflow-gpu    # Python 2.7;  GPU support
pip3 install tensorflow-gpu  # Python 3.n; GPU support 
也可以指定版本,对,必须指定下,不然可能还有坑等着。
pip3 install tensorflow-gpu==1.2.1

最后是测试了。

完成安装开始验证 
在terminal中输入:

python3
  • 1

然后输入程序验证:

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
  • 1
  • 2
  • 3
  • 4

如果安装成功,则会显示 Hello, TensorFlow!


最后,最坑的一点来了,上述一切都正常的情况下,使用tensorflow-gpu没有任何问题,但是打开pycharm ,眼看着配置都是正确的,但是一旦运行,就会报错,

ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory

又是一番折腾,最终还是找到了解决方法。

https://blog.csdn.net/appleml/article/details/76922476

给出解决方案: 

pycharm 菜单栏Run-Edit Configurations 

把cuda的路径添加到environment variables

修改Environment Variables:

Ubuntu16.04下+cuda8.0+cudnn5.1+GTX 960 安装tensorflow-GPU_第5张图片



Ubuntu16.04下+cuda8.0+cudnn5.1+GTX 960 安装tensorflow-GPU_第6张图片



附:

查看CUDA版本和CUDNN版本


Ubuntu16.04下+cuda8.0+cudnn5.1+GTX 960 安装tensorflow-GPU_第7张图片


参考链接:

1.https://blog.csdn.net/qq_30520759/article/details/78947034

2.https://segmentfault.com/a/1190000008234390

3.https://www.aliyun.com/jiaocheng/515113.html

4.https://www.cnblogs.com/luruiyuan/p/6660142.html

你可能感兴趣的:(Linux)