前言

配置环境,研究了一整天,踩了很多坑,在网上找了很多资料,发现基本上都没非常明确的教程,所以今天想分享一下配置tensorflow GPU版本的经验,希望能让各位朋友少走些弯路。(PS:一切的前提,你需要有一张Nvidia显卡。我的显卡是 GT940MX)

Tensorflow有两个版本:GPU和CPU版本,CPU的很好安装;GPU 版本需要 CUDA 和 cuDNN 的支持,如果你是独显+集显,那么推荐你用GPU版本的,因为GPU对矩阵运算有很好的支持,会加速程序执行!并且CUDA是Nvidia下属的程序,所以你的GPU最好是Nvidia的,AMD的显卡没有CUDA加速!满足以上条件之后,你需要查看一下你的英伟达GPU是否支持CUDA,以下是Geforce支持的目录:

你也可以点击查看你的GPU是否支持CUDA

满足以上条件之后,你就可以安装Tensorflow了!

第一步:安装Anaconda

1.下载和安装

下载地址:https://www.anaconda.com/download/

我系统是64位,所以下载 64-Bit Graphical Installer (631 MB),之后就是进行安装了。

和安装其他软件没有什么区别,需要注意的是这一步,不要勾选**“Add Anaconda to my PATH enviroment variable”,我们后面会手动加入。

接下来就是等待了,安装结束后需要测试是否能正常使用,打开CMD输入“conda”命令,发现提示“'conda' is not recognized as an internal or external command, operable program or batch file.”

这是由于我们没有配置环境变量的原因。

2.配置Anaconda环境变量

我们点击左下角搜索栏搜索“环境变量”

点击环境变量

选择“Path”,点击“编辑”

将以下三个路径加入,注意这里要换成你自己的安装路径。

  • C:\Users\t-yaoguo\AppData\Local\Continuum\anaconda3
  • C:\Users\t-yaoguo\AppData\Local\Continuum\anaconda3\Scripts
  • C:\Users\t-yaoguo\AppData\Local\Continuum\anaconda3\Library\bin

然后点击“确定”保存,这回再测试一下,再cmd中输入“conda -V”,能正常显示版本号,证明已经配置好了。

第二步:安装TensorFlow-GPU

打开tensorflow官网:https://www.tensorflow.org/install/install_windows#installing_with_anaconda

跟着操作步骤走就可以了。

1.创建conda环境

通过调用下列命令,创建一个名为“tensorflow”的conda环境:

conda create -n tensorflow pip python=3.5

等待相应包的安装,如果国内网络太慢的话,可以为conda设置清华源,这样速度能快一点,具体配置过程,网上查一下吧,此处不再讲述。如果看到这样的提示,就证明conda环境创建成功。

2.激活环境

通过以下命令激活conda环境:

activate tensorflow

这样就进入了刚创建的“tensorflow”环境。

3.安装tensorflow-gpu

安装GPU版本的tensorflow需要输入以下命令:

pip install --ignore-installed --upgrade tensorflow-gpu

如果只需要安装CPU版本的tensorflow则输入以下命令:

pip install --ignore-installed --upgrade tensorflow

这样就安装成功了。

注意:务必注意一点,在安装完tensroflow后,由于我们是新创建的conda环境,该环境中基本上是空的,有很多包和IDE并没有安装进来,例如“Ipython”,“spyder”此时如果我们在该环境下打开spyder/Ipyton/jupyter notebook等,会发现其实IDE使用的kernel并不是新建立的这个环境的kernel,而是“base”这个环境的,而“base”环境中我们并没有安装tensorflow,所以一定无法import。这也就是为什么有很多人在安装好tensorflow后仍然在IDE里无法正常使用的原因了。

通过以下命令安装Anaconda基础包

conda install anaconda

这回,我们测试一下是否能import tensorflow

程序报错,这是由于我们虽然安装好了tensorflow-gpu,但是还需要安装CUDA Toolkit 和 cuDNN。

第三步:安装CUDA Toolkit + cuDNN

1.查看需要安装的CUDA+cuDNN版本

注意,tensorflow是在持续更新的,具体安装的CUDA和cuDNN版本需要去官网查看,要与最新版本的tensorflow匹配。

点击查看最新tensorflow支持的CUDA版本:https://www.tensorflow.org/install/install_windows#requirements_to_run_tensorflow_with_gpu_support

现在(PS:此博客书写日期 2018年7月5日)最新版tensorflow支持的是 CUDA® Toolkit 9.0 + cuDNN v7.0,一定注意,安装的版本一定一定要正确,不要看NVIDIA官网推出CUDA® Toolkit 9.2了就感觉最新版的更好,而安装最新版,这样很可能会导致tensorflow无法正常使用,所以一定要跟着tensorflow 官网的提示来。

2.下载CUDA + cuDNN

在这个网址查找CUDA已发布版本:https://developer.nvidia.com/cuda-toolkit-archive

进入下载界面

下载好CUDA Toolkit 9.0 后,我们开始下载cuDnn 7.0,需要注意的是,下载cuDNN需要在nvidia上注册账号,使用邮箱注册就可以,免费的。登陆账号后才能下载。

cuDNN历史版本在该网址下载:https://developer.nvidia.com/rdp/cudnn-archive

这样,我们就下载好了 CUDA Toolkit 9.0 和 cuDnn 7.0,下面我们开始安装。

3.安装 CUDA Toolkit 9.0 和 cuDnn 7.0

至关重要的一步:卸载显卡驱动

由于CUDA Toolkit需要在指定版本显卡驱动环境下才能正常使用的,所以如果我们已经安装了nvidia显卡驱动(很显然,大部分人都安装了),再安装CUDA Toolkit时,会因二者版本不兼容而导致CUDA无法正常使用,这也就是很多人安装失败的原因。而CUDA Toolkit安装包中自带与之匹配的显卡驱动,所以务必要删除电脑先前的显卡驱动。

