写点什么

TensorFlow 1.0 已死,TensorFlow 2.0 万岁

  • 2019-03-29
  • 本文字数:3910 字

    阅读完需:约 13 分钟

TensorFlow 1.0已死,TensorFlow 2.0万岁

作为 AI 关注者,如果本月你没有及时跟进重大新闻,那么很可能会错过一个重磅消息,那就是 TensorFlow 2.0 的推出。谷歌首席决策情报工程师 Cassie Kozyrkov 认为整个 AI 行业的格局都将因此发生改变。


去年,我曾经在文章中讨论过关于 TensorFlow 大家必须了解的九件事,现在,又有了新的、必须得知晓的新事件——TensorFlow 2.0 出来了!


革命就在这里!掌声送给 TensorFlow 2.0。


这是一番彻底的改造,而刚刚发生的这一切必将给各个行业产生深远的影响。好在变革才刚刚起步,因此如果大家身为 2019 年才刚刚接触 TensorFlow 的新手,那么恭喜你,这可能算是迈入 AI 领域的最佳时机了。


简而言之:TensorFlow 真正让 Keras 完整了起来。相信能理解这句话的朋友们一定会为此振奋不已。

糟糕的过往体验

我听不少人说 TensorFlow 1.x 很讨人喜欢,反正我是压根理解不了这种观点。TensorFlow 1.x 可以算是行业领域中的车床……重要,但完全谈不到用户友好这一层。充其量,它也就是能够帮助用户完成以往根本无法想象的大规模 AI 任务,不过真的、真的没有好用可言。



首先,我认为任何宣称 TensorFlow 1.x 易于掌握的言论都值得批判一番。学习过的朋友们一定还记得,其陡峭的学习曲线使得普通爱好者几乎不可能掌握;但在学会之后,伤痕累累的我们又开始大肆炫耀——如同向他人炫耀自己攀登珠峰时冻掉了脚趾一样。这有意思吗?抛开那一点点本无必要的虚荣心,这样高的门槛真的有意思吗?



相信我,你不是唯一有此感觉的用户——TensorFlow 1.x 教程带给每个人的,几乎都是这样的体验。 TensorFlow 的核心优势在于性能,其设计目标是为了能够将模型由研究环境转移至生产环境并实现大规模交付。然而,TensorFlow 1.x 却几乎断送了这些承诺。只有坚持不懈并攻克这道难关,我们才有可能加入 ML 从业者队伍,并进一步探索其它令人向往的事物——例如寻找新的行星或者开拓医学疆土。


遗憾的是,如此强大的工具却被掌握在极少数人手中……直到现在。



不用操心张量是个什么东西。在我学习那会,大家都把它们叫作矩阵(广义)。TensorFlow 这个名称,实际上是在强调其非常擅长执行涉及多维数组(呃,矩阵)的分布式计算这一基本事实,而这一切都能够在大规模 AI 应用当中发挥重要作用。

可爱又喜人的 Keras

现在,我们说完了其中最困难的部分。接下来,该聊聊大家真正希望接受的解决方案了。有一回我在上班时,无意中听到有人说“我觉得我真的很喜欢 Keras。”


没错,Keras 是一种逐层构建模型的规范,适用于多种机器学习框架(因此不限于 TensorFlow)。但大家对它的接触,一般源自 TensorFlow 当中用于实现高级 API 访问的 tf.keras。



顺带一提,撰写本文时恰逢 Keras 项目的四岁生日(2019 年 3 月 27 日)。生日快乐,小家伙!


Keras 在设计之初就秉持着与 Python 类似的观念,即以人为本——它非常灵活、敏捷且简单易学。

我们为什么不能双管齐下?

我们为什么非得从 Keras 的亲民与 TensorFlow 的强大之间做出选择?为什么不能二者兼有?



好主意!现在我们都有了!简而言之,答案就是 TensorFlow 2.0。



这就是 TensorFlow 2.0。大家可以亲自点点那些橙色的按钮。


“我们认为,用户没有必要在简单的 API 与可扩展的 API 之间做出先找。我们希望推出一种更高级的 API,能够将你从 MNIST 数据集一路引领至宇宙深空。” 

— Karmel Allison,谷歌公司 TensorFlow 工程负责人

可用性的革命

展望未来,Keras 将成为 TensorFlow 的高级 API;而凭借着自身扩展,用户现在可以直接通过 tf.keras 使用 TensorFlow 的全部高级功能。


换言之,所有的 TensorFlow 都将具有 Keras 的简单性,而 Keras 将在任何规模与一切硬件之上带来 TensorFlow 的强大性。



在新版本中,我们最讨厌的 TensorFlow 1.x 原罪都将得到救赎。为了把两个数字加起来,就非得搞一些黑魔法似的神秘操作?当然不用。TensorFlow 会话?不要。用一百万种方法实现同一种效果?没门。切换硬件或者变更规模就得重写代码?开什么玩笑。大量样板文件?没必要。根本没有任何引导性可言的错误信息?滚蛋。陡峭的学习曲线?解决。


