【TensorFlow1.2.0版发布】14大新功能,增加Intel MKL集成

【新智元导读】TensorFlow 今天发布最新版 1.2.0,公布了14大最新功能。新智元带来最新介绍,包括 API 的重要变化、contrib API的变化和Bug 修复及其他改变。附代码链接。

主要的功能和改进

1. Windows上支持Python3.6。

2. 时空域去卷积(spatio temporal deconvolution.)增加了tf.layers.conv3d_transpose层。

3. 增加了tf.Session.make_callable( ),为多次运行一个相同步骤的运行提供了更低的overhead手段。

4.增加了ibverbs-based RDMA支持。(感谢来自雅虎的@junshi15 )。

5. RNNCell 对象现在从属于 tf.layers.Layer,在TensorFlow 1.1 发布时的严格描述已经被删除:一个RNNCell首次被使用,它自己缓存其范围(scope)。所有将来使用的RNNCell都会对来自相同的范围的中的变量进行重复使用。对于TensorFlow1.0.1及其以下版本中的RNNCell来说,这是一个突破性的改变。TensorFlow 1.1 版本已经经过检验,以保证旧的代码在新的语义下也能正确的工作。新版本会让RNNCell的使用变得更加灵活,但是,如果使用为TensorFlow 1.0.1 以下版本所写的代码,可能会导致一些微小的错误。例如,输入MultiRNNCell([lstm] * 5) 将会搭建起一个5层的LSTM堆栈,每一层共享相同的参数。为了让5层中每一层都有自己的参数,输入MultiRNNCell([LSTMCell(...) for _ in range(5)]). 如果不太确定,你可以先在TF 1.1中测试你的代码,保证没有任何错误后,再升级到TF 1.2。

6. TensorForest Estimator现在支持SavedModel输出。

7. 支持用户提供的ClusterSpec’s,并把其分配给所有的工作者,以确保能创建动态的TensorFlow集群。

8. TensorFlow C 数据库现在在Windows可用。

9. 发布了一个新的开源版本的TensorBoard。

10.在SavedModel中,SavedModel CLI工具可用于MetaGraph检查和执行。

11. 安卓发布的TensorFlow现在被推送到jcenter,方便用户更加简便的融入app中。更多细节,参见:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/android/README.md

12. RNNCells 的变量名,现在已经被重命名,以与Keras层保持一致。具体地,此前的变量名称“weights”和“biases“现在已经变为”kernel”和“bias”。如果你的旧的checkpoints中包含了这样的 RNN cells,这可能会导致反馈的不一致,此时你可以使用工具checkpoint_convert script来改变旧的checkpoints中的变量名字。

13.在1.0发布前,许多的 RNN 的功能和类别都在 tf.nn 命名空间中,后被移到tf.contrib.rnn 。现在,这些功能和类别都被移回核心命名空间。其中包括 RNNCell, LSTMCell, GRUCell, 和其他的一系列 cells。 原始的 tf.nn.rnn 功能现在变成了 tf.nn.static_rnn, 双向的数据和状态存储数据rnn功能现在有备移回tf.nn 命名区。

比较值得一提的例外有: EmbeddingWrapper, InputProjectionWrapper 和 OutputProjectionWrapper,三者将会被逐渐搬到tf.contrib.rnn 的deprecation中。有一些无效的wrapper,需要经常进行替换,在rnn的预处理和后处理阶段,用所谓的embedding_lookup 或 layers.dense进行替换。在RNN的解码中,这一功能性将会被一个在tf.contrib.seq2seq. 中可用的API取代。

