Conv2d 如何在不同的输入维度和过滤器维度下工作?

How Conv2d works in different input dimension and filter dimension?

我想知道 TensorFlow conv2d 在不同的输入维度和过滤器维度下如何工作。 例如,Conv2d 层的输入形状为 [1, 13, 13, 10],滤波器形状为 [20, 3, 3, 10](将使用 20 个 3x3 过滤器,无 pedding))。

在这种情况下,过滤器是如何工作的? 据我了解,20 个过滤器分别对 10 个输入进行点积。

(第一个过滤器对每 10 个输入进行点积,下一个过滤器做同样的事情,,) 所以输出形状可以是 [1, 11, 11, 20].

我说得对吗?

假设您的输入为 [b,w,h,c],内核为 [N,w,h](示例中没有内核通道,可以看到通道作为内核的总数)。 那么你的逻辑是正确的,每个过滤器将计算每个通道的点积并对每个通道的结果求和,因此对于每个内核你将得到一个单一的输出,导致 20 个 11x11 的通道(由于缺少填充) = [11x11x20].