2024-03-29 09:44:03 发布
网友
BatchNormalization和TimeDistributed(BatchNormalization)是否对顺序数据(如视频)具有相同的效果?如果没有,有什么区别
在tf.keras.layers.TimeDistributed的文档中,您会注意到
>> inputs = tf.keras.Input(shape=(10, 128, 128, 3)) >> conv_2d_layer = tf.keras.layers.Conv2D(64, (3, 3)) >> outputs = tf.keras.layers.TimeDistributed(conv_2d_layer)(inputs) >> outputs.shape
基本上,用TimeDistributed包装的层将应用于每个时间步。这意味着,在上面的代码示例中,一个Conv2D层被放置在所有10个时间步的下面。这同样适用于BatchNormalization
TimeDistributed
Conv2D
BatchNormalization
如果我们直接应用BatchNormalization层,而不是TimeDistributed层,那么将计算整个10个时间步的平均值和方差。 然而,包装在TimeDistributed层中的BatchNormalization将计算形状( 1 , 128 , 128 , 3 )批次(即每个时间步)的平均值和方差
( 1 , 128 , 128 , 3 )
在tf.keras.layers.TimeDistributed的文档中,您会注意到
基本上,用
TimeDistributed
包装的层将应用于每个时间步。这意味着,在上面的代码示例中,一个Conv2D
层被放置在所有10个时间步的下面。这同样适用于BatchNormalization
如果我们直接应用
BatchNormalization
层,而不是TimeDistributed
层,那么将计算整个10个时间步的平均值和方差。 然而,包装在TimeDistributed
层中的BatchNormalization
将计算形状( 1 , 128 , 128 , 3 )
批次(即每个时间步)的平均值和方差相关问题 更多 >
编程相关推荐