最近由于论文需要,急需搭建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加速版本的更多相关文章

  1. windows环境下tensorflow安装过程详解

    写在最前: 在安装过程中遇到很多坑,一开始自己从官网下载了Python3.6.3或者Python3.6.5或者Python3.7.1等多个版本,然后直接pip install tensorflow或者 ...

  2. tensorflow安装过程cpu版-(windows10环境下)---亲试可行方案

    tensorflow安装过程cpu版-(windows10环境下)---亲试可行方案   一, 前言:本次安装tensorflow是基于Python的,安装Python的过程不做说明 二, 安装环境: ...

  3. step_by_step_记录deepin下curl安装过程

    记录 deepin 下 curl 安装过程 wget https://curl.haxx.se/download/curl-7.55.1.tar.gz .tar.gz cd curl-/ ./conf ...

  4. eclipse在Ubuntu 13.04下的安装过程

    eclipse在Ubuntu 13.04下的安装过程及问题小记 一.eclipse安装过程 首先确保在安装eclipse之前已经安装好Java虚拟机 1. eclipse官网下载压缩包 下载地址:ht ...

  5. 19.CentOS7下PostgreSQL安装过程

    CentOS7下PostgreSQL安装过程 装包 sudo yum install postgresql-server postgresql-contrib 说明: 这种方式直接明了,其他方法也可以 ...

  6. Windows 7 x64环境下JDK8安装过程

    Windows 7 x64环境下JDK8安装过程 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads ...

  7. Windows 10下安装配置Caffe并支持GPU加速(修改版)

    基本环境 建议严格按照版本来 - Windows 10 - Visual Studio 2013 - Matlab R2016b - Anaconda - CUDA 8.0.44 - cuDNN v4 ...

  8. Windows环境下的TensorFlow安装过程

    安装环境 Windows8.1 python3.5.x(TensorFlow only supports version 3.5.x of Python on Windows) pip 9.0.1 t ...

  9. tensorflow安装过程-(windows环境下)---详解(摆平了很多坑!)

    一, 前言:本次安装tensorflow是基于Python的,安装Python的过程不做说明(既然决定按,Python肯定要先了解啊):本次教程是windows下Anaconda安装Tensorflo ...

随机推荐

  1. Linux静态库与动态库制作过程

    文件:tobigchar.c   mian.c   tobigchar.h //tobigchar.c char tos() { char ch; ch = getchar(); if(ch > ...

  2. 在Ubuntu下运行 apt-get update命令后出现错误:

    在Ubuntu下运行 apt-get update命令后出现错误: The package lists or status file could not be parsed or opened sud ...

  3. rs485引脚定义

    转自:http://blog.chinaunix.net/uid-9688646-id-3275796.html rs485有两种,一种是半双工模式,只有DATA+和DATA-两线,另一种是全双工模式 ...

  4. Linux centos7.5操作系统的安装

    安装centos7.5 1.1 新建虚拟机 1.2 选择客户机系统和版本 1.3 更改虚拟机名称和创建地址.   1.4 选择网络类型 1.5 自定义硬件,选择添加centos7.5镜像 1.6 开机 ...

  5. Go 连接 mysql 数据库的简单测试.

    1. import 的时候 总是很慢 容易失败 所以 优先导入几个必须要的包 go get github.com/go-sql-driver/mysql 安装完之后 会在gopath 目录下发现相关的 ...

  6. 记录一次有意思的XSS过滤绕过

    我的朋友赵一天今晚给我发了一个站,跟我说他xss绕不过去,让我试试.我正好无事,就帮她看看咯. 通过赵一天发我的站点,说实话,我自己学到了很多东西,感谢大佬的教诲.今天分享出来: 站点:xxx.com ...

  7. ajax 跨域 springboot

    CORS 定义 Cross-Origin Resource Sharing(CORS)跨来源资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 ...

  8. Python判断自定义的参数格式是否正确

    import argparse def args_validation(valid_list, valid_value): assert valid_value in valid_list, 'inv ...

  9. IIS虚拟目录内的视频文件访问出错:HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

    MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开.多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式. 我是 ...

  10. mac安装postman

    [在线方式]: 1. chrome扩展中搜postman,选择Postman Interceptor 添加到chrome. 2.安装完毕后,点击地址栏右边对应的按钮 点击 Postman Chrome ...