14. Intel MKL 集成 (https://software.intel.com/en-us/articles/tensorflow-optimizations-on-modern-intel-architecture). Intel 开发了一系列经过优化的深度学习基元(primitives):除了矩阵乘法(matrix multiplication)和卷积以外,这些基本模块还包括:直接的批量卷积、池化(最大化、最小化和平均数)、激活(线性整流函数)ReLU、数据处理(多维移项、分解、合并、相加等)。

弃用

TensorFlow 1.2 可能是我们最后一次使用 cuDNN 5.1 构建。从 TensorFlow 1.3 开始,我们将尝试使用 cuDNN 6.0 构建所有与构建的二进制文件。虽然我们会尽量保持源代码与 cuDNN 5.1 兼容,但不能保证。

API 的重要变化

org.tensorflow.contrib.android.TensorFlowInferenceInterface 现在在可能的情况下会引起异常,并简化了方法签名。

contrib API的变化

增加了 tf.contrib.util.create_example。

为 tf.contrib.image 增加了双线性插值。

为自定义seed control 的随机操作增加 tf.contrib.stateless。

MultivariateNormalFullCovariance 添加到 contrib/distributions/

tensorflow/contrib/rnn 经历RNN cell变量重命名以与Keras层一致。具体来说,先前的变量名称“weights”和“biases”分别改为“kernel”和“bias”。对于包含 RNN cells等的旧检查点,这可能会导致向后不兼容,在这种情况下,你可以使用checkpoint_convert 脚本来转换旧检查点的变量名称。

在TensorFlow中添加了tf.contrib.kernel_methods 模块,包含对原始(显式)核方法的Ops和estimators。

Bug 修复及其他改变

  • 在Python,类型属性上的 Operation.get_attr 恢复了类型的 Python DType版本,以匹配预期的 get_attr文档,而不是protobuf枚举。
  • 构建iOS库时,MIN_SDK版本更改为8.0。
  • 修复了LIBXSMM集成。
  • 使 decode_jpeg / decode_png / decode_gif 能够处理所有格式,因为用户经常尝试将图像解码为错误的类型。
  • 改善了隐式 broadcasting lowering。
  • 通过更快地重试过时的传输来提高GCS / Bigquery客户端的稳定性。
  • 删除OpKernelConstruction :: op_def()作为最小化原型依赖关系的一部分。
  • 添加了VectorLaplaceDiag分布。
  • Android demo不再需要libtensorflow_demo.so来运行(libtensorflow_inference.so仍然需要)。
  • 添加了 categorical_column_with_vocabulary_file。
  • 在Session :: Run()调用中引入batching/unbatching张量的操作。
  • 添加了 tf.log_sigmoid(x) = tf.log(tf.sigmoid(x)) = -tf.nn.softplus(-x).
  • 将hooks lists更改为不可变元组,现在允许对相关参数进行任何迭代。
  • 引入了 TFDecorator。
  • 为语音特征生成添加了Mfcc操作。
  • 改进了DirectSession :: Run()和错误检查。提供一个错误类型的值将同步引发INVALID_ARGUMENT错误,而不是异步地引发INTERNAL错误。在提供错误类型的张量时,取决于(未定义)行为的代码可能需要更新。
  • 添加了unreduced NONE,并减少MEAN选项的损失。从其他 Reduction 常数删除“WEIGHTED_”前缀。
  • assertAllClose现在能处理dicts。
  • 为HloInstructions添加了Gmock匹配器。
  • 将变量名称添加到变量恢复的错误。
  • 为音频特征生成添加了AudioSpectrogram 操作。
  • 为损失添加了 reduction 参数。
  • tf.placeholder可以表示标量形状并且部分是已知的。
  • 删除了estimateator_spec(mode)参数。
  • 如果超过40次运行,TensorBoard将默认禁用所有运行。
  • 删除了旧的doc生成器代码。
  • GCS文件系统集成现在支持域存储桶,例如gs://bucket.domain.com/path。
  • 为输出文本添加了tf.summary.text到TensorBoard。
  • tfdbg的命令行接口的“run”命令现在支持按节点名称,操作类型和张量类型过滤张量。
  • tf.string_to_number现在支持int64和float64输出。

贡献者名单

4F2E4A2E, Aaron Schumacher, Abhi Agg, admcrae, Adriano Carmezim, Adrià Arrufat,agramesh1, Akimitsu Seo, Alan Mosca, Alex Egg, Alex Rothberg, Alexander Heinecke,Alexander Matyasko, Alexandr Baranezky, Alexandre Caulier, Ali Siddiqui, Anand Venkat,Andrew Hundt, Androbin, Anmol Sharma, Arie, Arno Leist, Arron Cao, AuréLien Geron, Bairen Yi, Beomsu Kim, Carl Thomé, cfperez, Changming Sun, Corey Wharton, critiqjo, Dalei Li, Daniel,Rasmussen, Daniel Trebbien, DaríO Hereñú, David Eng, David Norman, David Y. Zhang, Davy Song, ddurham2, Deepak Subburam, Dmytro Kyrychuk, Dominic Rossi, Dominik SchlöSser, Dustin Tran,Eduardo Pinho, Egil Martinsson, Elliot Saba, Eric Bigelow, Erik Smistad, Evan Klitzke,Fabrizio Milo, Falcon Dai, Fei Gao, FloopCZ, Fung Lam, Gautam, GBLin5566, Greg Peatfield,Gu Wang, Guenther Schmuelling, Hans Pabst, Harun Gunaydin, Huaizheng, Ido Shamay, Ikaro Silva, Ilya Edrenkin, Immexxx, James Mishra, Jamie Cooke, Jay Young, Jayaram Bobba,Jianfei Wang, jinghua2, Joey Meyer, John Maidens, Jonghoon Jin, Julian Villella,Jun Kim, Jun Shi, Junwei Pan, jyegerlehner, Karan Desai, Karel Van De Plassche,Kb Sriram, KhabarlakKonstantin, Koan-Sin Tan, krivard, Kwotsin, Leandro Gracia Gil,Li Chen, Liangliang He, Louie Helm, lspvic, Luiz Henrique Soares, LáSzló Csomor, Mark Wong, Mathew Wicks, Matthew Rahtz, Maxwell Paul Brickner, Michael Hofmann, Miguel,Flores Ruiz De Eguino, MikeTam1021, Mortada Mehyar, Mycosynth, Namnamseo,Nate Harada, Neven Miculinic, Nghia Tran, Nick Lyu, Niranjan Hasabnis, Nishidha, Oleksii,Kuchaiev, Oyesh Mann Singh, Panmari, Patrick, Paul Van Eck, Piyush Chaudhary, Quim Llimona,Raingo, Richard Davies, Ruben Vereecken, Sahit Chintalapudi, Sam Abrahams, Santiago Castro,Scott Sievert, Sean O'Keefe, Sebastian Schlecht, Shane, Shubhankar Deshpande, Spencer Schaber,Sunyeop Lee, t13m, td2014, Thomas H. P. Andersen, Toby Petty, Umang Mehta,Vadim Markovtsev, Valentin Iovene, Vincent Zhao, Vit Stepanovs, Vivek Rane, Vu Pham, wannabesrevenge,weipingpku, wuhaixutab, wydwww, Xiang Gao, Xiaolin Lin, xiaoyaozhuzi, Yaroslav Bulatov, Yi Liu,Yoshihiro Sugi, Yuan (Terry) Tang, Yuming Wang, Yuxin Wu, Zader Zheng, Zhaojun Zhang, zhengjiajin, ZhipengShen, Ziming Dong, zjj2wry

下载

源代码:https://github.com/tensorflow/tensorflow/archive/v1.2.0.zip

开源地址:https://github.com/tensorflow/tensorflow/releases

原文发布于微信公众号 - 新智元(AI_era)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏生信宝典

DESeq2差异基因分析和批次效应移除

2.3K100
来自专栏CVer

ECCV 2018 776篇论文一键下载

昨天推送了ECCV 2018 收录论文名单全公布,看到很多CVer纷纷转发至朋友圈,Amusi真的很开心!

38720
来自专栏人人都是极客

五分钟喝不完一杯咖啡,但五分钟可以带你入门TensorFlow

本文是《人人都能学人工智能-TensorFlow系列》文章的第一篇,这个系列会对TensorFlow的基础使用,SoftMax,交叉熵,Dropout,CNN,...

536120
来自专栏Y大宽

RNA-seq(6): reads计数,合并矩阵并进行注释

小结 计数分为三个水平: gene-level, transcript-level, exon-usage-level 标准化方法: FPKM RPKM ...

78650
来自专栏PPV课数据科学社区

《Kaggle项目实战》 泰坦尼克:从R开始数据挖掘(一)

摘要: 你是否为研究数据挖掘预测问题而感到兴奋?那么如何开始呢,本案例选自Kaggle上的数据竞赛的一个数据竞赛项目《泰坦尼克:灾难中的机器学习》,案例涉及一...

36560
来自专栏生信技能树

单细胞转录组3大R包之scater

scater 这个R包很强大,是McCarthy et al. 2017 发表的,包含的功能有: Automated computation of QC met...

1.6K100
来自专栏机器之心

业界 | 谷歌发布TensorFlow 1.3.0版本,新加多个分类器、回归器

31840
来自专栏Spark学习技巧

第2篇:数据库关系建模

第二篇:数据库关系建模 前言 ER建模环节完成后,需求就被描述成了ER图。之后,便可根据这个ER图设计相应的关系表了。 但从ER图到具体关系表的建立还需要经过两...

35260
来自专栏QQ音乐技术团队的专栏

Android 中图片压缩分析(上)

在 Android 中进行图片压缩是非常常见的开发场景,主要的压缩方法有两种:其一是质量压缩,其二是下采样压缩。

1.4K20
来自专栏IT笔记

Dubbo负载均衡配置

在集群负载均衡时,Dubbo提供了多种均衡策略,缺省为random随机调用。 负载均衡扩展 (1) 扩展说明: 从多个服务提者方中选择一个进行调用。 (2) 扩...

50250

扫码关注云+社区

领取腾讯云代金券