目 录
致谢
介绍
主页
为什么选择 Keras?
快速开始
模型
Layers
Sequential 顺序模型指引
函数式 API 指引
FAQ 常见问题解答
关于 Keras 模型
Sequential 顺序模型 API
函数式 API
关于 Keras 网络层
核心网络层
卷积层 Convolutional
池化层 Pooling
局部连接层 Locally-connected
循环层 Recurrent
嵌入层 Embedding
融合层 Merge
高级激活层 Advanced Activations
标准化层 Normalization
噪声层 Noise
层封装器 wrappers
编写你自己的层
数据预处理
序列预处理
文本预处理
图像预处理
损失函数 Losses
评估标准 Metrics
优化器 Optimizers
本文档使用 书栈(BookStack.CN) 构建
- 1 -
激活函数 Activations
回调函数 Callbacks
常用数据集 Datasets
预训练模型 Applications
后端 Backend
初始化 Initializers
正则化 Regularizers
约束 Constraints
可视化 Visualization
Scikit-learn API
工具
贡献
本文档使用 书栈(BookStack.CN) 构建
- 2 -
致谢
致谢
当前文档 《Keras官方中文文档》 由 进击的皇虫 使用 书栈(BookStack.CN) 进行构建,
生成于 2018-05-06。
书栈(BookStack.CN) 仅提供文档编写、整理、归类等功能,以及对文档内容的生成和导出工
具。
文档内容由网友们编写和整理,书栈(BookStack.CN) 难以确认文档内容知识点是否错漏。如
果您在阅读文档获取知识的时候,发现文档内容有不恰当的地方,请向我们反馈,让我们共同携手,
将知识准确、高效且有效地传递给每一个人。
同时,如果您在日常生活、工作和学习中遇到有价值有营养的知识文档,欢迎分享到 书栈
(BookStack.CN) ,为知识的传承献上您的一份力量!
如果当前文档生成时间太久,请到 书栈(BookStack.CN) 获取最新的文档,以跟上知识更新换
代的步伐。
文档地址:http://www.bookstack.cn/books/keras-docs-zh
书栈官网:http://www.bookstack.cn
书栈开源:https://github.com/TruthHun
分享,让知识传承更久远! 感谢知识的创造者,感谢知识的分享者,也感谢每一位阅读到此处的
读者,因为我们都将成为知识的传承者。
本文档使用 书栈(BookStack.CN) 构建
- 3 -
介绍
介绍
Chinese (zh-cn) translation of the Keras docs
排版规范 Typesetting
翻译对照列表 Conventions
来源(书栈小编注)
Chinese (zh-cn) translation of the
Keras docs
请访问 Keras官方中文文档。
Translation has done!
文档持续已完成,欢迎进一步修订。
翻译过程中,请直接将 sources/ 中 .md 文件中的英文替换为中文。
排版规范 Typesetting
此文档遵循 中文排版指南 规范,并在此之上遵守以下约定:
英文的左右保持一个空白,避免中英文字黏在一起;
使用全角标点符号;
严格遵循 Markdown 语法;
原文中的双引号(” “)请代换成中文的引号(「」符号怎么打出来见 这里);
「 加亮 」和「加粗」和「链接」都需要在左右保持一个空格。
翻译对照列表 Conventions
该翻译用于 zh-cn (简体中文,中国大陆地区)。
当遇到以下 专业术语 的时候,请使用以下列表进行对照翻译。(未完待续)
English
arguments
boolean
data augumentation
deep learning
中文
参数
布尔
数据增强
深度学习
本文档使用 书栈(BookStack.CN) 构建
- 4 -
介绍
float
Functional API
Fuzz factor
input shape
index
int
layer
loss function
metrics
nD tensor
Numpy Array
objective
optimizer
output shape
regularizer
return
recurrent
Sequential Model
shape
target
testing
training
wrapper
Welcome to contribute!!!
来源(书栈小编注)
https://github.com/keras-team/keras-docs-zh
浮点数
函数式 API
模糊因子
输入尺寸
索引
整数
层
损失函数
评估标准
nD 张量
Numpy 矩阵
目标
优化器
输出尺寸
正则化器
返回
循环
顺序模型
尺寸
目标
测试
训练
封装器
本文档使用 书栈(BookStack.CN) 构建
- 5 -
主页
主页
Keras: 基于 Python 的深度学习库
你恰好发现了 Keras。
指导原则
快速开始:30 秒上手 Keras
安装指引
使用 TensorFlow 以外的后端
技术支持
为什么取名为 Keras?
Keras: 基于 Python 的深度学习库
你恰好发现了 Keras。
Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK, 或者
Theano 作为后端运行。Keras 的开发重点是支持快速的实验。能够以最小的时延把你的想法转换
为实验结果,是做好研究的关键。
如果你在以下情况下需要深度学习库,请使用 Keras:
允许简单而快速的原型设计(由于用户友好,高度模块化,可扩展性)。
同时支持卷积神经网络和循环神经网络,以及两者的组合。
在 CPU 和 GPU 上无缝运行。
查看文档,请访问 Keras.io。
Keras 兼容的 Python 版本: Python 2.7-3.6。
指导原则
本文档使用 书栈(BookStack.CN) 构建
- 6 -
主页
用户友好。 Keras 是为人类而不是为机器设计的 API。它把用户体验放在首要和中心位置。
Keras 遵循减少认知困难的最佳实践:它提供一致且简单的 API,将常见用例所需的用户操作
数量降至最低,并且在用户错误时提供清晰和可操作的反馈。
模块化。 模型被理解为由独立的、完全可配置的模块构成的序列或图。这些模块可以以尽可能少
的限制组装在一起。特别是神经网络层、损失函数、优化器、初始化方法、激活函数、正则化方
法,它们都是可以结合起来构建新模型的模块。
易扩展性。 新的模块是很容易添加的(作为新的类和函数),现有的模块已经提供了充足的示
例。由于能够轻松地创建可以提高表现力的新模块,Keras 更加适合高级研究。
基于 Python 实现。 Keras 没有特定格式的单独配置文件。模型定义在 Python 代码中,这
些代码紧凑,易于调试,并且易于扩展。
快速开始:30 秒上手 Keras
Keras 的核心数据结构是 model,一种组织网络层的方式。最简单的模型是 Sequential 顺序模
型,它是由多个网络层线性堆叠的栈。对于更复杂的结构,你应该使用 Keras 函数式 API,它允许
构建任意的神经网络图。
Sequential 顺序模型如下所示:
1. from keras.models import Sequential
2.
3. model = Sequential()
可以简单地使用 .add() 来堆叠模型:
1. from keras.layers import Dense
2.
3. model.add(Dense(units=64, activation='relu', input_dim=100))
4. model.add(Dense(units=10, activation='softmax'))
在完成了模型的构建后, 可以使用 .compile() 来配置学习过程:
1. model.compile(loss='categorical_crossentropy',
2. optimizer='sgd',
3. metrics=['accuracy'])
如果需要,你还可以进一步地配置你的优化器。Keras 的核心原则是使事情变得相当简单,同时又允
许用户在需要的时候能够进行完全的控制(终极的控制是源代码的易扩展性)。
本文档使用 书栈(BookStack.CN) 构建
- 7 -
主页
1. model.compile(loss=keras.losses.categorical_crossentropy,
2. optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True))
现在,你可以批量地在训练数据上进行迭代了:
1. # x_train 和 y_train 是 Numpy 数组 -- 就像在 Scikit-Learn API 中一样。
2. model.fit(x_train, y_train, epochs=5, batch_size=32)
或者,你可以手动地将批次的数据提供给模型:
1. model.train_on_batch(x_batch, y_batch)
只需一行代码就能评估模型性能:
1. loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)
或者对新的数据生成预测:
1. classes = model.predict(x_test, batch_size=128)
构建一个问答系统,一个图像分类模型,一个神经图灵机,或者其他的任何模型,就是这么的快。深
度学习背后的思想很简单,那么它们的实现又何必要那么痛苦呢?
有关 Keras 更深入的教程,请查看:
开始使用 Sequential 顺序模型
开始使用函数式 API
在代码仓库的 examples 目录中,你会找到更多高级模型:基于记忆网络的问答系统、基于栈式
LSTM 的文本生成等等。
安装指引
在安装 Keras 之前,请安装以下后端引擎之一:TensorFlow,Theano,或者 CNTK。我们推荐
TensorFlow 后端。
TensorFlow 安装指引。
Theano 安装指引。
CNTK 安装指引。
你也可以考虑安装以下可选依赖:
本文档使用 书栈(BookStack.CN) 构建
- 8 -