从 Trained caffenet 中提取权重后感到困惑

Got confused after I extracted weights from Trained caffenet

所以基本上这是经过训练的 caffenet 的权重维度:

conv1: (96,3,11,11) conv2: (256,48,5,5) 转换 3:(384,256,3,3) conv4: (384,192,3,3) conv5:(256, 192, 3 , 3)

我很困惑,虽然 conv1 给出了 96 个通道作为输出,但为什么 conv2 在卷积时只考虑 48 个通道?我错过了什么吗?

是的,您错过了参数 'group'。给定conv2层中定义的convolution_parambelow.You可以发现参数组设置为2因为对卷积层进行分组可以节省gpu内存。

 convolution_param {
 num_output: 256
 pad: 2
 kernel_size: 5
 group: 2
 weight_filler {
  type: "gaussian"
  std: 0.01
 }
 bias_filler {
  type: "constant"
  value: 1
 }