记录一次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 ...
随机推荐
- 基于Flask 实现Web微信登陆
网页版微信登陆网址 https://login.wx.qq.com/ 获取微信登陆的二维码 在浏览器中访问登陆接口 https://login.wx.qq.com/ 我们查找二维码的图片可以看到 其中 ...
- JVM调优:HotSpot JVM垃圾收集器
HotSpot JVM垃圾收集器 - Snooper - 博客园https://www.cnblogs.com/snooper/p/8718478.html
- mybatis乱码
单个字段 <property name="url" value="jdbc:mysql://127.0.0.1:3306/db?characterEncoding= ...
- QTP自动化测试-打开运行报告
automation菜单下-点击 result
- Python 离线 安装requests第三方库
一.介绍 requests是Python的一个HTTP客户端库,跟urllib,urllib2类似,不过requests的优势在于使用简单,相同一个功能,用requests实现起来代码量要少很多.毕竟 ...
- 2.4 random 模块
- 欧拉筛法模板and 洛谷 P3383 【模板】线性筛素数(包括清北的一些方法)
题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入格式 第一行包含两个正整数N.M,分别表示查询的范围和查询的个数. 接下来M行每行包含一个不小于1 ...
- [BJOI2019]勘破神机
[BJOI2019]勘破神机 推式子好题 m=2,斐波那契数列,$f_{n+1}$项 不妨$++l,++r$,直接求$f_n$ 求$\sum C(f_n,k)$,下降幂转化成阶乘幂,这样都是多项式了, ...
- web.xml:<url-pattern>
web.xml 中的 <url-pattern> 是 <servlet-mapping> 或 <filter-mapping> 下的子标签. url :http:/ ...
- POJ 3186 Treats for the Cows (动态规划)
Description FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for gi ...