layer.get_weights():用于返回层的权重
layer.set_weights(weights):用于从Numpy array中将权重加载到该层中,要求Numpy array的形状与layer.get_weights()返回的形状相同
layer.get_config():用于返回当前层配置信息的字典,层也可以由配置信息重构
对于只有一个计算节点的层来说,还由:
layer.input
layer.output
layer.input_shape
layer.output_shape
Dense
是常见的全连接层,原型如下:
keras.layers.core.Dense(units,activation=None,use_bias=True,kernel_initializer=‘glorot_uniform’,bias_initialize=‘zeros’,kernel_regularizer=None,bias_regularizer=None,activity_regularize=None,kernal_constraint=None,bias_constraint=None)
units:大于0的整数,表示该层的输出维度
activation:激活函数,如果不指定该参数,则相当于使用线性激活函数
Activation
激活层,用来对一个层的输出激活函数,原型如下
keras.layers.core.Activation(activation)
Dropout
为输入数据施加Dropout,该层能够在训练过程中每次更新参数时,随机断开一定百分比(rate)的输入神经元,用于防止过拟合。原型如下:
keras.layers.core.Dropout(rate,noise_shape=None.seed=None)
rate:0~1的浮点数,用于控制需要断开的神经元比例
noise_shape:整数张量,为将要应用在输入上的二值Dropout mask的shape。
seed:整数,使用的随机数种子
Flatten
用来将输入"压平",即把多维的输入一维化,常用在从卷积层到全连接层的过渡,Flatten不影响batch的大小。原型如下:
keras.layers.core.Flatten()
Conv1D
一维卷积层,用于在一维输入信号上进行邻域滤波。原型如下:
keras.layers.convolutional.Conv1D(filiters,kernel_size,strides=1,padding=‘valid’,dilation_rate=1,activation=None,use_bias=True,kernal_initializer=‘glorot_uniform’,bias_initializer=‘zeros’,kernel_regularizer=None,bias_regularizer=None,activity_regularizer=None,kernel_constraint=NOne,bias_constraint=None)
filiter:卷积核的数目,也决定了输出的维度
kernel_size:整数或由单个整数构成的list/tuple,卷积核的空域或时域窗长度
strides:整数或由单个整数构成的list/tuple,为卷积的步长。任何不为1的strides均与任何不为1的dilation_rata均不兼容。
padding:补0策略,为[valid]、[same]或[causal]。
Conv2D
二维卷积层,即对图像的空域卷积。该层对二维输入进行滑动窗卷积。原型如下:
keras.layers.convolutional.Conv2D(filiters,kernel_size,strides=(1,1),padding=‘valid’,dilation_rate=(1,1),activation=None,use_bias=True,kernal_initializer=‘glorot_uniform’,bias_initializer=‘zeros’,kernel_regularizer=None,bias_regularizer=None,activity_regularizer=None,kernel_constraint=NOne,bias_constraint=None)
Conv3D
三为卷积对三维的输入进行滑动窗卷积。原型如下:
keras.layers.convolutional.Conv3D(filiters,kernel_size,strides=(1,1,1).padding=‘valid’,dilation_rate=(1,1,1),activation=None,use_bias=True,kernal_initializer=‘glorot_uniform’,bias_initializer=‘zeros’,kernel_regularizer=None,bias_regularizer=None,activity_regularizer=None,kernel_constraint=NOne,bias_constraint=None)
MaxPooling1D
对时域1D信号进行最大值池化。原型如下:
keras.layers.pooling.MaxPooling1D(pool_size=2,strides=None,padding=‘valid’)
pool_size:整数,表示池化窗口大小
strides:整数或None,下采样因子。
padding:[valid]或[same]
MaxPooling2D
为空域信号进行最大值池化。原型如下:
keras.layers.pooling.MaxPooling2D(pool_size=(2,2),strides=None,padding=‘valid’,data_format=None)
pool_size:整数或长为2的整数tuple,代表在两个方向(竖直,水平)上的下采样因子,如取(2,2)将使图片在两个维度上均变为原长的一半。该值为整数,表示各个维度值相同且为该数字。
strides:整数或长为2的整数tuple,或者None,步长值。
MaxPooling3D
为3D信号(空域或时空域)施加最大值池化。
keras.layers.pooling.MaxPooling3D(pool_size=(2,2,2),strides=None,padding=‘valid’,data_format=None)
需要注意的是,该层只能在使用Theano为后端时可用。
pool_size:整数或长为3的整数tuple,代表在三个维度(竖直,水平)上的下采样因子,如取(2,2,2)将使图片在每个维度上均变为原长的一半。改值为整数,表示各个维度值相同且为该数字。
strides:整数或长为3的整数tuple,或者None,步长值。