昨天,著名深度学习开源库 Keras 通过官方博客正式发布了全新版本:Keras 2。
根据官方介绍,此次更新的重点有两个:
Keras 表示:从 2015 年 3 月发布第一个版本以来,有数以百计的开发人员对 Keras 的开源代码做了完善和拓展,数以千计的热心用户在社区对 Keras 的发展做出了贡献。目前,有大量的 AI 初创公司在 Keras 的帮助下挂牌成立,大量的研究人员通过 Keras 有效提升了研发效率,大公司的工程师们则通过 Keras 大大简化了他们的工作流程。更为重要的是,通过使用 Keras,更多的从前完全没有机器学习开发经验的用户,从此步入了深度学习的世界。
在本次版本更新中,最重要的一项内容就是增强了 Keras 与 TensorFlow 的逻辑一致性。按照 Keras 在博客中的说法:“这是将 Keras API 整合到 TensorFlow 核心的一个重要的准备步骤”。
实际上,从 2015 年 12 月的版本开始,Keras 就已经支持用户将 TensorFlow 作为运行后端(runtime backend),但此前,Keras 的 API 与 TensorFlow 的代码库尚处于相互隔离的状态。未来,从 TensorFlow 1.2 版本开始,Keras 2 API 将作为 TensorFlow 框架的一部分直接向用户提供支持,Keras 在博客中表示:“这是 TensorFlow 实现下一个百万用户级目标的关键”。
Keras 在博客中表示,他们更愿意人们将 Keras 视为一种通用的 API 规范,而不仅仅是一个具体的代码库。在这个意义上,他们将此前的 Keras 实现归结为两个大类:
类似的,知名 Java 深度学习库 Deeplearning4j 目前正在基于 Scala 语言实现 Keras 规范的一部分,即 ScalNet;而为了让 Keras 在浏览器中运行,Keras.js 团队也在基于 JavaScript 实现一部分 Keras API。这样的例子还有很多。
这些例子正符合了 Kera 成为一种通用的 API 规范的发展定位。按照 Keras 在博客中的说法:“Keras API 意在成为一个深度学习实践者的通用语言,一个跨越多种不同的工作流、独立于各种底层平台的深度学习通用语言”。
Keras 2 的另一项重要更新是 API 的变化。Keras 在博客中表示,全新发布的 Keras 2 API 将成为团队第一个长期支持的 API,不但兼容目前最新的软件,而且未来将保持长期有效。为了实现这一点,Keras 重新设计了绝大部分 API,为将来的扩展和更新预留了充足的修改空间。值得一提的是,新设计的 API 完全兼容于谷歌 TensorFlow 规范。
此次 API 更新的要点包括:
由于 Keras 2 是一次重大的版本更新,因此无法避免地要引入一些与此前版本不兼容的地方,特别是对于高级用户而言,这些信息至关重要:
目前 Keras 2 已经在 Github 上开源:
https://github.com/fchollet/keras
用户可以通过 PyPI 直接更新:
pip install keras --upgrade