1. 常用层
1.1 Dense层
keras.layers.core.Dense(output_dim, init='glorot_uniform', activation='linear', weights=None, W_regularizer=None,
b_regularizer=None, activity_regularizer=None, W_constraint=None,b_constraint=None, bias=True,
input_dim=None)
1.2 Activation层
keras.layers.core.Activation(activation)
1.3 Dropout层
为输入数据施加Dropout。Dropout将在训练过程中每次更新参数时随机断开一定百分比(p)的输入神经元连接,Dropout层用于防止过拟合。
keras.layers.core.Dropout(p)#p:0~1的浮点数,控制需要断开的链接的比例
1.4 SpatialDropout2D(3D)层
与Dropout的作用类似,但它断开的是整个2D(3D)特征图,而不是单个神经元。如果一张特征图的相邻像素之间有很强的相关性(通常发生在低层的卷积层中),那么普通的dropout无法正则化其输出,否则就会导致明显的学习率下降。这种情况下,SpatialDropout2D(3D)能够帮助提高特征图之间的独立性,应该用其取代普通的Dropout
keras.layers.core.SpatialDropout2D(p, dim_ordering='default')
#p:0~1的浮点数,控制需要断开的链接的比例;dim_ordering:'th'或'tf'
#默认为~/.keras/keras.json配置的image_dim_ordering值
1.5 Flatten层
Flatten层用来将输入“压平”,即把多维的输入一维化,常用在从卷积层到全连接层的过渡。Flatten不影响batch的大小。
keras.layers.core.Flatten()
1.6 Reshape层
Reshape层用来将输入shape转换为特定的shape
keras.layers.core.Reshape(target_shape)
#target_shape:目标shape,为整数的tuple,不包含样本数目的维度(batch大小)
1.7 Permute层
Permute层将输入的维度按照给定模式进行重排,例如,当需要将RNN和CNN网络连接时,可能会用到该层。
keras.layers.core.Permute(dims)
#dims:整数tuple,指定重排的模式,不包含样本数的维度。重拍模式的下标从1开始。
#例如(2,1)代表将输入的第二个维度重拍到输出的第一个维度,而将输入的第一个维度重排到第二个维度
1.8 RepeatVector层
RepeatVector层将输入重复n次
keras.layers.core.RepeatVector(n)
1.9 Merge层
Merge层根据给定的模式,将一个张量列表中的若干张量合并为一个单独的张量
keras.engine.topology.Merge(layers=None, mode='sum', concat_axis=-1, d