安装

此处选择“自定义(高级)”

勾选所有

一路通过即可。

接下来,解压“cudnn-9.0-windows10-x64-v7.zip”,将一下三个文件夹,拷贝到CUDA安装的根目录下。

这样CUDA Toolkit 9.0 和 cuDnn 7.0就已经安装了,下面要进行环境变量的配置。

配置环境变量

将下面四个路径加入到环境变量中,注意要换成自己的安装路径。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp

到此,全部的安装步骤都已经完成,这回我们测试一下。

第四步:测试

1.查看是否使用GPU

import tensorflow as tf
tf.test.gpu_device_name()

2.查看在使用哪个GPU

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

好了大功告成!

希望这篇博文能给大家带来帮助,如有任何错误,欢迎指教交流。

Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)的更多相关文章

  1. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)(转载)

    win7(win10也适用)系统安装GPU/CPU版tensorflow Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程) 目录 2.配置 ...

  2. 区块链学习——HyperLedger-Fabric v1.0环境搭建详细教程

    相对与v0.6版本来说,1.0版本改变较大,此处不多说,只是将小白自己搭建1.0环境的过程分享给大家.希望对大家能有所帮助! 这一篇可能对前面的环境搭建会写的有些粗略,如有疑问,可阅读上一篇V0.6版 ...

  3. LNMP环境搭建详细教程

    之前有一篇博客写的是LAMP的环境搭建,今天来详细介绍一下另外一个模式——LNMP=Linux+Nginx+MySQL+PHP. 一.在Linux系统下nginx的安装过程,先到http://ngin ...

  4. [新手教程]windows 2003 php环境搭建详细教程(转)

    对于windows服务器的php环境配置一直是是新人朋友的难题,也难倒了很多高手.这里分享一个新手教程,给那些建站新人使用.本教程来自朋友吴文辉的博客,欢迎大家有时间可以访问他的博客:吴文辉博客htt ...

  5. 区块链学习——HyperLedger-Fabric v0.6环境搭建详细教程

    v0.6 的架构相对简单,适合作为实验或学习来使用. 一.环境准备 一台云服务器(笔者使用的是阿里云的1核-2GB内存) Go语言环境 Docker安装 docker-compose安装 二.环境搭建 ...

  6. Android安卓开发环境搭建详细教程

    安装目录:步骤1 安装JDK步骤2 安装 Android SDK ----http://www.androiddevtools.cn/ 步骤3 安装Tomcat步骤4 安装Ant步骤5 安装Eclip ...

  7. Node环境搭建--详细教程

    下载地址: https://nodejs.org/en/download/ 版本:10.15.3 检测是否安装成功:我之前安装的是10.14版本

  8. win7下android开发环境搭建(win7 64位)

    win7下android开发环境搭建(win7 64位)   一.安装 JDK 下载JDK最新版本,下载地址如下: http://www.oracle.com/technetwork/java/jav ...

  9. win10下Spark的环境搭建

    win10下Spark的环境搭建 2018-08-19  18:36:45 一.jdk 1.8.0 安装与配置 二.scala 2.11.8 安装与配置http://www.scala-lang.or ...

随机推荐

  1. recovery 下界面UI旋转90 180 270修改

    原文修改出自简书:https://www.jianshu.com/p/768fdd954061 应该是MTK修改的google源码,支持recovery下屏幕旋转90/180/270, 作者把MTK的 ...

  2. Python MySQL事务、引擎、索引及第三方库sqlalchemy

    本节内容 1.数据库介绍2.事务3.引擎4.索引5.ORM sqlalchemy 1.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一 ...

  3. python之restful api(flask)获取数据

    需要用到谷歌浏览器的扩展程序 Advanced Rest Client进行模拟请求 1.直接上代码 from flask import Flask from flask import request ...

  4. windows 获取用户的Sid的方法

    正常获取: whoami /user 如果要获取其他用户的SID就显得力不从心了,我们可以使用微软提供的系统工具 Sysinternals Suite 下载地址:https://docs.micros ...

  5. java笔记----面试题总结(一)【转】

    1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注 ...

  6. 洗礼灵魂,修炼python(86)--全栈项目实战篇(12)—— 利用socket实现文件传输/并发式聊天

    由于本篇博文的项目都很简单,所以本次开个特例,本次解析两个项目,但是都很简单的 项目一:用socket实现文件传输 本项目很简单,作为小项目的预热的,前面刚学完socket,这里马上又利用socket ...

  7. Android 自定义ListView单击事件失效

    因为自带的listView不能满足项目需求,通过实现自己的Adapter去继承ArrayAdapter 来实现自定义ListView的Item项目. 出现点击ListView的每一项都不会执行setO ...

  8. jQuery中 对标签元素操作(1)

    一:创建元素节点(添加) 创建元素节点并且把节点作为元素的子节点添加到DOM树上    append(): 在元素下添加元素    用法:$("id").append(" ...

  9. 如何修改discuz论坛的图像地址

    今天帮别人修改discuz论坛,遇到一个问题,就是图像显示不出来,按F12键后,发现是自己的图像路径设置有问题,于是就要去修改这个设置路径了.有两种方法: 一,直接修改配置文件,打开config/co ...

  10. Nginx使用教程(四):提高Nginx网络吞吐量之buffers优化

    请求缓冲区在NGINX请求处理中起着重要作用. 在接收到请求时,NGINX将其写入这些缓冲区. 这些缓冲区中的数据可作为NGINX变量使用,例如$request_body. 如果缓冲区与请求大小相比较 ...