TensorFlow-GPU版本的安装

TensorFlow可以同时支持CPU和GPU上运行,CPU版本具有很强的通用性,它对硬件的要求不高、安装方便,适合刚接触深度学习的开发者,但是它的数据处理效果没有GPU版本好。GPU版本面向的是大规模无相互联系的数据,具有更大的计算量和吞吐量,所以更多专业深度学习开发者或公司都会选择使用GPU版本。下面进行TensorFlow-GPU版本的Windows和Linux环境的安装介绍。需要安装的软件如下,Windows环境:TensorFlow-GPU 1.8.0+Python 3.5+CUDA 9.0+ cudnn-9.0-windows10-x64-v7.4。Linux/Ubuntu16.04环境:TensorFlow +Python3.6.5 +cuda-9.0 +cuDNN7.0.5_for_cuda9.0。

安装CUDA

在安装CUDA之前,首先要先确认自己电脑的GPU是否支持cuda,一般显卡在GeForce 410M以上的都可以,然后确认在系统中布置Python环境(具体布置Python环境参考2.1.1)。

  1. Windows环境安装

CUDA版本、cuDNN版本、TensorFlow版本应一一对应,我们需要安装TensorFlow-GPU 1.8.0,所以我们这里使用CUDA 9.0。首先下载CUDA安装包,可以在官网上面选择对应的CUDA 9.0安装包(https://developer.nvidia.com/cuda-90-download-archive ),如图5下载完成之后打开安装包进行安装:系统检查->许可协议->选项自定义(在CUDA选项中只需要Development、Runtime、Documentation、Samples,其他的勾选会导致安装错误)如图6->安装完成。

图5 CUDA版本选择页面

图6 CUDA自定义界面

  1. Linux/Ubuntu环境安装

(1)第一步我们要做的是安装NVidia驱动,并安装相关的依赖包,使用如下命令:

# 查看系统推荐的Nvidia driver

$ ubuntu-drivers devices

# 安装驱动

$ ubuntu-drivers autoinstall

# 安装依赖包

$ sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev libfreeimage3 libfreeimage-dev

如果原先N卡上有驱动的话需要卸载(可选):

$ sudo chmod +x *.run

$ sudo ./NVIDIA-Linux-x86_64-384.59.run –uninstall

# 检测是否安装成功,出现GPU信息说明成功

$ nvidia-smi

(2)很重要的一步,禁用Nouveau驱动,否则会影响后面的操作:

# 打开文本

$ sudo gedit /etc/modprobe.d/blacklist.conf

# 打开文本之后在末尾加入下面的命令

$ blacklist nouveau

$ options nouveau modeset=0

# 启动更改

$ sudo update-initramfs -u

# 重启之后在终端输入如下命令,没有输出则禁用Nouveau成功

$ lsmod | grep nouveau

(3)安装CUDA9.0

在官网(https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux)下载对应版本的CUDA文件,如图7:

图7 CUDA选项页面

需要下载三个文件:

cuda_9.0.176_384.81_linux.run

cuda_9.0.176.1_linux.run

cuda_9.0.176.2_linux.run

# 在终端进入文件所在的目录使用如下命令安装

$ sudo chmod +x cuda_9.0.176_384.81_linux.run

$ sudo chmod +x cuda_9.0.176.1_linux.run

$ sudo chmod +x cuda_9.0.176.2_linux.run

$ ./cuda_9.0.176_384.81_linux.run --override

$ ./cuda_9.0.176.1_linux.run

$ ./cuda_9.0.176.2_linux.run

(4)测试CUDA

测试需要使用gcc和g++版本为6.0以下进行编译否则会出错,系统自带的版本比需要的版本高,所以将版本降为5.0

$ sudo apt install gcc-5 g++-5

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50

$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50

# 将CUDA设置在环境变量中

$ vim ~/.bashrc

在文本末尾加入

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:/usr/ local/cuda/ extras/CPUTI

/lib64

export CUDA_HOME=/usr/local/cuda-9.0/bin

export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME

# 开始测试

$ cd ~/NVIDIA_CUDA-9.0_Samples/5_Simulations/fluidsGL

$ sudo make clean && make

$ ./fluidsGL

$ sudo apt-get install libcufft9.1

出现如图8情况则CUDA安装成功

图8 CUDA测试结果

安装cuDNN库

  1. Windows环境安装

cuDNN压缩包下载需要在官网上下载https://developer.nvidia.com/cudnn,找到cudnn-9.0-windows10-x64-v7.4版本,下载解压之后将包中的三个文件夹bin、include、lib分别拷贝到CUDA默认安装路径的CUDA文件夹下,CUDA的默认安装路径为C:\Program Files\NVIDIA GPU Computing Toolkit,放在CUDA文件目录中的bin、include、lib\x64三个文件夹下,如图9、图10:

图9 cuDNN压缩包文件

图10 CUDA文件目录

完成cuDNN的安装之后,接下来就是安装TensorFlow。TensorFlow的安装很简单,可以直接使用Python3.5中的pip命令进行安装:

$ pip3 install –upgrade tensorflow-gpu==1.8.0

https://img-blog.csdnimg.cn/20181031210121936.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9odWlodWkxOTk0,size_16,color_FFFFFF,t_70

图11 TensorFlow安装

  1. Linux/Ubuntu环境安装

在官网(https://developer.nvidia.com/rdp/cudnn-archive)下cuDNN7.0.5_for_cuda9.0对用版本,之后进行解压安装。

(1)解压文件

$ tar -zxvf cudnn-9.0-linux-x64-v7.1.tgz

(2)移动文件到CUDA目录下

$ sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/

$ sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/

(3)更改文件权限

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

设置完成

(4)TensorFlow-GPU 1.8 pip安装

$ pip install --upgrade tensorflow-gpu

 

 

 

测试GPU环境

  1. Windows环境安装

安装完成之后需要进行环境测试,首先在CMD中输入python进入python编译环境,然后通过下面的代码进行测试TensorFlow是否正常安装:

>>> import tensorflow as tf

>>> a = tf.test.is_built_with_cuda()  # 判断CUDA是否可以用

>>> b = tf.test.is_gpu_available(

    cuda_only=False,

min_cuda_compute_capability=None

)                                    # 判断GPU是否可以用

>>> print(a)

>>>print(b)

 

如果输出结果为:

Ture

Ture

说明CUDA、TensorFlow、GPU都可用

图12 TensorFlow-GPU环境测试

 

  1. Linux/Ubuntu环境安装

在终端输入Python,进入Python编译环境,之后输入命令

>>>from tensorflow.python.client import device_lib

>>>device_lib.list_local_devices()

出现GPU的类型和相关信息说明安装成功。

猜你喜欢

转载自blog.csdn.net/charles_zhang_/article/details/92989244