参与:晏奇、黄小天、吴攀
Keras 在 2015 年 3 月首次推出,现在用户数量已经突破了 10 万。其中有数百人为 Keras 代码库做出了贡献,更有数千人为 Keras 社区做出了贡献。Keras 已经催生了新的创业公司、提高了研究者的成果率、简化了大公司的工程流程图、并为数以千计没有机器学习经验的人打开一扇通向深度学习的大门。而我们相信这仅仅是个开始。 现在我们推出 Keras 2,它带有一个更易使用的新 API,实现了与 TensorFlow 的直接整合。这是在 TensorFlow 核心整合 Keras API 所准备的重要一步。 Keras 2 有很多新变化,下面是简明概览: 与 TensorFlow 整合 尽管 Keras 自 2015 年 12 月已经作为运行时间后端(runtime backend)开始支持 TensorFlow,Keras API 却一直与 TensorFlow 代码库相分离,这种情况正在改变:从 TensorFlow 1.2 版本开始,Keras API 可作为 TensorFlow 的一部分直接使用,这是 TensorFlow 在向数百万新用户开源的道路上迈出的一大步。 Keras 最好被理解为一个 API 技术规范,开奖,而不是一个特殊的代码库。事实上,继续发展将会出现 Keras 技术规范的两个不同实现:(a)TensorFlow 的内部实现(如 tf.keras),纯由 TensorFlow 写成,与 TensorFlow 的所有功能深度兼容;(b)外部的多后台实现,同时支持 Theano 和 TensorFlow(并可能在未来有更多的后台)。 类似的,Skymind 正在用 Scala 实现 Keras 份额部分规范,如 ScalNet。为了在浏览器中运行,atv,Keras.js 正在用 Java 运行 Keras 的部分 API。正因如此,Keras API 注定成为深度学习从业者的通用语言,在不同的工作流程中共享并独立于底层平台。像 Keras 这样的统一 API 规范将促进代码共享,提高研究的再生产率,并允许更大支持社区的存在。 新 API 新的 Keras 2 API 是我们首个长期支持的 API:下个月 Keras 2 的代码库将在最新的软件上开始运行数年。为了将其变为可能,考虑到未来会出现的问题,我们在这次发布中大量修改了 API。特别是,我们的新 API 选项完全兼容 TensorFlow 规范。 大多数层的 API 有了显著变化,特别是 Dense、BatchNormalization 和全卷积层。然而,我们已经设置好了兼容接口,这样你的 Keras 1 代码就可以在 Keras 2 上无障碍运行了(同时发出警告来帮助你转换对新 API 的层调用)。 训练和评估生成器方法的 API 已经改变(如: fit_generator、predict_generator 和 evaluate_generator)。不过,无需担心,Keras 1 的调用依然适用于 Keras 2。 fit、nb_epoch 已重命名为为 epochs。我们的 API 转换接口也适用于这项改变。 很多层所保存的权重格式已经改变。然而,Keras 1 上保存的权重文件依然能在 Keras 2 模型上加载。 objectives 模块已更名为 losses。 显著修改 考虑到 Keras 的广大用户基础,我们尽量不对 Keras 做根本变动,但是,还是有些变动不可避免,尤其是对于更高阶的用户来讲。 传统层 MaxoutDense、TimeDistributedDense 和 Highway 已被永久移除。 大量的传统度量和损失函数已被移除。 BatchNormalization 层不再支持 mode 参数。 由于 Keras 内部构件已经改变,自定义层被升级。改变相对较小,因此将变快变简单。参见指南:https://keras.io/layers/writing-your-own-keras-layers/ 通常来讲,任何使用非正式的 Keras 功能编写的代码将会失效,因此高阶用户也许需要做一些相应的更新工作。 开始 你可以: 从 PyPI:pip install keras --upgrade 安装 Keras 2 在 Github 上查看代码:https://github.com/fchollet/keras 阅读已更新的文档:https://keras.io/ 下面附带了机器之心之前发布过的有关 Keras 的文章: 原文地址:https://blog.keras.io/introducing-keras-2.html 机器之心编译,转载请联系本公众号获得授权。 ?------------------------------------------------ 加入机器之心(全职记者/实习生):[email protected] 投稿或寻求报道:[email protected] 广告&商务合作:[email protected] (责任编辑:本港台直播) |