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

 

显卡性能检测请看这里

 

cuda版本对应的nvidia驱动版本要求

 

 

 查看显卡的型号
首先安装显卡驱动。首先看自己显卡    
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

 

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

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

 

 

 

.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

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

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:

 

 

 

 

附:

操作过程记录

一、pip3安装 ,版本19.1.1

tar -zxvf pip-8.0.2.tar.gz
cd pip-8.0.2
python3 setup.py build
python3 setup.py install

[所有包下载后可以通过pip安装]
 pip install+ whl文件位置
二、numpy安装
pip3 install numpy*.whl
以下类推、
scikit-image  0.15.0
scikit-learn 0.21.1
scipy 1.2.1

三、目标环境:cuda9.0 cuDNN7.0.5_for_cuda9.0 tensorflow

显卡:NVIDIA GeForce GTX 1070ti

流程:

1.安装NVIDIA显卡驱动
2.安装CUDA
3.降低gcc,g++版本
4.安装CUDNN
5.安装Anaconda
6.安装Tensorflow-gpu

1.驱动下载完成后,卸载之前安装的NVIDIA驱动:

sudo apt-get remove --purge nvidia*

接着为下载的NVIDIA驱动赋权,并使用驱动文件执行unistall操作:

sudo chmod +x *.run
sudo ./NVIDIA-Linux-x86_64-410.78.run --uninstall


接下来需要禁用nouveau,打开/etc/modprobe.d/blacklist.conf在文本最后一行添加
blacklist nouveau


sudo vim /etc/modprobe.d/blacklist.conf
然后执行:sudo update-initramfs -u
sudo reboot

重启,lsmod | grep nouveau
接下来终于可以安装下载的驱动文件啦,重启开机后,按Ctrl-Alt+F1,输入用户名和密码登录,进入驱动文件目录,为文件赋权。

sudo chmod a+x NVIDIA-Linux-x86_64-410.78.run

接下来进行安装:
sudo ./NVIDIA-Linux-x86_64-410.78.run -no-opengl-files -no-x-check -no-nouveau-check

上面三个参数的说明:
-no-opengl-files 只安装驱动文件,不安装OpenGL文件。这个参数最重要
-no-x-check 安装驱动时不检查X服务
-no-nouveau-check 安装驱动时不检查nouveau 

2.cuda安装
sudo chmod 777 cuda_9.0.176_384.81_linux.run
sudo sh ./cuda_9.0.176_384.81_linux.run 
配置:
sudo gedit ~/.bashrc

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}}

export CUDA_HOME=/usr/local/cuda

然后source ~/.bashrc

3.cudnn安装
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*

查看安装版本:
cat /usr/local/cuda/version.txt
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2



 

查看CUDA版本和CUDNN版本

 

 

 

cuda卸载:

到CUDA9.0的目录下,找到卸载的文件

/usr/local/cuda-9.0/bin

sudo /usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl

这个过程需要一分钟左右,

sudo rm -rf /usr/local/cuda-9.0/

 

卸载cuDNN

打开终端,输入

sudo rm -rf /usr/local/cuda/lib64/libcudnn

sudo rm -rf /usr/local/cuda/include/cudnn.h

 

参考链接:

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

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值