tensorflow - 卷积的维数?

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

我对这个卷积的计算方式及其输出维度有一些疑问。我熟悉使用 nxm 内核的简单卷积,使用步幅、扩张或填充,这不是问题,但这个尺寸对我来说似乎很奇怪。因为我使用的模型非常有名 onnx-mnist ,我认为这是正确的。

所以,我的观点是:

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

找到我正在尝试做的卷积,希望不是太onnx特定。

model

enter image description here

最佳答案

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

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

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

关于tensorflow - 卷积的维数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59116204/

相关文章:

c++ - 在 tensorflow-gpu>=1.15 中使用用户运算符时 undefined symbol

machine-learning - 神经网络,是否值得随时间改变学习率和动量

math - 计算分类准确率的最佳方法?

python - keras中一维卷积网络的输入维度

machine-learning - 甘斯生成元的损失函数

tensorflow - 以 double 运行 Keras 失败

python-3.x - 由于负索引查找,Keras 嵌入层中的 InvalidArgumentError

python - Keras 模型通过编译但在运行时因值错误而崩溃

machine-learning - 生成对抗网络生成具有一些随机像素的图像

tensorflow - "Images"选项卡在 Tensorboard 上显示什么?