【问题标题】:Why is num_output a convolution parameter?为什么 num_output 是卷积参数?
【发布时间】:2018-11-05 04:02:47
【问题描述】:

假设将我们的输入图像传递到sample caffe net 中的卷积层:

layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  .
  .
  .
  convolution_param {
    num_output: 96
    kernel_size: 11
    stride: 4
  }
  .
  .
  .
}

网络如何准确地为我们提供我们想要的输出数量,同时准确地使用它所给定的卷积核的大小和步幅?内核大小和步幅不应该已经决定了我们将获得的输出数量(模填充决策)吗?

如果我有一个 5x5 的图像,使用步长 2 和零填充边界将其与 3x3 内核进行卷积,那么我希望从卷积中获得 3x3 的输出。但是如果我要求num_output: 5 怎么办?还是num_output: 100

【问题讨论】:

    标签: caffe conv-neural-network


    【解决方案1】:

    经过一些实验,看起来这个 num_output 参数实际上决定了您将内核与整个图像卷积多少次(至少在单通道图像的情况下)。所以它实际上根本不与图像和过滤器的宽度和高度值交互。

    【讨论】:

    • 如您所见,num_output 决定了输出通道数
    • 是的,当我第一次在文档中看到它时,我并不确定它的含义。有时,只有自己尝试和尝试是无可替代的。
    猜你喜欢
    • 2016-11-11
    • 2019-01-05
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 2020-03-15
    • 2013-09-29
    • 2013-08-25
    • 2019-10-03
    相关资源
    最近更新 更多