TensorFlow 已死,TensorFlow 2.0 万岁!


作为经年累月的受虐对象,大家肯定想着,来吧,那个永远存在的“但是”在哪呢?性能肯定得受点影响吧?错!我们绝对不会在性能上做出妥协。


TensorFlow 现在真正可爱起来了,并成为游戏规则的改变者,这意味着我们这个时代下最强大的工具之一终于摆脱了大部分入门障碍。来自各行各业的技术爱好者终于有能力加入其中。是的,研究人员与热情的学习者在新版本中将得到更友好,或者说应有的待遇。


我们这个时代下最强大的工具之一终于摆脱了大部分入门障碍!


我们敞开大门欢迎每一位朋友?想要试?那就试试!

体验提升

在 TensorFlow 2.0 当中,急切执行现在成为默认设置。你甚至可以在急切上下文中使用图形,从而显著简化调试与原型设计工作,而 TensorFlow 运行时则负责解决性能与扩展方面的问题。


TensorFlow 1.x(声明性编程)中的纠缠图对很多人而言都是噩梦般的存在,但现在急切执行(命令式编程)最多只能算是正常梦境中的一点小惊吓。如果之前大家因为难度关系而跳过了声明编程,那要向你说一声恭喜——TensorFlow 2.0 为每个人提供相同的全新开端。

简洁如一

在 Keras 的引导之下,大量 API 在 TensorFlow 当中得到了整合,因此用户现在能够更清晰地理解何时需要加以使用。举例来说,现在我们只需要一组优化器与一组指标。那么层集又有多少?没错,一个。这就是 Keras 的风格,简洁如一。


事实上,整个工具生态系统就像进行了一次开学大扫除,从数据处理流水线到简单模型输出,再到 TensorBoard 与 Keras 的整合,所有的一切都被纳入一条单线。



新版本还提供其它一些出色的工具,能够帮助用户切换及优化分发策略,从而在实现惊人扩展效率的同时又不失去 Keras 带来的任何便利性优势。



这些分发策略非常酷炫,对吧?

还有什么问题?

如果性能没有受到影响,那么权衡之后的短板在哪?总会有问题的,对吧?


实际上,问题就是让大家等了这么长时间。TensorFlow 一直感激用户们的耐心,用以酝酿这套真正友好的版本。我们并不是故意把好东西藏了起来。为深度学习模型制作工具是个全新领域,我们也一直在探索甚至是摸索。在过程当中,我们不可避免地犯了很多错误,但也因此学习到了大量宝贵的经验。


TensorFlow 社区投入了大量精力完成从 0 到 1 的质变,然后再对这颗珍贵的原石进行切割与抛光,打掉一切糟糕的元素。我们从来没想过先拿个半成品出来,但这个过程客观存在,而且也确实给大家带来了很多不便。总之,一切都过去了,经历了暂时的痛苦,我们再次感谢你的耐心等待。


我们不会牺牲性能!


要说这段经历的好处,就是在体会过 TensorFlow 1.x 的一切之后,你更能够欣赏新版本的 API 友好设计;大量重复功能被清除之后,新版本的使用方式也更加清晰。另外,错误信息也经过了整理,现在更简洁易懂、可操作性暴增。最后,强大的性能也依然存在。

有什么大不了的?

有些朋友可能对此不屑一顾:只要多拿点时间进行完善,1.x 版本中的大部分功能都已经是现成的,只要整合到 2.0 中就可以了,这有什么大不了的?好吧,但并不是所有人都像我们一样愿意挖掘这些排布杂乱的定期。改造与清理工作同样值得认同与尊重,对不对?当然,这还不是新版本最大的意义。


2.0 版本最大的意义在于:TensorFlow 正式宣布将对可用性投入绝不妥协的永久关注。


AI 技术允许用户自动执行那些无法提供明确表述的任务,能够帮助我们自动实现某些原本无法操作的工作。而民主化进程,则代表着大规模 AI 这一有力武器不再被掌握在少数精英集团手中。


现在,任何人都可以参与进来,亲身体验一番。


想象一下,未来“我知道如何使用 Python 编写程序”将和“我知道如何用 AI 技术解决任务”将变成同样常见的两种陈述……没错!这,不就是新闻头条里常说的“颠覆”么?

艰苦的迁移之路

相信大家都了解,新版本的升级是一项艰苦的工作,特别是考虑到 2.0 版本中引入了数量众多的变化。如果你打算将原有代码库迁移至 2.0 版本,并发现过程中充满挑战,请别灰心——我们在谷歌也与你面对着同样的问题。我们拥有世界上规模最大的代码库之一,而随着后续推进,我们也将与大家分享详尽的迁移细节与指导意见。


另外,我们也为大家准备了良好的工具,用于简化整个迁移过程。


如果你依赖于特定功能,不用担心——除了 contrib 之外,TensorFlow 1.x 中的所有功能都将被存放在 compat.v1 兼容性模块当中。我们还为大家准备了一份自动代码更新脚本,其能够在 TensorFlow 2.0 上运行。请参阅以下视频了解更多细节信息。

开启新征程

TensorFlow 2.0 对于新手非常友好;换言之,那些曾经饱受折磨,并打算看新手笑话的老鸟们这下要失望了。


如果你身为 TensorFlow 初学者,虽然现在才投身 AI 似乎有点晚,但一切都还来得及。或者说,现在正是开启学习之路的最佳时机。


截至 2019 年 3 月,TensorFlow 2.0 仍然以 alpha 测试版的形式交付(这将是一套预览版本),因此现在学习将能够帮助大家做好准备,并更好地迎接社区计划在下个季度全面发布的完整版本。


经过此番天翻地覆的调整,初学之路已经变得平坦了许多。场地更平整,比赛更轻松,而且始终为你留有席位。欢迎加入!我们期待着有更多新生力量加入进来,也希望大家能够与我们一样对这个新的、充满可能性的世界感到兴奋。

干一番事业吧,同志们!

要获取教程、示例、文档与工具等入门资料,请访问经过重新设计的 tensorflow.org 网站……如果打算直接上手,请使用以下命令:


pip install tensorflow==2.0.0-alpha0
复制代码


你也可以点击此处参阅详细说明。


原文链接:


https://hackernoon.com/tensorflow-is-dead-long-live-tensorflow-49d3e975cf04


更多内容,请关注 AI 前线



2019-03-29 13:308503

评论 1 条评论

发布
用户头像
TensorFlow 1.0 已死,TensorFlow 2.0 万岁
2019-06-17 10:48
回复
没有更多了
发现更多内容

企业内部使用的即时通讯软件有哪些?

BeeWorks

华为云OBS对象存储:企业“上云”的好帮手

清欢科技

阿根廷夺冠梅西加冕,球场外视频平台角逐世界杯

易观分析

视频 足球 卡塔尔世界杯

跨浏览器测试策略

FunTester

不止于大,华为云对象存储服务OBS的全能一面

清欢科技

RayLink测评 | 完全免费,功能超越同类付费远程控制软件!!

RayLink远程工具

远程控制软件 远程办公软件 远控软件

BI-数据可视化 | 年度干货合集

搞大屏的小北

数据可视化工具 BI 分析工具 BI分析 市场分析

【冲破信息孤岛】华为云大数据BI,助力金融行业进行数字化转型

秃头也爱科技

还在为数据存储而烦恼?不妨进来看看华为云对象存储服务OBS

清欢科技

海量、安全、高可靠的华为云对象存储服务OBS,助力企业数据存储降本提效

清欢科技

存储数据如何更省钱?华为云告诉你!

清欢科技

大数据一站式服务,华为云大数据BI驱动企业业务线增长

秃头也爱科技

2022-12-30:某天小美进入了一个迷宫探险,根据地图所示,这个迷宫里有无数个房间 序号分别为1、2、3、...入口房间的序号为1 任意序号为正整数x的房间,都与序号 2*x 和 2*x + 1

福大大架构师每日一题

算法 rust 福大大

架构中实时引擎与离线渲染的主要优势

3DCAT实时渲染

Unity 渲染 实时渲染 AEC

敏捷技术实践之重构

华为云PaaS服务小智

即时通讯软件WorkPlus助力政企应用快速移动化

BeeWorks

FL STUDIO2023最新版本号21新变化

茶色酒

FL STUDIO20.9 FL Studio FL Studio 21

云渲染和自己的电脑渲染哪个好?

Renderbus瑞云渲染农场

云渲染

华为云对象储存OBS,为企业提供优秀且安全的数据储存环境

清欢科技

华为云对象存储OBS,助力企业降本增效

清欢科技

解决“双十一”电商行业数据存储难题,华为云OBS值得期待

清欢科技

提升企业决策能力,华为云用大数据BI助力企业腾飞

秃头也爱科技

华为云对象存储,助力企业驶入“数据快车道”

清欢科技

Android程序签名打包

芯动大师

Android Studio 打包签名 签名的含义

什么是云仿真,云仿真平台有哪些好处

3DCAT实时渲染

虚拟仿真 实时云渲染 云仿真 三维仿真

推动企业稳定发现,华为云大数据助力能源企业纾困

秃头也爱科技

打碎软件应用,在产业互联场景中串联—钉钉7.0关注企业间高效协同

B Impact

2022“易观之星”奖项公布,聚焦数字经济,助力数智创新

易观分析

金融 易观 颁奖

中国电信发布《天翼云安全白皮书》 打造高质量云网安全保障体系

极客天地

软硬协同造就极致性能 天翼云紫金DPU打造为云而生的全新一代云计算体系结构

极客天地

HTTP的四种认证方式

穿过生命散发芬芳

HTTP 12月月更

TensorFlow 1.0已死,TensorFlow 2.0万岁_AI&大模型_Cassie Kozyrkov_InfoQ精选文章