当地时间 2 月 15 日,谷歌在加州山景城召开了第一届年度 TensorFlow 开发者大会(TensorFlow Developer Summit 2017),这可算得上是 TensorFlow 开发者、支持者与爱好者的第一次盛会,谷歌也在此次会议上发布了开发者期待已久的 。 经过一年多的发展,TensorFlow 得到了越来越多开发者的认可,也成为了 GitHub 上最受欢迎的框架之一。从发布以来,开奖,TensorFlow 一直在不断完善和增加新功能,比如分布式 TensorFlow、Windows 系统支持等,直到最近 TensorFlow 1.0 正式版的诞生。 图:TensorFlow 的版本更迭 但除了这个我们早就已经预计到的重磅消息之外,这个首届 TensorFlow 开发者大会上还有什么值得开发者关注的亮点呢?机器之心在此根据本次大会上的演讲对会上值得关注的内容进行了梳理,并按框架对比、产品和应用、移动端与嵌入式 TensorFlow、资源分别进行了总结,希望能对 TensorFlow 开发者能有所帮助。 框架对比 自开源以来,TensorFlow 经过一年多的发展已经成为了 GitHub 上最流行的框架。如同 Jeff Dean 下图中演示那样,短短一年时间,TensorFlow 已经超越 scikit-learn、Caffe 等框架,已在 GitHub 获得了最多的 Star 量。 图注:有大量的人在为 TensorFlow 作出贡献,并用其进行各种有趣的尝试。 此外,Jeff Dean 在 Keynote 中介绍说,TensorFlow 现在已经支持 Python、C++、Java、R、Haskell、Go 在内的多种语言。 框架之间的对比也成为了机器学习社区所关注的一个话题。之前机器之心编译的一篇文章中,数据科学公司 Silicon Valley Data Science 的数据工程师 Matt Rubashkin(UC Berkeley 博士)对深度学习的 7 种流行框架进行了横向对比,其中包括语言支持、速度、兼容 Keras 在内的 8 项衡量标准,结果如下:
在本次开发者大会上,直播,谷歌专门也设置了两场演讲凸显 TensorFlow 的优势:XLA 以及 Keras 与 TensorFlow 的融合。 速度是高效的机器学习框架的一切。在这次大会中,Chris Leary 与 Todd Wang 讲解了通过 XLA(加速线性代数)方法减少训练和推断时间的方式。他们介绍了 TensorFlow 如何使用 XLA、JIT、AOT 以及其它编译技术来最小化执行时间和最大化计算资源。
兼容 Keras:Keras 是成长最快的深度学习框架之一。在此次大会上,Keras 的主要作者 Francois Chollet 用视频 QA 案例演示了如何在 TensorFlow 中使用 Keras。
产品与应用 经过一年飞速的发展,TensorFlow 也逐渐得到了业界的认可,许多企业、公司都在基于 TensorFlow 开发自己的产品或将 TensorFlow 整合到自己的产品中去。其中包括 Airbnb、Uber、Twitter、英特尔和高通等等,当然也还有去年宣布从 。
而谷歌自己当然更是在产品开发上给予了 TensorFlow 所有可以提供的支持。据谷歌工程开发主管 Megan Kacholia 介绍,TensorFlow 目前已经在以下十几种产品中得到了应用,其中包括谷歌翻译、Google Play、YouTube 和 Gmail 等。
谷歌也不吝于分享自己在 TensorFlow 产品应用方面的经验。Google Research 的软件工程师 Jonathan Hseu 在一个演讲中介绍了 TensorFlow 生态系统(参考:),谈到了 TensorFlow 和产品基础设施的整合方式,并介绍了从数据准备到模型训练到产品应用整个过程。
在数据准备阶段,主要处理过程是:从各个数据源获取数据→执行预处理→导出一个 TensorFLow 支持的文件格式。在这个阶段用的比较多的工具是 Apache Spark、Hadoop MapReduce 和 Apache Beam。 在模型训练阶段,可以选择本地训练(自己的本地机器或远程虚拟机)或分布式训练(速度更快,但需要合适的基础设施)。 然后就是将训练好的模型导出投入到产品中,Hseu 在这里推荐了 TensorFlow Serving 和 In-Process TensorFlow。 而在这些阶段的语言支持上,Python 的支持当然是最好的。 (责任编辑:本港台直播) |