首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Keras 2发布:实现与TensorFlow的直接整合

Keras 2发布:实现与TensorFlow的直接整合

作者头像
机器之心
发布2018-05-07 11:21:27
8350
发布2018-05-07 11:21:27
举报
文章被收录于专栏:机器之心机器之心机器之心

选自 The Keras Blog

作者:Francois Chollet

机器之心编译

参与:晏奇、黄小天、吴攀

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。为了在浏览器中运行,Keras.js 正在用 JavaScript 运行 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

机器之心编译,转载请联系本公众号获得授权。

✄------------------------------------------------

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档