Keras 课程

Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlowCNTK 或者 Theano 作为后端运行。Keras 的开发重点是支持快速的实验。能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。

如果你在以下情况下需要深度学习库,请使用 Keras:

  • 允许简单而快速的原型设计(由于用户友好,高度模块化,可扩展性)。
  • 同时支持卷积神经网络和循环神经网络,以及两者的组合。
  • 在 CPU 和 GPU 上无缝运行。

查看文档,请访问 Keras.io。备份网址:Keras-zh

Keras 兼容的 Python 版本: Python 2.7-3.6


多后端 Keras 和 tf.keras:

目前,我们推荐使用 TensorFlow 后端的 Keras 用户切换至 TensorFlow 2.0 的 tf.keras tf.keras 具有更好的维护,并且更好地集成了 TensorFlow 功能(eager执行,分布式支持及其他)。

Keras 2.2.5 是最后一个实现 2.2.* API 的 Keras 版本。它是最后一个仅支持 TensorFlow 1(以及 Theano 和 CNTK)的版本。

Keras 的当前版本是 2.3.0,它对 API 做了重大的调整,并且添加了 TensorFlow 2.0 的支持。2.3.0 将会是最后一个多后端 Keras 主版本。多后端 Keras 已被 tf.keras 取代。

多后端 Keras 中存在的错误修复仅会持续到 2020 年 4 月(作为次要版本的一部分)。

关于 Keras 未来的更多信息,详见 the Keras meeting notes

指导原则

  • 用户友好。 Keras 是为人类而不是为机器设计的 API。它把用户体验放在首要和中心位置。Keras 遵循减少认知困难的最佳实践:它提供一致且简单的 API,将常见用例所需的用户操作数量降至最低,并且在用户错误时提供清晰和可操作的反馈。
  • 模块化。 模型被理解为由独立的、完全可配置的模块构成的序列或图。这些模块可以以尽可能少的限制组装在一起。特别是神经网络层、损失函数、优化器、初始化方法、激活函数、正则化方法,它们都是可以结合起来构建新模型的模块。
  • 易扩展性。 新的模块是很容易添加的(作为新的类和函数),现有的模块已经提供了充足的示例。由于能够轻松地创建可以提高表现力的新模块,Keras 更加适合高级研究。
  • 基于 Python 实现。 Keras 没有特定格式的单独配置文件。模型定义在 Python 代码中,这些代码紧凑,易于调试,并且易于扩展。

快速开始:30 秒上手 Keras

Keras 的核心数据结构是 model,一种组织网络层的方式。最简单的模型是 Sequential 顺序模型,它由多个网络层线性堆叠。对于更复杂的结构,你应该使用 Keras 函数式 API,它允许构建任意的神经网络图。

Sequential 模型如下所示:

可以简单地使用 .add() 来堆叠模型:

在完成了模型的构建后, 可以使用 .compile() 来配置学习过程:

如果需要,你还可以进一步地配置你的优化器。Keras 的核心原则是使事情变得相当简单,同时又允许用户在需要的时候能够进行完全的控制(终极的控制是源代码的易扩展性)。

现在,你可以批量地在训练数据上进行迭代了:

或者,你可以手动地将批次的数据提供给模型:

只需一行代码就能评估模型性能:

或者对新的数据生成预测:

构建一个问答系统,一个图像分类模型,一个神经图灵机,或者其他的任何模型,就是这么的快。深度学习背后的思想很简单,那么它们的实现又何必要那么痛苦呢?

有关 Keras 更深入的教程,请查看:

在代码仓库的 examples 目录中,你会找到更多高级模型:基于记忆网络的问答系统、基于栈式 LSTM 的文本生成等等。

安装指引

在安装 Keras 之前,请安装以下后端引擎之一: TensorFlow, Theano 或者 CNTK。我们推荐 TensorFlow 后端。

你也可以考虑安装以下可选依赖

  • cuDNN (如果你计划在 GPU 上运行 Keras,建议安装)。
  • HDF5 和 h5py (如果你需要将 Keras 模型保存到磁盘,则需要这些)。
  • graphviz 和 pydot (用于绘制模型图的可视化工具)。

然后你就可以安装 Keras 本身了。有两种方法安装 Keras:

  • 使用 PyPI 安装 Keras(推荐):

注意:这些安装步骤假定你在 Linux 或 Mac 环境中。 如果你使用的是 Windows,则需要删除 sudo 才能运行以下命令。

如果你使用 virtualenv 虚拟环境, 你可以避免使用 sudo:

  • 或者:使用 GitHub 源码安装 Keras:

首先,使用 git 来克隆 Keras:

然后,cd 到 Keras 目录并且运行安装命令:

配置你的 Keras 后端

默认情况下,Keras 将使用 TensorFlow 作为其张量操作库。请跟随这些指引来配置其他 Keras 后端。