【锁定直播】字节、华为云、阿里云等技术专家讨论如何将大模型接入 AIOps 解决实际问题,戳>>> 了解详情
写点什么

Tensorflow 1.3 版本更新概览

  • 2017-08-02
  • 本文字数:1507 字

    阅读完需:约 5 分钟

距离 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 )关注我们。

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2017-08-02 19:008868

评论

发布
暂无评论
发现更多内容

LeetCode 300. Longest Increasing Subsequence

liu_liu

LeetCode

程序员的晚餐 | 6 月 20 日 随便牛肉和翡翠白玉

清远

美食

ARTS|Week 4 Product, Leadership, and SOLID

Puran

设计模式 LeetCode ARTS活动 Leadership

本地缓存高性能之王Caffeine

java金融

Java Guava Cache Caffeine 本地缓存 谷歌本地缓存

week3-学习心得

Geek_36d3e5

Week3 作业

Shawn

架构师训练营 - 第 2 周命题作业

红了哟

LeetCode | 4. Palindrome Number 回文数

Puran

Python C# 算法 LeetCode

架构师训练营第三周总结

烟雨濛濛

week3:组合设计模式和单例

Geek_36d3e5

迎接一次重大的人生升级,让优秀的你,成为大学顶尖生。

叶小鍵

大话设计模式 | 3. SOLID原则

Puran

设计模式

架构师训练营第二周作业

陈靓-哲露

区块链助力新基建

CECBC

区块链技术 联盟链 公链 底层技术

了解 Java 架构

陈皮

架构师训练营总结-20200621

caibird1984

极客大学架构师训练营

了解 Java 内存模型

陈皮

JMM

LeetCode 2. Add Two Numbers

liu_liu

数据结构 算法 链表 LeetCode

一些有用的工具、开源项目收集

陈皮

孩子教育

王进行

教育 孩子

设计模式作业

qihuajun

云计算产品的竞争力

韩超

云计算 k8s 公有云 私有云

ArrayList的删除姿势你都知道了吗

java金融

Java 后端 ArrayList 循环删除 ModificationException

LeetCode | 5. Longest Common Prefix 最长公共前缀

Puran

Python C# 算法 LeetCode

通证经济=区块链技术+商业模式

CECBC

商业模式 区块链技术 Token 通证经济

单例模式与组合模式总结与练习

单例模式 极客大学架构师训练营 组合模式 第三章作业

架构师训练营第三周作业

张明森

极客大学架构师训练营

刘华:想入门软件系统架构设计,看这篇就够了

刘华Kenneth

架构 架构师 故障 容灾 灾备

面试急转弯:List如何一边遍历,一边删除?

Java小咖秀

架构师第二周学习总结

陈靓-哲露

ARTS Week4

时之虫

ARTS 打卡计划

Tensorflow 1.3版本更新概览_Google_Roland Meertens_InfoQ精选文章