记录一次Python下Tensorflow安装过程,1.7带GPU加速版本
最近由于论文需要,急需搭建Tensorflow环境,16年底当时Tensorflow版本号还没有过1,我曾按照手册搭建过CPU版本。目前,1.7算是比较新的版本了(也可以从源码编译1.8版本的Tensorflow)。
安装步骤:
不能急于求成,安装任何东西前都应该先阅读用户手册与FAQ,弄清软件依赖与安装步骤。对于Tensorflow来说,官网有时上不去,建议关注Tensorflow的GitHub(https://github.com/tensorflow/tensorflow),GitHub上只是指明了Python版本,对于CUDA和cuDNN并没有过多的说明,但是在releases页面,尤其是Tensorflow1.7部分做了如下说明:
- Tensorflow 1.7 may be the last time we support CUDA versions below 8.0.Starting with Tensorflow 1.8 release, 8.0 will be the minimum supported version.
- Tensorflow 1.7 may be the last time we support cuDNN versions below 6.0. Starting with Tensorflow 1.8 release, 6.0 will be the minimum supported version.
如果大家不愿意深究下去,我的建议是:
- 没有GPU或者GPU算力达不到3.0的(带GPU加速的Tensorflow版本依赖cuDNN,而cuDNN又需要3.0算力的GPU支持),果断选择linux,因为在linux下,Python可选择的版本更多。
- 有GPU,并且符合算力3.0以上的要求,建议考虑windows平台,当然,也可以选linux,但是驱动相关问题需要自己解决,尤其是涉及到双显卡的笔记本时,比较麻烦,我在本文后面给出了一个FAQ,专门讨论英伟达相关驱动问题。
平台与驱动问题解决后,下面就是下载Tensorflow和对应的Python开发环境了,有一点,谷歌做的不错——Tensorflow直接是一个whl格式的Python包。很多教程是让人下载Anaconda集成开发环境,我给出的建议是:如果你只是想安装一个Python版本,并且没什么非常特别的需求话,可以不用安装Anaconda,如果你在linux下进行开发,我倒是比较推荐Anaconda,毕竟可以省去不少事!这里要说一下,tensorflow的GitHub上给出的windows+GPU 1.7版本只有Python3.5与3.6可选,如果你非要用Python2,那就只能选linux了~而在另外一个whl包聚集地:https://www.lfd.uci.edu/~gohlke/pythonlibs/,作者说的更加简明扼要(注意,页面给出的是CPU版本的):
TensorFlow, computation using data flow graphs for scalable machine learning.The CUDA builds require CUDA 8 and CUDNN 6.
当Python安装好并且下载好Tensorflow的whl包后,先不要急着安装,由于Python在安装包时会自动解决依赖问题,因而,在安装Tensorflow过程中总是会联网下载一些依赖包,为了让下载更加快一些,首先需要更换pip源,国内pip源我比较推荐清华的,直接同步的官方源,极少出问题。换源的方法很简单:windows下,直接在user目录中创建一个pip目录,如:C:\Users\用户名\pip,新建文件pip.ini,内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
至此,我们转到Tensorflow对应的whl文件目录下,直接一句pip install xxxx.whl剩下的就让计算机处理吧~~~~~~~
因为换了源,速度不会太差,几分钟就装好了~~~~
现在不要太高兴,目前,不少人安装后不能用Tensorflow,有各种问题,现在先放出一段代码,用来测试,代码是网上找到的。
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
#输出Hello, TensorFlow!
a = tf.constant(10)
b = tf.constant(32)
print(sess.run(a + b))
#输出42
下面这段代码是测试GPU版本的Tensorflow的。
import numpy
import tensorflow as tf
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))
输出结果会包含GPU信息~
FAQ
Q:显卡驱动,CUDA tool,cuDNN三者有何关系?安装有无先后顺序?
A:关于显卡,英伟达很多时候说的不明不白。实际上,你下载某个驱动,驱动自身大多数时候是自带CUDA的,是的,没错,但是驱动自带的CUDA却像是少了很多东西,也找不到CUDA专门的文件夹,比较靠谱的一种说法是:正确安装显卡驱动后会自带一个精简的CUDA调用接口,以供诸如CAD等一系列软件调用。就我使用过程来说,Caffe框架可以直接用这个精简接口,而不需要单独安装CUDA tool。但是,如果你需要开发独立的CUDA程序,或者必须找到CUDA工具文件目录,那CUDA tool你是必须安装的,而且,英伟达有一个坑爹的设定:CUDA tool自带一个匹配驱动,这就出问题了,一般我们拿到电脑后,都是先安装驱动的,这样一来,两者很可能冲突,事实上,也确实出现过这类问题,比较有名的就是GTX10显卡安装CUDA出错问题,目前英伟达应该已经解决了。我的建议是,如果你必须使用CUDA tool,保险起见,卸载原有驱动,直接安装CUDA tool,这样一来问题就会少很多。另外,cuDNN不会直接安装,需要单独下载,而且cuDNN其实就是.h头文件,.lib库文件以及一个.dll文件,只要把这三个文件放到CUDA对应的目录下就可以了,环境变量需要相关设置。
Q:安装完测试时报错:No module named "_pywrap_tensorflow" DLL load failed.
A:这个问题有很多种说法,比如什么CUDA与cuDNN版本不匹配,缺少微软MSVCP140.DLL,cuDNN安装后是否正确设置了环境变量······
目前来看,前两种可能性不大,因为cuDNN在下载时已经明确了CUDA版本,微软的那个东西,上述安装过程根本没装,最后一个也很容易处理···不细说了,总之按照上述安装方法,没有任何报错问题~
Q:请详细说一下cuDNN安装过程
A:看英文:
Copy CuDNN files to Nvidia CUDA toolkit folder (usually is located on C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0)
copy cudnn\bin\cudnn64_5.dll to C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v8.0\bin\
copy cudnn\include\cudnn.h to C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include\
copy cudnn\lib\x64\cudnn.lib to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64\
CUDA在安装过程中已经自动加入环境变量了,所以,cuDNN不用额外设置,直接复制文件就可以了。
Q:如何获得Tensorflow的历史版本?
A:可以从pypi的官方仓库查询:https://pypi.org/ 查询tensorflow-gpu,或者tensorflow
记录一次Python下Tensorflow安装过程,1.7带GPU加速版本的更多相关文章
- windows环境下tensorflow安装过程详解
写在最前: 在安装过程中遇到很多坑,一开始自己从官网下载了Python3.6.3或者Python3.6.5或者Python3.7.1等多个版本,然后直接pip install tensorflow或者 ...
- tensorflow安装过程cpu版-(windows10环境下)---亲试可行方案
tensorflow安装过程cpu版-(windows10环境下)---亲试可行方案 一, 前言:本次安装tensorflow是基于Python的,安装Python的过程不做说明 二, 安装环境: ...
- step_by_step_记录deepin下curl安装过程
记录 deepin 下 curl 安装过程 wget https://curl.haxx.se/download/curl-7.55.1.tar.gz .tar.gz cd curl-/ ./conf ...
- eclipse在Ubuntu 13.04下的安装过程
eclipse在Ubuntu 13.04下的安装过程及问题小记 一.eclipse安装过程 首先确保在安装eclipse之前已经安装好Java虚拟机 1. eclipse官网下载压缩包 下载地址:ht ...
- 19.CentOS7下PostgreSQL安装过程
CentOS7下PostgreSQL安装过程 装包 sudo yum install postgresql-server postgresql-contrib 说明: 这种方式直接明了,其他方法也可以 ...
- Windows 7 x64环境下JDK8安装过程
Windows 7 x64环境下JDK8安装过程 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads ...
- Windows 10下安装配置Caffe并支持GPU加速(修改版)
基本环境 建议严格按照版本来 - Windows 10 - Visual Studio 2013 - Matlab R2016b - Anaconda - CUDA 8.0.44 - cuDNN v4 ...
- Windows环境下的TensorFlow安装过程
安装环境 Windows8.1 python3.5.x(TensorFlow only supports version 3.5.x of Python on Windows) pip 9.0.1 t ...
- tensorflow安装过程-(windows环境下)---详解(摆平了很多坑!)
一, 前言:本次安装tensorflow是基于Python的,安装Python的过程不做说明(既然决定按,Python肯定要先了解啊):本次教程是windows下Anaconda安装Tensorflo ...
随机推荐
- Java 生态核心知识点整理
又到了求职的金三银四的黄金月份,我相信有不少小伙伴已经摩拳擦掌的准备寻找下一份工作. 就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句 ...
- 基于 HTML5 的 3D 工业互联网展示方案
前言 通用电气(GE).IBM.英特尔等公司主推的“工业互联网”正在经历“产品-数据分析平台-应用-生态”的演进.这主要得益于 Predix 数据分析平台对工业互联网应用的整合能力.Predix 就像 ...
- Java中,尽量相信自己,使用自己写的方法,不要使用底层提供的方法。都是坑。
Date转LocalDate时,调用toInstant()报UnsupportedOperationException异常. https://www.jianshu.com/p/11d8ed48f7a ...
- 相片后期处理,PS调出温暖的逆光美女
原图: 效果图: 后面就是开PS导图: 说明下,因为拍的时候大概知道自己的方法会让照片变暖,现场光线又很暖,所以色温要调低一些,这边是4100,其他不用变,直接转JPG调色了 1:第一步是加第一个曲线 ...
- locust安装及其简单使用----基于python的性能测试工具
1.已安装python3.6 ,安装步骤略 pip安装: pip install locust 检查locust是否安装成功 locust --help 2.安装 pyzmq If you inten ...
- max-height、min-height、height优先级的问题
前言 我们在实际开发中可能会限制元素的最大高度,那么我们使用的属性必定是max-height,那么不知道大家有没有考虑过如果同时设置max-height和height会发生什么呢? max-heigh ...
- Maven将远程包拉去到项目指定路径
<build> <plugins> <plugin> <artifactId>maven-dependency-plugin</artifactI ...
- Shell命令-文件及目录操作之file、md5sum
文件及目录操作 - file.md5sum 1. file:显示文件的类型 file命令的功能说明 用于辨识文件类型.通过 file 指令,我们得以辨识该文件的类型. file命令的语法格式 file ...
- python 基本数据类型以及运算符操作
一.基本数据类型 为何要区分类型? 数据类型的值是变量值得类型,变量值之所以区分类型,是因为变量的值 用来记录事物的状态,而事物的状态有不同的种类,对应着,也必须用不 用类型去区分它们. 1.数字类型 ...
- 自用windows小软件
好用的软件的定义:没有广告,提升效率,最低的内存占用,体积小 1.解压工具 bandizip:自动解压功能,棒呆了 网址:https://www.bandisoft.com/ 2.pdf阅读编辑工具 ...