[关闭]
@sambodhi 2018-08-11T10:29:03.000000Z 字数 3338 阅读 440

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

作者 | Cassie Kozyrkov
译者 | Sambodhi Liu
编辑 | Natalie Cai

AI前线导读: TensorFlow是Google基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。TensorFlow可被用于语音识别或图像识别等多想机器学习和深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部手机,大到数千台数据中心服务器的各种设备上运行。在那么多深度学习和机器学习的框架下,为什么我们要学习TensorFlow呢?其中一个很重要的原因是TensorFlow可以有效满足生产和科研的需要,既灵活又有较好的扩展性,既适合用于生产也适合用于科研工作。因此,TensorFlow你应该去深入了解、研究并使用。

在旧金山举办的Google Cloud Next大会上,有场精彩的演讲《What's New with TensorFlow?》(演讲视频见文末),我提炼了这场演讲的精华,以飨我的粉丝们!

我强烈建议你无论如何要抽空看完这场演讲,这简直太棒了!感谢Laurence Moroney(@lmoroney)为我们带来如此精彩的演讲!如果你没有时间看完长达40多分钟的视频,那么就来看看我提炼出来的干货吧!

#1 它是一个强大的机器学习框架

TensorFlow是一个机器学习框架,如果你拥有大量的数据,或者你正在学习人工智能最先进的技术:深度学习(可参阅《Step-by-Step Deep Learning Tutorial Walkthrough》https://github.com/kozyrkov/deep-learning-walkthrough),那么,TensorFlow可能就是你趁手的兵器。它处理的是特别大的神经网络。从某种意义来说,它就是数据科学中的工业车床,而不是瑞士军刀。这意味着,如果你要做的是通过20x2的电子表格生成一条回归线,那么你很可能不需要再读下去了。

如果你追求的是大型项目,那么你就准备雀跃欢呼吧!因为TensorFlow可以干的事很多,可以用来寻找系外行星,可以帮助医生筛查糖尿病视网膜病变来预防失明,还可以通过提醒当局注意非法砍伐森林活动的迹象来保护森林。另外,TensorFlow是AlphaGo和Google Cloud Vision的基础,也是你的最佳选择。TensorFlow是开源的,你完全可以免费下载并使用。

AI前线注:可参阅《TensorFlow Tutorial For Beginners》(http://u6.gg/ek2e4

天文学家借助TensorFlow,发现了系外行星Kepler-90i,使得它所在的行星系Kepler-90成为我们已知的唯一有八颗行星的行星系统。由于尚未发现超过八颗行星的行星系统,因此就目前来说,我们的太阳系和Kepler-90都是拥有八大行星的行星系统。

#2 哪怕方法再奇怪,也不是不可以

我狂热地爱上了TensorFlow Eager。

如果你以前尝鲜过TensorFlow,但是因为它让你像学术界或外星人而不是像开发者那样编写代码,让你产生畏难情绪,那么就跟我来吧!

有了TensorFlow Eager(http://u6.gg/ek2hs),你就可以像纯Python程序员那样,与它进行交互:一行一行地编写代码,并即时进行调试,而不是在构建那些庞大的图表时屏住呼吸。我自己也正从那个阴影走出来,但自从TensorFlow Eager问世以来,我就深深爱上了它。请一定要关注TensorFlow Eager!

#3 你可以一行一行地构建神经网络

Keras + TensorFlow = 更容易的神经网络构建!

Keras完全致力于用户友好性和简单的原型设计,这是传统的TensorFlow所渴望拥有的特色。如果你喜欢面向对象的思维,喜欢一次构建一层神经网络,那么一定会爱上tf.keras。在下面的几行代码中,我们创建了一个Sequential神经网络,带有标准的额外卖点,比如dropout。

哦,你喜欢智力拼图,对吧?要耐心。

#4 不仅仅是Python

好了,对于TensorFlow只能运行在Python这一点,你已经抱怨很久了,我知道。但今天有个好消息!TensorFlow不再是Python的专利了!现在,它可以在多种语言中运行,从R到Swift,再到JavaScript,都可以运行TensorFlow了!

#5 你可以在浏览器里做所有的事情

说到JavaScript,你可以使用TensorFlow.js在浏览器中训练并执行模型。去看看这些很酷的演示吧:https://js.tensorflow.org/,我保证你会感到目瞪口呆!

使用TensorFlow.js实现浏览器中的实时人体姿态估计。打开你的摄像头,访问http://u6.gg/ekpRz体验一下。记得不要离开座位, ¯\_(ツ)_/¯ 一切由你决定。

AI前线注:可以参阅《Introducing TensorFlow.js: Machine Learning in Javascript》(http://u6.gg/ek2q7)、《Real-time Human Pose Estimation in the Browser with TensorFlow.js》(http://u6.gg/ek2tv

#6 有针对微型设备的精简版

从博物馆得到了老旧的台式设备?是烤面包机吗?TensorFlow Lite为各种设备(包括移动设备和物联网设备)带来了模型执行的能力,与最初的TensorFlow相比,推理方面的速度提升了3倍以上。没错,现在,你可以在树莓派或手机上进行机器学习了!在这场演讲中,Laurence做了一件很有勇气的事情:在成千上万的人面前,用Android模拟器演示了图像分类,演示非常成功!

1.6秒就计算出来了!看!香蕉的概率超过97%!看是卫生纸吗?好吧,我去过一些国家,我认为像Laurence这样的纸可以用来计数。

#7 专门的硬件变得更好了

如果为完成训练神经网络而等待CPU完成数据处理让你感到厌倦,那么你现在可以试试专为Cloud TPU而设计的硬件了。这个TPU中的T是指tensor。就像TensorFlow……这是巧合吗?我认为不是!就在几周前,Google发布了TPU内测版的第三个版本。

#8 新的数据管道有了很大的改进

你原来用numpy做的是什么?如果你想用TensorFlow做同样的事,然后进行rage-quit,那么tf.data命名空间就可以让你在TensorFlow中的输入处理更有效率。tf.data为你提供了快速、灵活、易用的数据管道,实现了与训练同步。

#9 你不必从零开始

你知道开始机器学习的一种有趣的方式是什么吗?在编辑器中只有一个空白的新页面,没有任何示例代码,有没有一种无从下手的感觉?有了TensorFlow Hub,你就可以更高效地执行由来已久的传统,就是获得别人编写的代码进行参考,改写,成为自己的代码(也称为专业软件工程),跟GitHub一样一样的。

TensorFlow Hub是可重复使用的预训练机器学习模型组件的存储库,为单行重用进行了打包。善用它就是帮助你自己。

虽然我们讨论的是社区主题,而不是孤军奋战,但你应该想知道的是,TensorFlow刚刚有了官方的youtube频道和博客。

上述内容,就是我从这场演讲中提炼出来的精华。下面就是完整的演讲视频(https://www.youtube.com/watch?v=MR7w8ARAS2Y),长达42分钟:

原文链接: 9 Things You Should Know About TensorFlow
https://hackernoon.com/9-things-you-should-know-about-tensorflow-9cf0a05e4995?linkId=55312498

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注