Tensorflow平台快速搭建:Windows 7+TensorFlow 0.12.0
Tensorflow平台快速搭建:Windows 7+TensorFlow 0.12.0
1、TensorFlow 0.12.0下载
2016年11月29日,距离TensorFlow 宣布开源刚刚过去一年,支持 Windows7、10 和 Server 2016的新版本v0.12正式发布。
下载地址:https://github.com/tensorflow/tensorflow/releases
2、TensorFlow v0.12.0介绍
2.1、主要特性和提升
TensorFlow 现在可以在 Microsoft Windows 中开发和运行了(已知在 Windows 10、Windows 7、Windows Server 2016 中运行良好)。支持的语言包括 Python(通过 pip package)和 C++。支持 CUDA 8.0 和 cuDNN5.1 GPU 加速。目前已知的限制有:现在无法加载自定义指令库(custom op library)。不支持 CGS 和 HDFS 文件系统。
下列指令无法实现:DepthwiseConv2dNative, DepthwiseConv2dNativeBackpropFilter, DepthwiseConv2dNativeBackpropInput, Dequantize, Digamma, Erf, Erfc, Igamma, Igammac, Lgamma, Polygamma, QuantizeAndDequantize, QuantizedAvgPool, QuantizedBatchNomWithGlobalNormalization, QuantizedBiasAdd, QuantizedConcat, QuantizedConv2D, QuantizedMatmul, QuantizedMaxPool, QuantizeDownAndShrinkRange, QuantizedRelu, QuantizedRelu6, QuantizedReshape, QuantizeV2, RequantizationRange, 和 Requantize。
Go:Go 中的实验 API 可以创建和执行图表(https://godoc.org/github.com/tensorflow/tensorflow/tensorflow/go)
新的 checkpoint 格式现在是 tf.train.Saver 中的默认值。旧 V1 chekpoint 仍然可读; 由 write_version 参数控制,tf.train.Saver 现在默认写入新的 V2 格式。这种方式显著降低了恢复期间所需的内存峰值,同时降低了延迟。
为无矩阵(迭代)解算器增加了新的库,支持 tensorflow/contrib/solvers 中的线性方程、线性最小二乘法,特征值和奇异值。最初的版本具有 lanczos 双对角化(bidiagonalization)、共轭梯度和 CGLS。
为 matrix_solve_ls 和 self_adjoint_eig 增加了梯度。
对原有内容进行了大量清理,为具有 C ++梯度的运算添加二阶梯度,并改进现有梯度,使大多数运算现在可以多次微分。
增加了常微分方程的求解器:tf.contrib.integrate.odeint。
用于具有命名轴的张量的新 contrib 模块,tf.contrib.labeled_tensor。
TensorBoard 中嵌入(embedding)的可视化。
2.2、主要 API 改进
BusAdjacency 枚举被协议缓冲 DeviceLocality 代替。总线索引现在从 1 而不是 0 开始,同时,使用 bus_id==0,之前为 BUS_ANY。
Env::FileExists 和 FileSystem::FileExists 现在返回 tensorflow::Status 而不是一个 bool。任何此函数的调用者都可以通过向调用添加.ok()将返回转换为 bool。
C API:TF_SessionWithGraph 类型更名为 TF_Session,其在 TensorFlow 的绑定语言中成为首选。原来的 TF_Session 已更名为 TF_DeprecatedSession。
C API: TF_Port 被更名为 TF_Output。
C API: 调用者保留提供给 TF_Run、 TF_SessionRun、TF_SetAttrTensor 等的 TF_Tensor 对象的所有权。
将 tf.image.per_image_whitening() 更名为 tf.image.per_image_standardization()。
将 Summary protobuf 构造函数移动到了 tf.summary 子模块。
不再使用 histogram_summary、audio_summary、 scalar_summary,image_summary、merge_summary 和 merge_all_summaries。
组合 batch_ *和常规版本的线性代数和 FFT 运算。常规运算现在也处理批处理。所有 batch_ * Python 接口已删除。
tf.all_variables,tf.VARIABLES 和 tf.initialize_all_variables 更名为 tf.global_variables,tf.GLOBAL_VARIABLES 和 tf.global_variable_initializers respectively。
2.3、Bug 修复和其他的变化
使用线程安全版本的 lgamma 函数。
修复 tf.sqrt 负参数。
修正了导致用于多线程基准的线程数不正确的错误。
多核 CPU 上 batch_matmul 的性能优化。
改进 trace,matrix_set_diag,matrix_diag_part 和它们的梯度,适用于矩形矩阵。
支持复值矩阵的 SVD。
3、Tensorflow平台的搭建
下面给出一种离线安装方式:windows 7 64位、CPU。
3.1、windows平台上一些工具的安装
TensorFlow supports only 64-bit Python 3.5 on Windows Now.
也就是说目前的windows版本tensorflow只支持64位的python3.5,这是前提。
(1)python3.5的下载与安装
python3.5下载地址:https://www.python.org/downloads/release/python-352/
python3.5安装后(注意:设置自动设置环境变量),pip会自动安装好。
cmd中可以执行python或pip分别确认它们是否安装成功。
(2)numpy的下载与安装
numpy的下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
用pip安装numpy,执行:
pip install xxxxxxxxxxxx
(3)、protobuf的下载与安装
protobuf的下载地址:https://pypi.python.org/pypi/protobuf/3.1.0.post1
(注意:此链接下载出来的仍是3.0.0版本,而不是需要的3.1.0版本,请官网上更新后下载使用)
用pip安装protobuf,执行:
pip install xxxxxxxxxxxx
(4)、six的下载与安装
six的下载地址:https://pypi.python.org/pypi/six/#downloads
用pip安装six,执行:
pip install xxxxxxxxxxxx
(5)、wheel的下载与安装
wheel的下载地址:https://pypi.python.org/pypi/wheel/0.30.0a0
用pip安装wheel,执行:
pip install xxxxxxxxxxxx
说明:上述安装的numpy、protobuf、six和wheel均是安装tensorflow所需要的依赖包,否则下一步将提示相关错误,其实直接安装tensorflow包,后面提示什么错误,然后去解决提示的问题也是一种不错的方法。
3.2、下载与安装tensorflow
tensorflow的windows版本包括CPU版本和GPU版本,请下载对应的版本进行安装。
CPU版本tensorflow下载网址:
https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.0-cp35-cp35m-win_amd64.whl
或
https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.0rc0-cp35-cp35m-win_amd64.whl
GPU版本tensorflow下载网址:
https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0-cp35-cp35m-win_amd64.whl
或
利用pip安装tensorflow非常简单,只需要执行:
pip install xxxxxx
3.3、测试tensorflow是否安装成功
执行下面程序,若成功,则说明tensorflow安装成功。
$ python
...
>>> 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
>>>
4、tensorflow学习资源
github上的tensorflow:https://github.com/tensorflow/tensorflow
github上的tensorflow会给出不同平台的安装方法等以及常见问题的解决方法,是一个非常有用且必须关注的一个网站。
TensorFlow中文社区:http://www.tensorfly.cn/
TensorFlow中文社区中的重要资源莫过于“手册”与“教程”,深入浅出地介绍了tensorflow的理论与实践相关知识,是所有学习tensorflow研究者的重大福利。强力推荐!!!
因为网站上很多教程都具有普适性,没有真正地去“玩玩”,永远不可能发现里面潜在的问题,所以接下来的博文将主要参考TensorFlow中文社区,记录一下学习笔记,主要是按照教程学习tensorflow所遇到的问题以及解决方法,权且当做《TensorFlow中文社区》的修正版或实践版或参考版吧~
Tensorflow平台快速搭建:Windows 7+TensorFlow 0.12.0的更多相关文章
- 快速搭建 Windows Kubernetes
背景 接上一篇 Windows 应用容器 后,想要快速且便利的部署与管理它们,可以借助容器编排工具.对于 Windows 容器,在今天 Service Fabric 会是个更为成熟的选择,在业界有更多 ...
- caffe平台快速搭建:caffe+window7+vs2013
caffe平台快速搭建:caffe+window7+vs2013 1.caffe-master下载 采用微软提供Windows工具包(caffe-master),下载地址:https://github ...
- Hive 0.12.0安装指南
目录 目录 1 1. 前言 1 2. 约定 1 3. 服务端口 2 4. 安装MySQL 2 4.1. 安装MySQL 2 4.2. 创建Hive元数据库 2 5. 安装步骤 3 5.1. 下载Hiv ...
- 快速搭建windows服务器的可视化运维环境
开发好的程序部署在服务器上,如何对服务器的基本指标进行监控呢?最近对一套工具进行了研究,可以快速搭建服务器监管环境,很是强大,最重要的是它还很酷炫. 原理:数据采集+时序数据库+可视化,下面记录一下搭 ...
- centos6.4 安装 hive 0.12.0
环境:centos6.4 64bit, 前提:hadoop已经正常运行,可以使用hadoop dfsadmin -report查看 hive 解压 tar zcvf hive-0.12.0.ta ...
- windows平台快速搭建Linux(CentOS)
VMware简介 VMware Workstation(简称 “虚拟机”)是一款功能强大的桌面虚拟计算机软件,用户可在Windows平台通过VMware软件同时运行不同的操作系统.这对IT开发人员而言 ...
- 使用Topshelf快速搭建Windows服务
1.创建控制台程序 2.安装Topshelf组件 Install-Package Topshelf using System; using System.Timers; using Topshelf ...
- hive 0.12.0版本 问题及注意事项
下载地址: http://archive.cloudera.com/cdh5/cdh/5/hive-0.12.0-cdh5.1.5.tar.gz 用远程mysql作为元数据存储 创建数据库,设置字符集 ...
- tensor搭建--windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速
windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速 原文见于:http://www.jianshu.com/p/c245d46d43f0 ...
随机推荐
- webpack4学习笔记(一)
webpack4 1,安装webpack npm insatll webpack --save-dev //安装最新版本 npm insatll webpack@<version> --s ...
- 剑指Offer——数值的整数次方
题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 分析: 快速幂,简单解释下, 当e的二进制为1001011, b^e=b^( ...
- Python程序员鲜为人知但你应该知道的16个问题(转)
add by zhj: 没找到原文出处,只能找到转载的,文中说有17个坑,其实是16个 全文如下 这篇文章主要介绍了Python程序员代码编写时应该避免的16个“坑”,也可以说成Python程序员代码 ...
- Python并行编程(三):线程同步之Lock
1.基础概念 当两个或以上对共享内存操作的并发线程中,如果有一个改变数据,又没有同步机制的条件下,就会产生竞争条件,可能会导致执行无效代码.bug等异常行为. 竞争条件最简单的解决方法是使用锁.锁的操 ...
- var 声明变量的变量提升问题(let/const)
在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域.变量提升即将变量声明提升到它所在作用域的最开始的部分.既全局变量. <scrip ...
- Sping+ActiveMQ整合
通过前一篇<ActiveMQ简述>大概对ActiveMQ有了一个大概的认识.本篇所阐述的是怎样通过Spring继承ActiveMQ进而更有效.更灵活的运用ActiveMQ. Spring和 ...
- springMvc异常之 For input string: "show"
异常提示: For input string: "show" 异常原因: 使用@PathVariable方式获取值,返回类型为String return "redirec ...
- mysql的相关信息
mysql数据库优化技巧 表的设计合理(字段合理,符合3NF) 添加适当索引(index)[主要4种:普通索引,主键索引,唯一索引unique,全文索引] 分表技术(水平分表->拆分表结构,垂直 ...
- Spring第九弹—使用CGLIIB实现AOP功能与AOP概念解释
JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理,原理之前我已经讲过.JDK的动态代理用起来非常简单,但它有一个限制,就是使用动态代理的对象必须实现一个或多个接口.如果想代理没 ...
- Linux常见错误之Could not get lock /var/lib/dpkg/lock - open
在Ubuntu系统上安装vim是遇到的问题: root@ubuntu:/# vim The program 'vim' can be found in the following packages: ...