以下为你介绍Ubuntu18.04操作系统下安装CUDA9.0+cuDNN7.1.3+TensorFlow1.8。
本文的起因是Ubuntu18.04发行已经有一段时间了,正好最近Tensorflow也发布了1.8版本,于是决定两个一起装上,以下是安装总结,大致可以分为5个步骤:
1.确认当前软件和硬件环境、版本
2.更新显卡驱动,软件版本准备
3.CUDA 9.0 ToolKit安装
4.cuDNN7.1.3 for CUDA9.0安装
5.TensorFlow GPU 安装
6.Test it!
1.确认硬件软件环境、版本
系统版本是Ubuntu18.04,使用指令sudo lsb_release -a,得到以下输出结果:
No LSB modules are available.
Distributor ID:Ubuntu
Description:Ubuntu
Codename:bionic
GCC和G++ 版本,18.04的ubuntu默认的是7.0,同时也有附带安装6.0,不过我们这次安装需要更低版本的GCC以及G++
gcc --version 查看GCC版本号 gcc (Ubuntu 7.0 -4ubuntu8) 7.0
g++ --version 查看G++版本号 g++ (Ubuntu 7.0-4ubuntu8) 7.0
我选择采用的是4.8版本gcc和g++,后面给出降级方法。
英伟达显卡驱动版本,使用nvidia-smi 可以得到相关信息,我使用的是GTX970显卡,驱动已经更新到390.48版本。
Python 版本,python2 –version 和 python3 –version,应该对应2.7+ 和 3.6+版本了都,默认较新版本,可以忽略。
2.更新显卡驱动,软件版本准备
主要是更新显卡驱动,以及降级默认GCC/G++版本.
如果是已经装过NVIDIA显卡驱动,通过以下指令升级
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update sudo
apt install nvidia-390
如果有NVIDIA显卡,但是没有安装过显卡相应驱动,CUDA Toolkit中会有集成的384版本驱动,需要关闭图形界面到指令行界面安装,相关方法请上网查找。
GCC降级
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
装完后进入到/usr/bin目录下
$ls -l gcc*
会显示以下结果
lrwxrwxrwx 1 root root 7th May 16 18:16 /usr/bin/gcc -> gcc-7.0
发现gcc链接到gcc-7.0,需要将它改为链接到gcc-4.8,方法如下:
sudo mv gcc gcc.bak #备份
sudo ln -s gcc-4.8 gcc #重新链接
同理,对g++也做同样的修改:
ls -l g++*
lrwxrwxrwx 1 root root 7th May 15:17 g++ -> g++-7.0
需要将g++链接改为g++-4.8:
sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++
再查看gcc和g++版本号:
gcc -v g++ -v
均显示gcc version 4.8,说明gcc 48.8安装成功。
3.CUDA ToolKit 安装
CUDA 到CUDA9.0 下载页面下载runfile(最近NVIDIA官网被停)安装,Tensorflow官网给的暂时还是9.0版本,新版本可以尝试一下.稳妥起见,这里选择9.0。
下载9.0安装包和2个补丁包之后
~/Downloads 文件夹应该有以下三个文件
ls |grep cuda_9.0
cuda_9.0.176.1_linux.run
cuda_9.0.176.2_linux.run
cuda_9.0.176_384.81_linux.run
在确认GCC版本在4.8后,直接输入以下指令
sh cuda_9.0.176_384.81_linux.run --override
执行,如果有安装了显卡驱动的,注意在提问是否安装显卡驱动时选择no,其他 选择默认路径或者yes即可。如果没有安装显卡驱动,需要退出图形界面,到命令行终端安装,这里不再赘述。
安装完成后,可能会得到提示,CUDA 安装不完整,这是因为显卡驱动没有安装,这里忽略掉。同样的方法安装两个补丁包.
sh cuda_9.0.176.1_linux.run
sh cuda_9.0.176.2_linux.run
安装完毕之后,将以下两条加入.barshrc文件中。
sudo vim ~/.barshrc
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}}
4.cuDNN7.1.3安装
cuDNN 到 cuDNN 官网页面下载即可,这里注意要选择对应CUDA9.0的软件包,下载完毕后,切到默认的Downloads文件夹,可以看到 cudnn-9.0-linux-x64-v7.1.tgz 压缩包
先解压,后复制到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*
完成后,可以到~/NVIDIA_CUDA-9.0_Samples/文件夹下测试CUDA功能完整性。这里参照CUDA Getting Start测试即可。一般都会在结果输出Test pass 字段。
5.Tensorflow 安装
这里选择的是在本机上安装Tensorflow,其他安装方式可以参照官网介绍。
pip install tensorflow-gpu
默认安装最新版本1.8,如果要安装教老版本,上述指令后面加上==$版本号即可。
6.验证测试
在python3 中输入以下代码:
>>> import tensorflow as tf
>>> hello = tf.constant('hello tensorflow')
>>>with tf.Session() as sesh:
... sesh.run(hello)
输出结果应该是hello tensorflow,并且附带上GPU相关信息。
至此安装过程全部完成。
相关主题