开始使用 Keras Sequential 顺序模型
指定输入数据的尺寸
|| 模型编译 || 模型训练
样例:
基于多层感知器 (MLP) 的 softmax 多分类: |
基于多层感知器的二分类: |
类似 VGG 的卷积神经网络: |
基于 LSTM 的序列分类: |
基于 1D 卷积的序列分类: |
基于栈式 LSTM 的序列分类 |
"stateful" 渲染的的栈式 LSTM 模型 |
|
开始使用 Keras 函数式 API
例一:全连接网络
所有的模型都可调用,就像网络层一样
多输入多输出模型
共享网络层
层「节点」的概念
Inception 模型
卷积层上的残差连接
共享视觉模型
视觉问答模型
视频问答模型 |
开始使用 Keras 函数式 API
例一:全连接网络
所有的模型都可调用,就像网络层一样
多输入多输出模型
共享网络层
层「节点」的概念
Inception 模型
卷积层上的残差连接
共享视觉模型
视觉问答模型
视频问答模型 |
核心网络层
Dense |
Activation |
Dropout |
Flatten |
|
Reshape |
Permute |
RepeatVector |
Lambda |
ActivityRegularization |
Masking |
SpatialDropout1D |
|
SpatialDropout3D |
|
SpatialDropout2D |
卷积层 Convolutional
Conv1D |
Conv2D |
SeparableConv1D |
SeparableConv2D |
DepthwiseConv2D |
Conv2DTranspose |
Conv3D |
Cropping1D |
Conv3DTranspose |
ZeroPadding1D |
Cropping2D |
UpSampling1D |
ZeroPadding2D |
Cropping3D |
UpSampling2D |
ZeroPadding3D |
|
UpSampling3D |
|
|
|
池化层 Pooling
MaxPooling1D |
AveragePooling1D |
GlobalMaxPooling1D |
MaxPooling2D |
AveragePooling2D |
GlobalMaxPooling2D |
MaxPooling3D |
AveragePooling3D |
GlobalMaxPooling3D |
GlobalAveragePooling1D |
|
|
GlobalAveragePooling2D |
|
|
GlobalAveragePooling3D |
|
|
局部连接层 Locally-connected
LocallyConnected1D |
|
LocallyConnected2D |
循环层 Recurrent
LSTM |
ConvLSTM2D |
SimpleRNNCell |
GRUCell |
LSTMCell |
CuDNNGRU |
嵌入层 Embedding
keras.layers.Embedding)
融合层 Merge
keras.layers.Add() |
keras.layers.Subtract() |
keras.layers.Multiply() |
keras.layers.Average() |
keras.layers.Maximum() |
keras.layers.Concatenate(axis=-1) |
keras.layers.Dot() |
keras.layers.add(inputs) |
keras.layers.subtract(inputs) |
keras.layers.multiply(inputs) |
keras.layers.average(inputs) |
keras.layers.maximum(inputs) |
keras.layers.concatenate() |
keras.layers.dot() |
|
|
高级激活层 Advanced Activations
keras.layers.LeakyReLU(alpha=0.3) |
keras.layers.PReLU() |
keras.layers.ELU(alpha=1.0) |
keras.layers.ThresholdedReLU(0) |
keras.layers.Softmax(axis=-1) |
keras.layers.ReLU() |
|
|
标准化层 Normalization
keras.layers.BatchNormalization()
噪声层 Noise
keras.layers.GaussianNoise(stddev) |
keras.layers.GaussianDropout(rate) |
keras.layers.AlphaDropout(rate, noise_shape=None, seed=None) |
层封装器 wrappers
keras.layers.TimeDistributed(layer) |
keras.layers.Bidirectional(layer, merge_mode='concat', weights=None) |
编写你自己的层
序列预处理
keras.preprocessing.sequence.TimeseriesGenerator() |
keras.preprocessing.sequence.pad_sequences() |
keras.preprocessing.sequence.skipgrams() |
keras.preprocessing.sequence.make_sampling_table() |
文本预处理
keras.preprocessing.text.Tokenizer() |
keras.preprocessing.text.hashing_trick() |
keras.preprocessing.text.one_hot() |
keras.preprocessing.text.text_to_word_sequence() |
|
|
图像预处理
ImageDataGenerator 类
ImageDataGenerator 类方法
apply_transform(x, transform_parameters) |
fit(x, augment=False, rounds=1, seed=None) |
flow() |
flow_from_dataframe() |
flow_from_directory() |
get_random_transform(img_shape, seed=None) |
random_transform(x, seed=None) |
standardize(x) |
初始化 Initializers
初始化器的用法
可用的初始化器
keras.initializers.Initializer()
keras.initializers.Zeros()
keras.initializers.Ones()
keras.initializers.Constant(value=0)
keras.initializers.RandomNormal(mean=0.0, stddev=0.05, seed=None)
keras.initializers.RandomUniform(minval=-0.05, maxval=0.05, seed=None)
keras.initializers.TruncatedNormal(mean=0.0, stddev=0.05, seed=None)
keras.initializers.VarianceScaling(scale=1.0, mode='fan_in', distribution='normal', seed=None)
keras.initializers.Orthogonal(gain=1.0, seed=None)
keras.initializers.Identity(gain=1.0)
keras.initializers.lecun_uniform(seed=None)
keras.initializers.glorot_normal(seed=None)
keras.initializers.glorot_uniform(seed=None)
keras.initializers.he_normal(seed=None)
keras.initializers.lecun_normal(seed=None)
keras.initializers.he_uniform(seed=None)
使用自定义初始化器 |
正则化 Regularizers
约束 Constraints
约束项的使用 |
可用的约束
kras.constraints.MaxNorm()
keras.constraints.NonNeg()
keras.constraints.UnitNorm()
keras.constraints.MinMaxNorm()e
|
可视化 Visualization
模型可视化:keras.utils.vis_utils 模块提供了一些绘制 Keras 模型的实用功能 |
训练历史可视化:Keras Model 上的 fit() 方法返回一个 History 对象。 |
TF2.0使用KERAS.UTILS.PLOT_MODEL()所需的安装
Scikit-Learn API 的封装器
工具
keras.utils.CustomObjectScope() |
keras.utils.HDF5Matrix() |
keras.utils.Sequence() |
keras.utils.to_categorical() |
keras.utils.normalize() |
keras.utils.get_file() |
keras.utils.print_summary() |
keras.utils.plot_model() |
keras.utils.multi_gpu_model() |
关于模型保存 |
经典样例
Keras 后端
什么是 「后端」?
从一个后端切换到另一个后端
keras.json 详细配置
使用抽象 Keras 后端编写新代码
后端函数
keras.backend.epsilon()
keras.backend.set_epsilon(e)
keras.backend.floatx()
keras.backend.set_floatx(floatx)
keras.backend.cast_to_floatx(x)
keras.backend.image_data_format()
keras.backend.set_image_data_format(data_format)
keras.backend.reset_uids()
keras.backend.get_uid(prefix='')
keras.backend.clear_session()
keras.backend.manual_variable_initialization(value)
keras.backend.learning_phase()
keras.backend.set_learning_phase(value)
keras.backend.is_sparse(tensor)
。。。。。。
Keras FAQ: 常见问题解答
|