首页 > 解决方案 > Tensorflow 2残差块,加法

问题描述

我无法正确实施 Residual 块。尝试将 input_tensor 和卷积层的结果相加时,出现形状不匹配的错误。我不知道如何解决。我明白了

ValueError: Operands could not be broadcast together with shapes (25, 32) (25, 31)

(25, 31) 是 input_tensor 的大小。我认为padding='same'在 conv 层中设置了它(25,32),这就是我不能添加它们的原因。

实际上,打印形状会给出:

input.shape= (None, 25, 31)
out.shape= (None, 25, 32)

批量大小是第一个暗淡。

我如何填充 input_tensor,例如用零填充以使其形状相同?或者,还有更好的方法?

标签: pythontensorflow2.x

解决方案


弄清楚了:

out = tf.keras.layers.Add()([out, tf.pad(input_tensor, [[0,0],[0,0],[0,1]])])

推荐阅读