如何优雅地给windows和Ubuntu安装tensorflow的gpu版本

如何优雅地给Windows和Ubuntu安装tensorflow-gpu

本次测试的电脑为联想拯救者15 -isk,显卡为:NVIDIA GeForce GTX960M

Windows 10+CUDA 8.0+cuDNN 6.0+Tensorflow-gpu 1.4.0

第一步:安装Anaconda

Anaconda能够方便地为Python安装各种包,因此本博客Tensorflow-gpu的安装基于该软件。
Anaconda介绍能够通过以下博客了解
https://blog.csdn.net/wyx100/article/details/79453941

安装Anaconda并不困难,进入官网https://www.anaconda.com/download/ 安装windows版本,本次安装的Anaconda版本为 4.5.4,该版本Anaconda中自带有Python 3.6,因此安装前不需要安装Python。Anaconda安装时勾选加入系统环境的选项,同时应注意,如果电脑之前安装过Python并将其加入过环境,最好将原Python从环境中移除,并将Anaconda中的Python加入环境中。如何将python添加进环境请参考
https://blog.csdn.net/wsyzxss/article/details/79269522
另外,Anaconda中自带的python.exe在Anaconda3文件夹下。

第二步:确认电脑显卡所对应的CUDA版本

不同显卡支持的CUDA版本不同,在安装CUDA前必须确认显卡所支持的CUDA版本,否则会出现未知错误。查看CUDA版本的步骤请转至
https://jingyan.baidu.com/article/6fb756ec4fabc4241858fbf7.html

第三步:安装电脑显卡所对应的CUDA版本

根据第二步中得到的支持版本信息,进入https://developer.nvidia.com/cuda-toolkit-archive 选择下载。根据NVIDIA提供的信息,本台电脑所支持的CUDA版本为8.0,因此下载CUDA 8.0并安装

第四步:为所安装的CUDA配置对应的cuDNN

下载cuDNN前需确认CUDA版本所对应的cuDNN版本,确认版本请参考
https://blog.csdn.net/lifuxian1994/article/details/81103530
CUDA 8.0对应的cuDNN的版本为5.1或6.0,本次下载的cuDNN为6.0版本。所下载的cuDNN实际上是一个压缩包,将压缩包解压能够得到4个文件(如下图所示)
这里写图片描述
将解压得到bin中文件cudnn64_6.dll复制于CUDA->v8.0->bin中(如果CUDA 9.0的话应该是CUDA->v9.0->bin吧),如下图所示
这里写图片描述
解压得到的include同理,将其内容放入CUDA->v8.0->include中相对应文件夹中;
解压得到的lib文件夹中有x64文件夹,将x64文件下中内容放入放入CUDA->v8.0->lib->x64;
将CUDA->v8.0的bin文件夹和CUDA->v8.0->lib的x64文件夹加入系统环境中。

第五步:安装Tensorflow-gpu

安装Tensorflow-gpu前需要确认CUDA版本和cuDNN版本所支持的Tensorflow-gpu版本,请参照
https://blog.csdn.net/lifuxian1994/article/details/81103530;
本机CUDA版本为8.0,cuDNN版本为6.0,因此只能安装Tensorflow-gpu 1.4.0版本;
此时我们需要用到Anaconda了,打开Anaconda Prompt;
创建Tensorflow-gpu的环境,在弹出的窗口中写入并运行
conda create --name tensorflow-gpu python=3.6
安装完成后激活Tensorflow-gpu的环境
activate tensorflow
此时界面变为
这里写图片描述
安装Tensorflow-gpu 1.4.0版本
pip install --user tensorflow-gpu==1.4.0
不出意外的话就恭喜你tensorflow-gpu安装完成

第六步:测试

接下来测试刚装好的tensorflow-gpu
打开cmd窗口,进入python编辑环境,逐行输入

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

Ubuntu 16.04+CUDA 9.0+cuDNN 7.2.1+Tensorflow-gpu 1.10.0

第一步:禁用nouveau驱动和关闭图形界面

nouveau是ubuntu自带的显卡驱动,但是该驱动会与NVIDIA的驱动产生冲突,因此在安装NVIDIA驱动前需将其禁用,方法如下:

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

在文件末尾加上

blacklist nouveau
options nouveau modeset=0

保存后执行

sudo update-initramfs -u
reboot

重启之后执行lsmod | grep nouveau,倘若没有输出,说明禁用成功
关闭系统图形界面

sudo service lightdm stop

按Ctrl-Alt+F1进入命令行界面,并输入用户名和密码
本步操作参照于https://blog.csdn.net/CosmosHua/article/details/76644029

第二步:安装显卡驱动

将PPA加入系统索引

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

安装驱动(版本型号在NVIDIA官网上查询,本次安装型号为384)

sudo apt-get install nvidia-384

第三步:确认电脑显卡所对应的CUDA版本

不同显卡支持的CUDA版本不同,在安装CUDA前必须确认显卡所支持的CUDA版本,否则会出现未知错误。查看CUDA版本的步骤请转至
https://jingyan.baidu.com/article/6fb756ec4fabc4241858fbf7.html

第四步:安装电脑显卡所对应的CUDA版本

根据第二步中得到的支持版本信息,进入https://developer.nvidia.com/cuda-toolkit-archive 选择下载。根据NVIDIA提供的信息,本电脑可支持的CUDA版本有9.0,因此下载CUDA 9.0并安装。
进入官网https://developer.nvidia.com/cuda-downloads下载所对应的安装包,根据官网提示安装,如下图
这里写图片描述
安装完成后需将部分文件加入系统环境
打开终端,键入

vim ~/.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}}
source ~/.bashrc

第五步:安装对应版本的cuDNN

根据上文网址中的信息,本机应选用cuDNN 7版本
进入网站https://developer.nvidia.com/rdp/cudnn-download,选择相应的版本下载,需注册和填写简单的问卷
下载完成后按如下方式安装(虽然说是安装,其实是更新文件)

tar -zxvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*

第六步:安装Tensorflow-gpu

安装Tensorflow-gpu,根据官网的提示

sudo pip install tensorflow-gpu #python2的安装方式
sudo pip3 install tensorflow-gpu #python3的安装方式

安装完成后reboot一把,开始测试

第七步:测试

运用官网的测试代码

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

如果运行结果如下,说明tensorflow-gpu已成功安装
这里写图片描述

再次提醒

NVADIA显卡有所对应的CUDA的版本,安装CUDA前需确认好版本
安装tensorflow-gpu时需要将cuDNN的版本和Tensorflow的版本对应
cuDNN解压后中文件夹内的内容需要逐个放入CUDA->v8.0内部的文件夹中(如果是CUDA 9.0的话应该是v9.0吧)
总而言之,版本和环境都需要配好,缺一不可,最后祝各位一切顺利!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值