TensorFlow 1.2.0新版本发布:新增Intel MKL优化深度学习基元

大数据文摘作品,转载要求见文末

作者 | av8ramit

编译|钱天培

TensorFlow在今天最新发布了1.2.0版本。在这一新版本中,TensorFlow新增Intel MKL优化深度学习基元,实现了对Windows系统上对Python 3.6的支持,发布了开源版的TensorBoard,并进行了大量的命名修改,以实习同一模块内命名的一致性。下面,大数据文摘将为你带来完整版的TensorFlow 1.2.0 改进介绍。

◆ 在Windows上提供Python 3.6支持

◆为spatio temporal deconvolution添加tf.layers.conv3d_transpose层

◆ 添加了tf.Session.make_callable(),方便对相似步骤进行多次执行

◆ 为contrib添加了基于IB verbs的RDMA支持(感谢来自雅虎的@junshi15提供)

◆RNNCell现在是tf.layers.Layer的子类(subclass)。

现版本比TensorFlow1.1更灵活:当一个RNNCell对象被第一次使用时,它的作用域(scope)就被缓存记录了。后期对RNNCell的使用会对同一作用域的变量作再使用。相比于TensorFlow 1.0.1以下的版本,这是一个巨大的转变。TensorFlow 1.1 用了一些检验来确保旧版本的代码可以在新版本的环境下成功运行;本版本允许了更灵活的RNNCell使用方法,但在TensorFlow 1.0.1以下版本编写的代码也可能在新版本中出问题。比如说,MultiRNNCell([lstm] * 5)在新版本中会建立一个5层的LSTM堆栈(5-layer LSTM stack),每个堆栈有相同的参数。如果要创建一个有各自参数的5层LSTM堆栈,你需要用MultiRNNCell([LSTMCell(...) for _ in range(5)])。如果不确定的话,先用TF 1.1 测试你的代码,确保无误之后,再升级到TF 1.2。

◆ TensorForest Estimator现在支持SavedModel导出

◆ 支持用户提供的ClusterSpec,并把他们扩散给了所有工作者,从而建立动态TensorFlow集群

◆ TensorFlow C库现在可在Windows使用

◆ 发布了一个开源版的TensorBoard

◆ 可用SavedModel CLI工具来检查、执行SavedModel中的MetaGraph

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/README.md

◆ 安卓版的TensorFlow现在被push到了jcenter以便被整合入各类app中。更多细节参见

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/README.md

◆ RNNCell的变量名被重新命名,以确保与Keras层相一致。

具体来说,之前的变量名“weights”和“biases”已经被改为了“kernel”和“bias”。这可能会与你之前设置的包含这类RNNCell的检查点(checkpoint)反馈不兼容,在这种情况下你可以用checkpoint_convert script来修改旧变量名。

◆ 许多在1.0版本中位于tf.nn命名空间下并被移到tf.contrib.rnn下的RNN的函数和类现在被重新移回了它们的核心命名空间下。

这包括了RNNCell,LSTMCell,GRUCell和一部分其他cell。这些cell现在位于tf.nn.rnn_cell下(为了兼容,tf.contrib.rnn下仍保留了它们的别名)。原先的tf.nn.rnn现在变成了tf.nn.static_rnn,而双向静态(bidirectional static)和状态保存静态(state saving static)的RNN函数现在也被移回了tf.nn的主命名空间下。

◆ 最显著的例外是EmbeddingWrapper, InputProjectionWrapper和OutputProjectionWrapper。

它们会被慢慢移入tf.contrib.rnn的弃用项(deprecation)中。这类wrapper都不够高效,通常该被作为RNN的预处理或后处理的embedding_lookup 或 layers.dense所取代。对于RNN解码,这一功能已经被tf.contrib.seq2seq中的另一个API替代了。

◆Intel MKL 集成 (https://software.intel.com/en-us/articles/tensorflow-optimizations-on-modern-intel-architecture)。

Intel发开了一众优化深度学习基元。除了矩阵乘法和卷积以外,这些组成模块还包括了:

  1. 直接的批量卷积(Direct batched convolution)
  2. 池化:最大化、最小化和平均数(Pooling: maximum, minimum, average)
  3. 激活:ReLU (Activation: ReLU)
  4. 数据处理:多维移项、分解、合并、相加和扩展 (Data manipulation: multi-dimensional transposition (conversion), split, concat, sum and scal)

来源:https://github.com/tensorflow/tensorflow/releases/tag/v1.2.0

关于转载 如需转载,请在开篇显著位置注明作者和出处(转自:大数据文摘 | bigdatadigest),并在文章结尾放置大数据文摘醒目二维码。无原创标识文章请按照转载要求编辑,可直接转载,转载后请将转载链接发送给我们;有原创标识文章,请发送【文章名称-待授权公众号名称及ID】给我们申请白名单授权。未经许可的转载以及改编者,我们将依法追究其法律责任。联系邮箱:zz@bigdatadigest.cn。

原文发布于微信公众号 - 大数据文摘(BigDataDigest)

原文发表时间:2017-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PaddlePaddle

PaddlePaddle发布v0.10.0版

我们非常高兴发布了PaddlePaddle V0.10.0版,并开放了新的Python API。 之前在v0.9.0版,完成一个训练或预测任务至少需要两份pyt...

38570
来自专栏梦里茶室

TensorFlow深度学习笔记 Tensorboard入门

Github工程地址:https://github.com/ahangchen/GDLnotes 官方教程:https://www.tensorflow.org...

22080
来自专栏性能与架构

分方式缓存常用的一致性hash是什么原理

一致性hash是用来解决什么问题的? 先看一个场景 有n个cache服务器,一个对象object映射到哪个cache上呢? 可以采用通用方法计算objec...

38490
来自专栏瓜大三哥

FPGA乒乓操作你了解吗? 还不赶快来看

28440
来自专栏Django中文社区

创建 Django 博客的数据库模型

设计博客的数据库表结构 博客最主要的功能就是展示我们写的文章,它需要从某个地方获取博客文章数据才能把文章展示出来,通常来说这个地方就是数据库。我们把写好的文章永...

32360
来自专栏生信宝典

Rfam 12.0+本地使用 (最新版教程)

Rfam是用来鉴定non-coding RNAs的数据库,常用于注释新的核酸序列或者基因组序列。 最新版本的Rfam (12.2),包含2588个RNA家族,其...

32850
来自专栏Gaussic

OpenMp多线程编程计时问题 原

在做矩阵乘法并行化测试的时候,在利用<time.h>的clock()计时时出现了一点问题。

7820
来自专栏macOS 开发学习

Mac开发跬步积累(一):Cocoa Drawing 之 NSImage imageNamed: 到底做了什么?

首先,NSImage提供了支持多种格式图像数据进行管理的api, 但是NSImage对被其管理的实际图像数据几乎是一无所知的,这是因为NSImage并没有直接与...

13230
来自专栏lgp20151222

bootstrap的模态框

12610
来自专栏AI科技大本营的专栏

十图详解TensorFlow数据读取机制(附代码)

作者 | 何之源 在学习TensorFlow的过程中,有很多小伙伴反映读取数据这一块很难理解。确实这一块官方的教程比较简略,网上也找不到什么合适的学习材料。今天...

411110

扫码关注云+社区

领取腾讯云代金券