Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow,CNTK, 或者Theano 作为后端运行。Keras 的开发重点是支持快速的实验,能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。
如果你在以下情况下需要深度学习库,请使用 Keras:
允许简单而快速的原型设计(由于用户友好,高度模块化,可扩展性)。
同时支持卷积神经网络和循环神经网络,以及两者的组合。
在 CPU 和 GPU 上无缝运行。
截至2018年6月,Keras拥有超过250,000名个人用户。与其他任何深度学习框架相比,Keras在行业和研究领域的应用率更高(除 TensorFlow 之外,且Keras API 是 TensorFlow 的官方前端,通过 tf.keras 模块使用)
Keras 的核心数据结构是model,一种组织网络层的方式。最简单的模型是Sequential 顺序模型,它是由多个网络层线性堆叠的栈。对于更复杂的结构,则应该使用 Keras 函数式 API,它允许构建任意的神经网络图。
Keras简洁高效,30 秒上手,下面以顺序模型为例进行说明。
可以简单地使用来堆叠模型:
在完成了模型的构建后, 可以使用来配置学习过程:
如果需要,你还可以进一步地配置你的优化器。Keras 的核心原则是使事情变得相当简单,同时又允许用户在需要的时候能够进行完全的控制(终极的控制是源代码的易扩展性)。
现在,你可以批量地在训练数据上进行迭代了:
或者,你可以手动地将批次的数据提供给模型:
只需一行代码就能评估模型性能:
或者对新的数据生成预测:
构建一个问答系统,一个图像分类模型,一个神经图灵机,或者其他的任何模型,就是这么的快。深度学习背后的思想很简单,那么它们的实现又何必要那么痛苦呢?
有关 Keras 更深入的教程,请查看官方文档:
英文:https://keras.io
中文:https://keras.io/zh
然而,上述文档均为网页版文档,不便于本地查阅或者打印,因此,小编特地用LaTeX排版整理了上述网页文档的PDF版本,供小伙伴们离线学习。
该文档的目录如下: