TensorFlow和
keras.layers.convolutional.Conv1D和tf.layers.Conv1D函数
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 ) |
- x:张量或变量。
- kernel:核张量。
- strides:步长整数。
- padding:字符串,"same","causal"或"valid"。
- data_format:字符串,“channels_last”,“channels_first”之一。
- dilation_rate:整数扩张率。
| 参数:
- filters:整数,输出空间的维数(即卷积中的滤波器数).
- kernel_size:单个整数的整数或元组/列表,指定1D卷积窗口的长度.
- strides:单个整数的整数或元组/列表,指定卷积的步幅.指定任何步幅(stride)值!= 1与指定任何dilation_rate值都不相容!= 1.
- padding:一个"valid"或"same"(不区分大小写).
- data_format:一个字符串,可以是channels_last(默认)或channels_first;输入中维度的顺序;channels_last对应于具有形状(batch, length, channels)的输入,而channels_first对应于具有形状(batch, channels, length)的输入.
- dilation_rate:单个整数的整数或元组/列表,指定用于扩张卷积的扩张率.目前,指定任何dilation_rate值!= 1与指定任何strides值!= 1 不兼容.
- activation:激活功能,将其设置为“None”以保持线性激活.
- use_bias:Boolean,该层是否使用偏差.
- kernel_initializer:卷积内核的初始化程序.
- bias_initializer:偏置向量的初始化器,如果为None,将使用默认初始值设定项.
- kernel_regularizer:卷积内核的可选正则化器.
- bias_regularizer:偏置矢量的可选正则化器.
- activity_regularizer:输出的可选正则化函数.
- kernel_constraint:由Optimizer更新后应用于内核的可选投影函数(例如,用于实现层权重的范数约束或值约束);该函数必须将未投影的变量作为输入,并且必须返回投影变量(必须具有相同的形状);在进行异步分布式培训时,使用约束是不安全的.
- bias_constraint:由Optimizer更新后应用于偏差的可选投影函数.
- trainable:Boolean,如果为True,还将变量添加到图集合GraphKeys.TRAINABLE_VARIABLES中(请参阅参考资料tf.Variable).
- name:字符串,图层的名称.
|
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
不同的层可能使用不同的关键字来传递初始化方法,一般来说指定初始化方法的关键字是kernel_initializer
和 bias_initializer
,例如:
model.add(Dense(64,
kernel_initializer='random_uniform',
bias_initializer='zeros'))
Initializer
Initializer是所有初始化方法的父类,不能直接使用,如果想要定义自己的初始化方法,请继承此类。
预定义初始化方法
Zeros
keras.initializers.Zeros()
全零初始化
Ones
keras.initializers.Ones()
全1初始化
Constant
keras.initializers.Constant(value=0)
初始化为固定值value
RandomNormal
keras.initializers.RandomNormal(mean=0.0, stddev=0.05, seed=None))
正态分布初始化
- mean:均值
- stddev:标准差
- seed:随机数种子
RandomUniform
keras.initializers.RandomUniform(minval=-0.05, maxval=0.05, seed=None)
均匀分布初始化 minval:均匀分布下边界 maxval:均匀分布上边界 * seed:随机数种子
TruncatedNormal
keras.initializers.TruncatedNormal(mean=0.0, stddev=0.05, seed=None)
截尾高斯分布初始化,该初始化方法与RandomNormal类似,但位于均值两个标准差以外的数据将会被丢弃并重新生成,形成截尾分布。该分布是神经网络权重和滤波器的推荐初始化方法。
- mean:均值
- stddev:标准差
- seed:随机数种子
VarianceScaling
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)
- scale: 放缩因子,正浮点数
- mode: 字符串,“fan_in”,“fan_out”或“fan_avg”fan_in", "fan_out", "fan_avg".
- distribution: 字符串,“normal”或“uniform”.
- seed: 随机数种子
Orthogonal
keras.initializers.Orthogonal(gain=1.0, seed=None)
用随机正交矩阵初始化
- gain: 正交矩阵的乘性系数
- seed:随机数种子
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)