开发 | TensorFlow 1.0 要来了!它将带来哪些革命性变化?

在发布逾一周年之际,TensorFlow 终于将迎来史上最重大更新:TensorFlow 1.0。

对于不熟悉开源框架的读者,TensorFlow 是谷歌 2015 年底推出的深度学习框架,在开发者社区享有盛誉。去年,它已成为 GitHub 最受欢迎的机器学习开源项目。因其高度普及率,尤其是在 Python 生态圈中,TensorFlow 的功能变化会对全世界的机器学习开发者造成重大影响。

本月初,谷歌公布了 TensorFlow 1.0.0-alpha ,即 TensorFlow 1.0 的第一个“草稿”版本。近日,新的候选版本 TensorFlow 1.0.0-rc0 被发布出来,披露了更多技术细节,标志着我们离 “完全体”的 TensorFlow 1.0 更近一步。

AI 科技评论消息,1.0 版本不仅为 TensorFlow 机器学习函数库带来多重升级,而且为 Python 和 Java 用户使用 TensorFlow 做开发降低了难度。另外,新版本的漏洞修补也得到了改善。更有意思的是,由于对 TensorFlow 计算做优化的新编译器,智能手机上运行基于 TensorFlow 的机器学习 APP 将成为可能

强化对 Python 支持,加入 Java API

由于 Python 是最常用的机器学习开发语言,TensorFlow 1.0 对 Python 交互作了重点改进——Python API 得到升级,TensorFlow 使用的语法和隐喻(syntax、metaphor)与 Python 的能更好吻合,提升两者之间的一致性。

AI 科技评论获知,该升级带来了一个坏消息:现有 Python 应用将无法兼容。TensorFlow 开发者们已经发布了一个能把旧 TensorFlow API 转化为新格式的脚本,但是该脚本无法解决所有问题——很多情况下,开发者需要人工调整脚本。

TensorFlow 现已支持与 Python 3 兼容的 Docker 镜像。对于所有 Python 用户,TensorFlow 现在可以通过 Python 的原生软件包管理器 pip 来安装。这是提升 TensorFlow 可用性的关键一步,尤其对于那些使用原生 Python 应用分发、而非使用数据科学专用体系(比如 Anaconda)的用户。

Java 是机器学习领域的另一个主流语言平台。此前,TensorFlow 并没有对其支持,更没有一系列对 Java 的捆绑,而新的 1.0 版本引入了一个 Java API。但雷锋网(公众号:雷锋网)提醒,它还远未成熟,随时可能会有变化。而且,你需要 Linux 或者 Mac OS 平台上的来源来开发 TensorFlow(你可以把这作为 Windows 端 TensorFlow 是二等公民的另一个证据)。

使 TensorFlow 在移动设备上运行

TensorFlow 1.0 的最大变化或许不是新语言支持或者新算法,而是 XLA —— 全称 Accelerated Linear Algebra,意为加速线性代数,是一个针对 TensorFlow 中线性代数运算的试验性质编译器。它通过生成既能运行于 GPU、又能在 CPU 运行的机器代码,来加速数学计算。目前, XLA 只支持英伟达 GPU,但这与当下机器学习应用对 GPU 支持的现状是一致的。

XLA 提升了 TensorFlow 的移动性。现有的、未经调整的 TensorFlow 程序只需创建一个后端即可在新硬件平台上运行。这么做的意义非同寻常 ——此前, IBM 就为它的 PowerAI 机器学习硬件解决方案加入了对 TensorFlow 的支持,前者由 Power8 CPU 和 GPU 混合运行。

TensorFlow的工程师已经缩减了它的整体内存占用和 APP 的存储空间占用。这些优化对各类硬件运行环境都有好处,但对于移动平台尤其重要。此前的 TensorFlow 版本已经加入了对安卓、iOS 和 Raspberry Pi(树莓派微型电脑)硬件平台的支持,使得 TensorFlow 能在这类设备上处理诸如图像分类之类的任务。

关于机器学习的讨论往往会涉及高端硬件——机器学习,尤其是深度学习,是发展高端硬件的重要推动力量,不管是定制 CPU、GPU 阵列、FPGA 还是支持云端坏境的规模化硬件。但有理论认为,创造出能在普通智能手机上运行的机器学习模型,而无需 24 小时每时每刻的云端支持,将会孵化出一系列新型应用。这便是 TensorFlow 1.0 的野心之一。

via infoworld

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-01-31

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器人网

机器人控制的基本方法

机器人的控制方法,根据控制量、控制算法的不同分为多种类型。下面分别针对不同的类型,介绍常用的机器人控制方法。 一、根据控制量分类 按照控制量所处空间的不同,...

4174
来自专栏机器之心

从实验室到工厂,模型部署中的几个重要问题及解决方案

选自kdnuggets 作者:Mauricio Vacas 机器之心编译 参与:Quantum Cheese、微胖 在这篇文章中,我们会讨论在模型管理和部署中如...

3317
来自专栏人工智能头条

在机器学习模型运行时保持高效的方法

1342
来自专栏腾讯移动品质中心TMQ的专栏

机器学习实现录像分帧速度测试

浏览器测试组一直将录像分帧作为速度测试的重要手段之一。录像分帧具有结果简单直观,证据保存完好等优点。所以,虽然录像分帧在效率上比不上代码埋点,Hook等方法,但...

3461
来自专栏技术翻译

关于TensorFlow你应该知道的9件事

TensorFlow是一个机器学习框架。如果你有大量的数据或你在人工智能中追求的最先进的东西,那么这个框架可能是你最好的选择:深度学习。

970
来自专栏人工智能头条

有助于你掌握机器学习的十三个框架

1714
来自专栏IT派

50种机器学习和预测应用的API,你想要的全都有

API 是一套用于构建软件程序的协议和工具。对于应用开发者而言,有了开放的 API,就可以直接调用其他公司做好的功能为我所用,这在很大程度上提升了工作效率。

1442
来自专栏SDNLAB

基于无尺度网络模型的启发——一种新型数据中心架构的设想

无尺度网络(Scale Free Network),在网络理论中指的是一类有特定特征的网络。无尺度网络所具有的特征是:大部分节点只有极少的边连接,只有极小一部分...

33211
来自专栏机器之心

想轻松复现深度强化学习论文?看这篇经验之谈

选自Amid Fish 作者:Matthew Rahtz 机器之心编译 近期深度强化学习领域日新月异,其中最酷的一件事情莫过于 OpenAI 和 DeepMin...

3376
来自专栏CSDN技术头条

在机器学习模型运行时保持高效的方法

近来,很多人都面临这样一个问题:“机器学习脚本运行时,如何才能避免浪费时间或者拖延呢?”。 我认为这是一个非常好的问题,回答这个问题能显示组织水平和工作上的成熟...

2045

扫码关注云+社区

领取腾讯云代金券