【问题标题】:About how multiple tf.layer.conv2d connect between each other关于多个 tf.layer.conv2d 如何相互连接
【发布时间】:2018-07-18 15:44:25
【问题描述】:

我对 2 个 2d 卷积如何相互连接有疑问。我理解卷积的概念,并且 x 数量的过滤器会产生 x 数量的特征图,但是例如,当您有 16 个特征图并且您应用具有 8 个过滤器的卷积时会发生什么? 8 个过滤器中的每一个都与 16 个特征映射中的每一个卷积吗?然后他们添加由 8 个过滤器中的每一个产生的 16 个结果特征图?或者涉及的过程是什么?谢谢你。下面你可以看到我想知道的图表。

x1 和 x2 的尺寸:

x1: (?,128,256,16)

x2: (?,128,256,8)

从 x1 到 x2 的过程是什么?

【问题讨论】:

    标签: python tensorflow conv-neural-network theory


    【解决方案1】:

    你的误解是你在考虑[h, w]过滤内核。

    但实际上,这些是 8 次 [h, w, channels_in] 过滤器。

    对于 8 个输出通道中的每一个,您都有一个大小为 [h, w, 16] 的过滤器。因此,整个内存消耗为 [h, w, channels-in, channels-out](完全如 documentation 中所述)。将其可视化的一个好方法是考虑 8 次有 16 个独立的[h, w] filter-kernel,将 16 个输出相加。

    【讨论】:

    • 那您为什么要控制这些变量(channels_in、channels_out)? tf.layers.conv2d 似乎没有这些变量的参数。
    • 确实如此! Channels-in 来自输入形状。而且 channels-out 是一个参数。
    • 那么我在第二层训练的参数量是16*8,对吗?
    猜你喜欢
    • 2014-12-27
    • 2018-10-07
    • 2021-05-31
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 2018-10-22
    相关资源
    最近更新 更多