首页 > 解决方案 > Conv2d 如何在不同的输入维度和过滤器维度下工作?

问题描述

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

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

(第一个过滤器对每 10 个输入进行点积,下一个过滤器也这样做,,)因此输出形状可以是 [1, 11, 11, 20]。

我对吗?

标签: tensorflowconv-neural-networktensorflow2.0convolutiondot-product

解决方案


假设您有输入 [b,w,h,c],并且您的内核为 [N,w,h](如您在示例中介绍的那样,没有内核通道,这些通道可以看作是内核的总数)。那么您的逻辑是正确的,每个过滤器将计算每个通道的点积并对每个通道的结果求和,因此对于每个内核,您将获得一个输出,从而产生 20 个 11x11 的通道(由于缺少填充)= [11x11x20]。


推荐阅读