TensorFlow和
keras.layers.convolutional.Conv1D(filters, kernel_size, strides=1, padding='valid', dilation_rate=1, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None) | tf.layers.Conv1D __init__( filters, kernel_size, strides=1, padding='valid', data_format='channels_last', dilation_rate=1, activation=None, use_bias=True, kernel_initializer=None, bias_initializer=tf.zeros_initializer(), kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None, trainable=True, name=None, **kwargs ) |
|
参数:
|
padding:补0策略,为“valid”, “same” 或“causal”,“causal”将产生因果(膨胀的)卷积,即output[t]不依赖于input[t+1:]。当对不能违反时间顺序的时序信号建模时有用。参考WaveNet: A Generative Model for Raw Audio, section 2.1.。“valid”代表只进行有效的卷积,即对边界数据不处理。“same”代表保留边界处的卷积结果,通常会导致输出shape与输入shape相同 |
不同的层可能使用不同的关键字来传递初始化方法,一般来说指定初始化方法的关键字是kernel_initializer
和 bias_initializer
,例如:
model.add(Dense(64,
kernel_initializer='random_uniform',
bias_initializer='zeros'))
Initializer是所有初始化方法的父类,不能直接使用,如果想要定义自己的初始化方法,请继承此类。
keras.initializers.Zeros()
全零初始化
keras.initializers.Ones()
全1初始化
keras.initializers.Constant(value=0)
初始化为固定值value
keras.initializers.RandomNormal(mean=0.0, stddev=0.05, seed=None))
正态分布初始化
keras.initializers.RandomUniform(minval=-0.05, maxval=0.05, seed=None)
均匀分布初始化 minval:均匀分布下边界 maxval:均匀分布上边界 * seed:随机数种子
keras.initializers.TruncatedNormal(mean=0.0, stddev=0.05, seed=None)
截尾高斯分布初始化,该初始化方法与RandomNormal类似,但位于均值两个标准差以外的数据将会被丢弃并重新生成,形成截尾分布。该分布是神经网络权重和滤波器的推荐初始化方法。
keras.initializers.VarianceScaling(scale=1.0, mode='fan_in', distribution='normal', seed=None)
该初始化方法能够自适应目标张量的shape。
当distribution="normal"
时,样本从0均值,标准差为sqrt(scale / n)的截尾正态分布中产生。其中:
* 当```mode = "fan_in"```时,权重张量的输入单元数。
* 当```mode = "fan_out"```时,权重张量的输出单元数
* 当```mode = "fan_avg"```时,权重张量的输入输出单元数的均值
当distribution="uniform"
时,权重从[-limit, limit]范围内均匀采样,其中limit = limit = sqrt(3 * scale / n)
keras.initializers.Orthogonal(gain=1.0, seed=None)
用随机正交矩阵初始化