BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Tensorflow 1.3版本更新概览

| 作者 Roland Meertens 关注 7 他的粉丝 ,译者 王强 关注 1 他的粉丝 发布于 2017年8月3日. 估计阅读时间: 5 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

距离Tensorflow的1.2.1版本发布才过去一个月,但新发布的1.3版本已经包含了诸多更新。开发者可以在Tensorflow Github页找到完整的发布报告。本文则会概述开发者在升级到1.3版本之前和之后应知晓的最重要变化。

从cuDNN 5.1到cuDNN 6

开发者要从1.2.1升级到1.3,还需要升级系统中的cuDNN版本。1.3的编译版本是用NVIDIA的cuDNN 6编译的,而1.2.1用的是cuDNN 5.1。不想升级的开发者还是可以从源代码创建自己的编译版本。cuDNN新版显著提升了softmax层的性能。cuDNN 6新增的一个有趣的功能是膨胀卷积(dilated convolution),Tensorflow已经支持此特性。需要注意的是,从1.1.0版本开始,Tensorflow不再支持Mac上的GPU。虽然开发者还是能得到补丁,但不能保证它能正常运行。

tf.contrib.data.Dataset类

tf.contrib.data.Dataset类获得了一些重要更新。开发者可以使用这个类为自己在Tensors中的数据创建统一的输入流水线,输入来源可以是内存、文件或磁盘,支持多种数据格式。它还能用来对使用Dataset.map()的各个独立元素应用函数,或者对所有使用Dataset.batch()的元素应用函数。这个类中缺少嵌套结构的函数现在把列表隐式地转换成tf.Tensor对象。不想用它的用户可以使用元组来代替。Dataset类中还提供了几个新函数:

  • Dataset.list_files(file_pattern):返回一个Dataset,包含了与file_pattern模式相匹配的文件名字符串。
  • Dataset.interleave(map_func,cycle_length):赋予程序员更大的自由度来处理函数到元素的映射。它仍会对整个dataset应用map_func,但会交叉结果,这样有助于同时处理多个输入文件。
  • ConcatenateDataset:用于扩展了Dataset类的一个类。它的init函数接受两个Dataset作为参数,通过已有的Dataset.concatenate()函数将它们连接起来。

要了解更多信息,开发者应该参阅Github上的开发者指南中关于使用Dataset类的说明。

高级API函数和统计分布

虽然Keras和TFlearn用户已有很多高级API函数可用,Tensorflow又在库中增加了下列函数:DNNClassifier、 DNNRegressor、LinearClassifer、LinearRegressor、DNNLinearCombinedClassifier、DNNLinearCombinedRegressor。这些estimator是tf.contrib.learn包的一部分,使用方法可参阅Tensorflow文档

新增的一项内容是多重统计分布。使用一个类表示一个统计分布,并用定义这个分布的参数进行初始化。现有很多单变量和多变量的分布。开发者也能扩展已有的类,但是必须继续支持Distribution基类中现有的函数。为避免无效的属性,开发者可以让程序抛出一个异常,或者选择用NaN值处理。下面的例子展示了开发者如何从一个均匀分布中获取一个带有随机变量的张量:

已有函数的改动

已有的函数也有一些改动。tf.gather函数是用来在张量中选取变量的,现在加入了坐标轴参数,可以更灵活地收集数据。

tf.pad函数用来在已有张量周围插入值,现在可支持“CONSTANT”实参。使用这个实参时,padding到已有张量时会使用0来填充已有张量。之前已有的模式是“REFLECT”和“SYMMETRIC”。

留下你的反馈

虽然本文涵盖了多数重要更新,但开发者可能也想了解其他更新和功能。笔者请开发者们就Tensorflow 1.3版本补充更多内容,包括我忘记写上的内容、现有代码中发现的问题,或者其它任何内容,请在文后评论中留言。还没注册InfoQ的访客可以注册账号写下评论,为众多同行提供帮助。

查看英文原文Overview of Changes in Tensorflow Version 1.3


感谢薛命灯对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT