TensorFlow已死,TensorFlow万岁!

TensorFlow已死,TensorFlow万岁!

【新智元导读】本月TensorFlow 2.0 alpha版千呼万唤始出来,谷歌首席决策情报工程师 Cassie Kozyrkov 撰文详解新版本的重要更新,旧的TensorFlow已死,TensorFlow 2.0万岁!

如果你是一名人工智能爱好者,却没有关注到本月的一条重大新闻,就好比你在一场罕见的地震中打了个盹。等你醒来,会发现一切都将改变!

去年,我写了一篇博文,题为《关于TensorFlow你需要了解的9件事》,但是有一件事是比其他所有事情更需要知道的:TensorFlow 2.0来了!

这是一场彻底的改造。刚刚发生的一切将对每个行业产生重大的连锁反应,只需等着瞧吧。如果你打算在2019年年中入坑TF,那么你会特别幸运,因为你选择了进入AI的最佳时间(尽管如果你的旧教程中有“session”这个词,你可能需要从头开始学习)。

简而言之:TensorFlow真正让Keras完整起来了。相信理解这句话的朋友一定会惊讶到从椅子上掉下来的。为之振奋吧!

旧版本TensorFlow的糟糕体验

我听不少人说过TensorFlow 1.x很讨人喜欢,我是表示怀疑的。TensorFlow 1.x可以说是AI领域中的车床,勉强算用户友好。充其量,你可能会因为它能以令人难以置信的规模完成你的AI任务而感到感激。

TensorFlow已死,TensorFlow万岁!

如果你坚称TensorFlow 1.x很容易掌握,那么肯定会引来一些人的反对。它陡峭的学习曲线使普通用户几乎不可能掌握,但在掌握之后,人们又开始大肆吹捧它,就像吹嘘登顶珠穆朗玛峰时冻掉的脚趾一样。这有意思吗?

TensorFlow已死,TensorFlow万岁!

你不是唯一一个——这就是TensorFlow 1.x的教程,每个人都有这种体会。

TensorFlow的核心优势在于性能。它的设计是为了将模型从研究环境转移到生产环境并大规模交付。但TF 1.x却让你为之费了十足的劲。只有坚持不懈,你才有可能加入ML从业者的行列,用它来做一些不可思议的事情,比如发现新的行星和开拓医学疆土。

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

TensorFlow已死,TensorFlow万岁!

不用担心不知道tensor是什么。我们以前通常称之为“矩阵”(广义)

TensorFlow这个名称,只是强调它非常擅长执行涉及多维数组(呃,也就是矩阵)的分布式计算这一事实,而这在大规模AI应用中很有用

可喜可爱的Keras

我们已经介绍了TensorFlow中棘手的部分,现在让我们来谈谈你想要拥抱的部分。在我工作的地方,有一次我无意中听到:“我觉得我真的是很喜欢Keras。”

Keras是一种逐层构建模型的规范,支持多种机器学习框架(因此它不是TF专有的),但你可能是从TensorFlow中作为高级API访问的TF.Keras知道它的。

TensorFlow已死,TensorFlow万岁!

顺便一提,写这篇文章时恰好是Keras的4岁生日(2019年3月27日)。生日快乐!

Keras在设计之初就秉持着与Python一致的理念,即以人为本——它的设计非常友好、灵活、易于学习

为什么不能两者都要呢?

为什么我们必须在Keras的可爱和传统TensorFlow的强大性能之间做选择呢?为什么不能两个都要?

TensorFlow已死,TensorFlow万岁!

好主意!我都要!

简言之,这就是TensorFlow 2.0。

TensorFlow已死,TensorFlow万岁!

这就是TensorFlow 2.0。你可以在这里试试运行代码:https://www.tensorflow.org/overview

“我们认为,用户不必在简单API和可扩展的API之间做出选择。我们想要一个更高级的API,让你可以从MNIST数据集一直到行星规模的数据集。”——Karmel Allison,谷歌TensorFlow工程主管

可用性革命

展望未来,Keras将成为TensorFlow的高级API,它经过了扩展,因此你可以直接从tf.keras使用TensorFlow的所有高级特性。

所有TensorFlow都将具有Keras的简单性,涵盖任何规模,支持所有硬件。

