欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录

程序员文章站 2022-07-04 20:13:58
...

一、安装NVIDIA驱动

关闭x-server,ctrl + alt + F1 进入终端界面,登陆

sudo service lightdm stop

(X server将会被关闭。可以使用ctrl + alt + F7 检查一下)禁用 nouveau 驱动

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

输入

blacklist nouveau
options nouveau modset=0

保存退出,执行

 sudo update-initramfs -u

禁用结束。重启电脑。验证驱动是否禁用成功,如果没有内容,则禁用成功。

sudo lspci | grep nouveau

Nvidia驱动

先下载显卡驱动NVIDIA-Linux-x86_64-*..run文件
ctrl + alt + F1 进入终端界面,登陆

sudo service lightdm stop 

(X server将会被关闭。可以使用ctrl + alt + F7 检查一下)

sudo chmod a+x NVIDIA-Linux-x86_64-**.**.run
sudo sh ./NVIDIA-Linux-x86_64-**.**.run –no-opengl-files
sudo rm /etc/X11/xorg.conf
sudo reboot

检测配置成功

nvidia-smi

如果nvidia-smi运行报错,什么 as root,好像是因为Ubuntu本身的问题,进BIOS,找到security boot,关闭,可解决大部分问题

二、安装cuda

目前大部分教程是安装的cuda8.0+cuDNN6.0 配置,一开始的时候也是按这个版本的教程来的,期间还下错过版本的重新下载。不过Tensorflow1.5应该是支持9.0的,我换源之后pip安装的tensorflow是1.5版本的,之前配好了cuda8.0,这个提示要用9.0,很无奈,又下载了一遍。
Cuda9.0下载界面:https://developer.nvidia.com/cuda-release-candidate-download
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录
下载好之后按执行命令

sudo sh cuda_9.0.176_384.81_linux.run

进行安装,要注意几个选项,他会有一个选项问你是否需要安装NVIDIA的驱动,我们之前已经安装好了,所以这一步选择NO,(我猜在这里直接装驱动的话,还是会GG,因为那个opengl)
一定选择NO 要不然之前的驱动白装了
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录
这个界面是让你去读一些协议啥的,而且很长,ctrl+c可以直接跳过
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录

安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc 的尾部:

# 个人推荐的方法
# the path for cuda
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

或者

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}}
  • gcc g++ 版本问题
    查看gcc版本信息:gcc –v
    查看g++版本信息:g++ –v
    (待查证)由于cuda8.0不支持gcc 5.0以上的编译器,因此需要降级,把编译器版本降到4.9:
sudo apt-get install g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++

检查是否装好:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
# 编译 可能需要sudo 
make   
# 运行
./deviceQuery 

Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录
最后显示Result = pass 是校验通过的意思

cd /usr/local/cuda/samples/1_Utilities/bandwidthTest
make
./bandwidthTest

来测试系统和CUDA组建的通信无误,正常结果输出如下:
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录

三、安装cuDNN

cuDNN全称 CUDA Deep Neural Network library,是NVIDIA专门针对深度神经网络设计的一套GPU计算加速库,被广泛用于各种深度学习框架,例如Caffe, TensorFlow, Theano, Torch, CNTK等。

首先需要下载cuDNN,直接从Nvidia官方下载链接选择一个版本,对
CUDA8.0支持较好的是v6.0,我安装的是CUDA9.0,所以选择安装的是V7.0.5版本的CUDNN
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录

tar -zxvf cudnn-9.0-linux-x64-v7.tgz
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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

这个的安装还是比较简单的,下载到包之后解压,然后复制一下就行

四、安装TensorFlow

可以选择换源,可以将pip源指向阿里云的源镜像
http://mirrors.aliyun.com/help/pypi
具体添加一个 ~/.config/pip/pip.conf 文件,

cd ~/.config/
mkdir pip
cd pip
vim pip.conf

设置为:

[global]
trusted-host =  mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple

或者清华的pip源 https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
$ sudo pip install tensorflow          # Python 2.7; CPU support (no GPU support)
$ sudo pip3 install tensorflow         # Python 3.n; CPU support (no GPU support)
$ sudo pip install tensorflow-gpu      # Python 2.7;  GPU support
$ sudo pip3 install tensorflow-gpu     # Python 3.n; GPU support 

Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录

配好CUDA环境之后,安装tensorflow挺简单简单,不过源码github安装,自己能够找到自己的目录文件夹,但是pip安装直接找不到文件夹。

  • 测试是否安装成功
 aaa@qq.com  ~/.config/pip  python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'1.8.0'
>>> tf.__path__
['/usr/local/lib/python2.7/dist-packages/tensorflow']

aaa@qq.com  ~/.config/pip  python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'1.8.0'
>>> tf.__path__
['/usr/local/lib/python3.5/dist-packages/tensorflow']
>>> 

Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录

源码安装很不好用!
(1) 安装Tensorflow依赖的其它工具包
sudo apt-get install python-numpy swigpython-dev python-wheel
(2) 下载最新的Tensorflow源码
sudo apt-get install git
git clone https://github.com/tensorflow/tensorflow
(3) 运行configure脚本配置环境信息 ./configure
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录
校验Tensorflow安装

**环境(source/tensorflow/bin/active),然后运行

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

如果输出 Hello, TensorFlow!
说明TF安装正常
Ubuntu 16.04 GTX950M + cuda9.0 + cuDNN7.0 + TensorFlow 1.5 / 1.8 安装记录

参考文章
http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B8%BB%E6%9C%BA%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE-ubuntu-16-04-nvidia-gtx-1080-cuda-8

http://www.52nlp.cn/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E4%B8%BB%E6%9C%BA%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE-ubuntu16-04-geforce-gtx1080-tensorflow

http://www.52nlp.cn/%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AEubuntu-1080ti-cuda-cudnn

https://www.tensorflow.org/install/install_linux#InstallingNativePip

相关标签: cuda TensorFlow