Keras源码结构
keras源码非常简洁,学习源码可以对深度学习整体框架有更清楚的认识。通过对keras源码的阅读,我简单总结了一些笔记,类似于大纲一样的东西。具体的实现细节和步骤,直接看源码会更容易理解。
keras搭建网络和运行的一般过程
model=Sequential() model=Model() | 建立模型 |
---|---|
model.add() | 模型编辑 |
model.compile() | 模型编译 |
model.fit() | 模型拟合 |
model.evaluate() | 模型估计 |
model.save() |
实际使用时,增加下面功能:
model.summary()
plot_model(model,””)
fit()函数增加callbacks实现模型自动保存,早期停止,学习率变化
fit
是用来对训练集和标签直接训练,训练过程中不再对训练集和标签做处理。
fit_generator
需要对训练集和标签做处理,然后再训练。这种处理包括:简单数据集的数据增强;复杂任务的样本处理。相比fit,增加了线程数的设置等。
Keras源码文件结构
Keras核心类
主要类 | 成员函数 | 目录 | 功能 |
---|---|---|---|
Layer(object) | get_config、get_weights、set_weight | keras/engine/base_layer.py | 基础类 |
InputLayer(Layer) | keras/engine/input_layer.py | ||
Dense(Layer) Dropout(Layer) Activation(Layer) Flatten(Layer) | keras/layers/core.py | ||
_Pooling |