TensorFlow已死,TensorFlow万岁!

在新版本中,所有你讨厌的TensorFlow 1.x的特性都被送上断头台。为了把两个数字加起来而不得不搞一些黑魔法似的操作?不需要了。TensorFlow Sessions?没了。用一百万种方法实现同样的事情?不用。如果切换硬件或规模,就得重写代码?不用。要写一大堆样板文件?不用了。可怕的无法执行的错误消息?没了。陡峭的学习曲线?再见了。

TensorFlow is dead, long live TensorFlow 2.0!

TensorFlow已死,TensorFlow 2.0万岁!

你以为这是陷阱?会导致性能更糟糕?不,我们不会放弃性能。

TensorFlow现在真正可爱起来了,它是一个游戏规则的改变者,因为它意味着我们这个时代最强大的工具之一刚刚消除了大部分的入门壁垒。来自各行各业的技术爱好者终于有能力加入,因为新版本对所有人敞开了大门,而不仅是研究人员和其他痛苦阈值很高的学习者。

我们这个时代最强大的工具之一,刚刚消除了它的大部分入门壁垒!

我们敞开大门欢迎每一位朋友。想试试吗?来玩吧!

令人愉悦的Eager

在TensorFlow 2.0中, eager execution现在是默认的。即使在eager的上下文中,你也可以利用graphs,这将使你的调试和原型设计都变得更容易,而TensorFlow runtime则负责底层的性能和扩展性。

TensorFlow 1.x(声明式编程)中的纠缠图对许多人而言都是噩梦般的存在,但现在,有了eager execution(命令式编程),噩梦不再。如果你以前没学过这部分,那就更好了。TF 2.0为每个人提供相同的全新开端。

简洁的API

在Keras下,许多API在TensorFlow中得到了整合,所以现在用户能够更清楚什么时候应该使用什么API。例如,假如你现在只需要使用一组优化器和一组指标。需要多少层?你猜对了!只需要一层!这就是Keras的风格,简洁如一。

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

TensorFlow已死,TensorFlow万岁!

还有一些很棒的工具可以让你切换和优化分发策略,从而获得惊人的扩展效率,同时又不会失去Keras的任何便利性。

TensorFlow已死,TensorFlow万岁!

这些分发策略很漂亮,不是吗?

让大家久等了

如果问题不在于性能,那么是什么呢?这里面一定有陷阱,对吧?

事实上,唯一的问题就是让大家等了这么久。TensorFlow在酝酿一个友好的版本时,要求用户非常耐心地等待。这不是故意的。因为为深度学习制作工具是一个全新的领域,我们都是一边做一边想。走了弯路是不可避免的,但我们在这条路上学到了很多。

TensorFlow社区投入了大量的精力来创造了最初的奇迹,然后再次付出更多的努力来打磨出最好的宝石,同时去掉不那么好的设计。我们从来没想过先拿个半成品出来,但也许你已经习惯了这种不舒服,以至于你没有意识到这是暂时的。谢谢你的耐心等待!

我们不会牺牲性能!

对你的耐心等待,奖励就是你喜欢的TensorFlow 1.x的友好设计仍在,在一个一致的API之下,并删除了大量重复功能以使它更清晰。此外,错误信息也经过了清理,现在更加简洁易懂,易于操作。强大的性能表现也依然存在!

重点是什么?

Haters可能会说v2.0中的大部分特性都可以在v1.x中找出来,只要你花时间,花经历,所以有什么好吹的呢?但是,并非每个人都想浪费时间在这种事情上。改造和清理值得鲜花和掌声,可以,但没必要。

不容错过的一点是:TensorFlow刚刚宣布了,必须关注可用性,这一点上不容妥协。这是人工智能民主化的前所未有的一步!

AI可让您自动执行无法提供相关说明的任务,它可以让你自动化不可操作的东西。民主化意味着大规模的人工智能将不再是一个小型技术精英的专属:人人都是AI高手。

想象一下,未来“我知道如何使用Python制作东西”和“我知道如何用AI制作东西”成为一种常态!我几乎想把这个流行语用在这里“破坏性”。

超大量的代码迁移

我们知道升级到新版本是一项艰苦的工作,尤其是当变化如此剧烈时。你是不是已经准备要开始迁移代码库到2.0了?你不是一个人!我们Google也一样的。放心,我们会分享迁移指南的,我们还会开发工具来帮助简化迁移代码的工作量。

特定的功能,除了contrib之外都不会有太大问题。所有TF 1.x功能都将存在于compat.v1兼容性模块中。我们还提供了一个自动更新代码的脚本,以便它在TensorFlow 2.0上运行。在下面的视频中了解更多信息。

上手超顺畅

TF 2.0是初学者的天堂。想用TF 2.0来戏弄新手,想看初学者上手TF 2.0的笑话?那你错打主意了。对于初学者来说,你可能没赶上AI的早班车,但俗话说来得早不如来得巧,现在绝对是入行AI的最好的时机!

2019年3月TensorFlow 2.0发布了alpha版,所以现在学习可以让你及时为下一季度的完整版本打好基础。

初学者完全不用担心上手难度。可以说现在场地得到了平整,比赛变得更加轻松,而且永远给你留一个位置。欢迎来到TF 2.0星球!我希望你和我一样对这个新世界感到兴奋。

一起在TF 2.0的海洋里畅游吧!

访问重新设计的TF官网(https://www.tensorflow.org/)来获得教程、示例、文档、工具等等。

用机器学习解锁商业价值

许多开发者都在使用 TensorFlow 来实现机器学习,为企业解决问题,为用户创造价值,甚至为人类探索星辰大海。

TensorFlow中国选取了其中四家代表企业,分享他们如何通过 TensorFlow 和机器学习来实现企业的价值。

TensorFlow已死,TensorFlow万岁!

阿里巴巴旗下的闲鱼,是一款成交总额已经超过 1000 亿的闲置交易社区。如何使得非专业的卖家也能轻松交易,是一个重要的核心问题。庞大的规模,复杂的交易需求,使得技术成为重要的突破口。

闲鱼的非算法工程师背景的技术团队通过 TensorFlow 逐渐深入了解机器学习领域,将图像识别、深度学习模型等应用到生产环境。闲鱼的交易效率提升了 19.1%。

TensorFlow已死,TensorFlow万岁!

以租房场景为例,用户发布照片,系统推荐相应标签,帮助描述商品

TensorFlow已死,TensorFlow万岁!

网易有道致力于用技术与 AI 让语言、学习和工作更加轻松和有效。有道作业宝就是一个源于这样理念的产品,它可以辅助学生更快的自我检查作业。相比于传统的逐题搜索,有道作业宝实现了国内首家整页拍搜功能,1~2 秒就可以检查 15 道题目。

TensorFlow已死,TensorFlow万岁!

TensorFlow已死,TensorFlow万岁!

美团点评的使命是帮大家吃得更好,生活更好。在每天 2400 万单订单量的规模下,要确保能够在 28 分钟之内将外卖送到用户的手上,背后需要有非常强大的算法和模型的计算能力。TensorFlow 提供了最先进的算法,并且有一个非常强大的工程师团队以及非常好的开源社区在进行支持。

美团在图像、语音、自然语言处理、知识图谱都非常广泛的使用了基于 TensorFlow 的深度学习算法,其在美团的搜索、推荐、广告、金融平台等等各项业务中也都有非常良好的效果。

TensorFlow已死,TensorFlow万岁!

TensorFlow已死,TensorFlow万岁!

出门问问是一家以语音交互及软硬结合为核心的人工智能公司,为数百万级的智能硬件提供中文语音交互的能力。出门问问的核心技术是云交互及语音识别,其中 TensorFlow 在语音识别的深度学习建模方面是起着非常重要的作用。

TensorFlow已死,TensorFlow万岁!

在中国已经有大量企业应用 TensorFlow 开源机器学习平台实现底层的机器学习技术,他们致力创新,为用户创造更美好的世界。

TensorFlow已死,TensorFlow万岁!

为了普及机器学习技术,使更多的企业、学生、技术爱好者可以更好的学习了解 TensorFlow。TensorFlow 团队与 Udacity 优达学城合作,推出了 完全免费 的 “深度学习工具 TensorFlow 入门” ,中文字幕版本现已上线,从实践的角度深入浅出,覆盖基本理论与实操案例。

TensorFlow已死,TensorFlow万岁!

相关推荐