【问题标题】:Dimensions of a convolution?卷积的尺寸?
【发布时间】:2019-11-30 12:33:18
【问题描述】:

我对如何计算这个卷积及其输出维度有一些疑问。我熟悉使用 nxm 内核的简单卷积,使用步幅、膨胀或填充,这不是问题,但这个尺寸对我来说似乎很奇怪。由于我使用的模型是众所周知的onnx-mnist,我认为它是正确的。

所以,我的意思是:

  • 如果输入的尺寸为 1x1x28x28,那么输出 1x8x28x28 的尺寸如何?
  • W 表示内核。怎么可能是 8x1x5x5?据我所知,第一个维度是批量大小,但这里我只是用 1 个输入进行推理。这有意义吗?
  • 我正在从头开始实现这个卷积运算符,到目前为止它适用于 1x1x28x28 和 1x1x5x5 的内核,但额外的维度对我来说没有意义。

找到附加的我正在尝试做的卷积,希望不是太onnx具体。

【问题讨论】:

    标签: tensorflow machine-learning conv-neural-network onnx


    【解决方案1】:

    我没有看到您正在使用的代码,但我猜 8 是 内核数。这意味着您在输入上应用 8 个不同的内核,大小为 5x5,批量大小为 1。这就是您在输出中获得 1x8x28x28 的方式,8 表示激活映射的数量(每个内核一个)。

    您的内核尺寸数 (8x1x5x5) 解释:

    • 8:不同过滤器/内核的数量(将是每个图像的输出映射数量)
    • 1:输入通道数。如果您的输入图像是 RGB 而不是灰度,这将是 3 而不是 1。
    • 5:第一个空间维度
    • 5:第二空间维度

    【讨论】:

    • 如果有 8 个不同的内核,每个内核有 5x5 个元素,为什么内核大小不是1x8x5x5 而不是8x1x5x5?或者如果使用 3D 内核,第二维可能会不同于 1?
    • 您的第二个假设是正确的。您有一个 3D 内核,但您的输入只有一个通道,因此它是 8x1x5x5(内核数 x 输入通道数 x 第一个空间 x 第二个空间)。批次中的每个图像都使用相同的过滤器,因此您没有类似1x8x1x5x5
    猜你喜欢
    • 2017-11-28
    • 1970-01-01
    • 2019-03-15
    • 2017-09-30
    • 1970-01-01
    • 2021-08-13
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多