Google于2017年2月16日(北京时间)凌晨2点在美国加利福尼亚州山景城举办了首届 TensorFlow 开发者峰会。Google现场宣布全球领先的深度学习开源框架TensorFlow正式对外发布V1.0版本,并保证Google的本次发布版本的API接口满足生产环境稳定性要求。
在过去的一年时间里,TensorFlow已经成功地帮助研究人员、工程师、艺术家、学习,以及许许多多其他人,在各个领取取得成功。从语言翻译,到皮肤癌的早期检测、预防糖尿病致盲,TensorFlow应用于超过6000个在线开源代码仓库。
TensorFlow工程总监 Rajat Monga 在会场介绍,目前业界更多的是如K-means、支持向量机(SVMs)这样的传统机器学习工具。本次发布版本引入了一些新工具,包括人工神经网络,可以针对训练数据样本基础之上推论新数据。
由于基于Python开发的Keras库很容易与深度学习框架 Theano 结合,所以V1.0版本也对Keras库进行了集成。TensorFlowV1.0 加入了一些高级API,包括 tf.layers,tf.metrics 和 tf.losses 模块。此外,它还包含一个全新的 tf.keras 模块,能够与 Keras 完全兼容.Monga表示本次集成后开发者会很容易使用简单的神经网络。
神经网络研究者 Rachel Thomas 在 fast.ai 上撰文介绍了这一消息,并记录了他使用TensorFlow和Keras的感受:
使用 TensorFlow 给我的感觉就是我还不够聪明,但是使用 Keras
的时候我会觉得神经网络要比我想象的简单。这是因为TensorFlow 的 API 过于冗长和混乱,而Keras的 API很容易理解。对我来说,刚开始使用TensorFlow
受挫后就公开批评不太好,让人觉得不稳重。当然,其中有我自己的原因。但是,Keras 和 Theano
确实证实了我的想法,tensors 和 神经网络学习不一定非得这么难。
一次大学作业中我使用了一个硬件描述语言,通过添加和改变 CPU
暂存器中的字节来编码除法(division)。虽然这种方式很有趣,但是我非常确定,我不想用这种方式对神经网络进行编码。使用一个更高级别的语言的好处是显而易见的:更快地编码、更少的bug,以及,更少的痛苦。Keras的好处还有更多——它更适配神经网络的概念,能促进新的发现。Keras让我更加擅长神经网络,因为语言抽象与神经网络的概念搭配得更加好。
使用与我的思维方式相似的语言编写程序,能让我把注意力集中在需要解决的难题上。因为,当我把更多的精力花在头脑中的思维与编程语言之间的概念转换的时候,我的思考就会变慢。TensorFlow这种方式会对我的效率有所影响。
Google很快会公开TensorFlow其他源代码,包括包括基于 8 GPU 对 初始神经网络v3 实现7.3倍加速,以及基于 64 GPU 对分布式初始神经网络v3 训练实现58倍加速!此外,TensorFlow很快会支持高通发布的Snapdradon 820移动芯片的六角数字信号处理器,TensorFlow编译器(XLA)也在向适合底层计算基础设施方面靠拢。
TensorFlow是Google在 2015年发布 的第二代开源机器学习系统,目前已被广泛应用。随着它自身的不断完善,不断地增加功能,包括 支持分布式训练 、支持Hadoop分布式文件系统(HDFS)、较好的 Parsey MxParseFace语言解析器 等等。
Google提供了 云端机器学习 服务,支持用户在Google云端设备上运行TensorFlow。
工程总监Megan Kacholia表示,到2017年3月末,Google不仅仅会发布新属性以领先其他的深度学习框架,而且将会发布其用于评估的模型。
参考阅读
TensorFlow各版本差异介绍
如何开始学习TensorFlow
如何迁移到TensorFlowV1.0
如何在Hadoop上运行TensorFlow
TensorFlowV1.0API接口,包括Python、Java、C++、Go四种语言感谢杜小芳对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。