Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)
前言
配置环境,研究了一整天,踩了很多坑,在网上找了很多资料,发现基本上都没非常明确的教程,所以今天想分享一下配置tensorflow GPU版本的经验,希望能让各位朋友少走些弯路。(PS:一切的前提,你需要有一张Nvidia显卡。我的显卡是 GT940MX)
Tensorflow有两个版本:GPU和CPU版本,CPU的很好安装;GPU 版本需要 CUDA 和 cuDNN 的支持,如果你是独显+集显,那么推荐你用GPU版本的,因为GPU对矩阵运算有很好的支持,会加速程序执行!并且CUDA是Nvidia下属的程序,所以你的GPU最好是Nvidia的,AMD的显卡没有CUDA加速!满足以上条件之后,你需要查看一下你的英伟达GPU是否支持CUDA,以下是Geforce支持的目录:

满足以上条件之后,你就可以安装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安装过程)的更多相关文章
- Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)(转载)
win7(win10也适用)系统安装GPU/CPU版tensorflow Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程) 目录 2.配置 ...
- 区块链学习——HyperLedger-Fabric v1.0环境搭建详细教程
相对与v0.6版本来说,1.0版本改变较大,此处不多说,只是将小白自己搭建1.0环境的过程分享给大家.希望对大家能有所帮助! 这一篇可能对前面的环境搭建会写的有些粗略,如有疑问,可阅读上一篇V0.6版 ...
- LNMP环境搭建详细教程
之前有一篇博客写的是LAMP的环境搭建,今天来详细介绍一下另外一个模式——LNMP=Linux+Nginx+MySQL+PHP. 一.在Linux系统下nginx的安装过程,先到http://ngin ...
- [新手教程]windows 2003 php环境搭建详细教程(转)
对于windows服务器的php环境配置一直是是新人朋友的难题,也难倒了很多高手.这里分享一个新手教程,给那些建站新人使用.本教程来自朋友吴文辉的博客,欢迎大家有时间可以访问他的博客:吴文辉博客htt ...
- 区块链学习——HyperLedger-Fabric v0.6环境搭建详细教程
v0.6 的架构相对简单,适合作为实验或学习来使用. 一.环境准备 一台云服务器(笔者使用的是阿里云的1核-2GB内存) Go语言环境 Docker安装 docker-compose安装 二.环境搭建 ...
- Android安卓开发环境搭建详细教程
安装目录:步骤1 安装JDK步骤2 安装 Android SDK ----http://www.androiddevtools.cn/ 步骤3 安装Tomcat步骤4 安装Ant步骤5 安装Eclip ...
- Node环境搭建--详细教程
下载地址: https://nodejs.org/en/download/ 版本:10.15.3 检测是否安装成功:我之前安装的是10.14版本
- win7下android开发环境搭建(win7 64位)
win7下android开发环境搭建(win7 64位) 一.安装 JDK 下载JDK最新版本,下载地址如下: http://www.oracle.com/technetwork/java/jav ...
- win10下Spark的环境搭建
win10下Spark的环境搭建 2018-08-19 18:36:45 一.jdk 1.8.0 安装与配置 二.scala 2.11.8 安装与配置http://www.scala-lang.or ...
随机推荐
- recovery 下界面UI旋转90 180 270修改
原文修改出自简书:https://www.jianshu.com/p/768fdd954061 应该是MTK修改的google源码,支持recovery下屏幕旋转90/180/270, 作者把MTK的 ...
- Python MySQL事务、引擎、索引及第三方库sqlalchemy
本节内容 1.数据库介绍2.事务3.引擎4.索引5.ORM sqlalchemy 1.数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一 ...
- python之restful api(flask)获取数据
需要用到谷歌浏览器的扩展程序 Advanced Rest Client进行模拟请求 1.直接上代码 from flask import Flask from flask import request ...
- windows 获取用户的Sid的方法
正常获取: whoami /user 如果要获取其他用户的SID就显得力不从心了,我们可以使用微软提供的系统工具 Sysinternals Suite 下载地址:https://docs.micros ...
- java笔记----面试题总结(一)【转】
1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注 ...
- 洗礼灵魂,修炼python(86)--全栈项目实战篇(12)—— 利用socket实现文件传输/并发式聊天
由于本篇博文的项目都很简单,所以本次开个特例,本次解析两个项目,但是都很简单的 项目一:用socket实现文件传输 本项目很简单,作为小项目的预热的,前面刚学完socket,这里马上又利用socket ...
- Android 自定义ListView单击事件失效
因为自带的listView不能满足项目需求,通过实现自己的Adapter去继承ArrayAdapter 来实现自定义ListView的Item项目. 出现点击ListView的每一项都不会执行setO ...
- jQuery中 对标签元素操作(1)
一:创建元素节点(添加) 创建元素节点并且把节点作为元素的子节点添加到DOM树上 append(): 在元素下添加元素 用法:$("id").append(" ...
- 如何修改discuz论坛的图像地址
今天帮别人修改discuz论坛,遇到一个问题,就是图像显示不出来,按F12键后,发现是自己的图像路径设置有问题,于是就要去修改这个设置路径了.有两种方法: 一,直接修改配置文件,打开config/co ...
- Nginx使用教程(四):提高Nginx网络吞吐量之buffers优化
请求缓冲区在NGINX请求处理中起着重要作用. 在接收到请求时,NGINX将其写入这些缓冲区. 这些缓冲区中的数据可作为NGINX变量使用,例如$request_body. 如果缓冲区与请求大小相比较 ...