1

我已经训练了一个网络并尝试应用它,但收到以下错误:

无法从层“ip1”复制参数 0 权重;形状不匹配。源参数形状为 384 72576 (27869184);目标参数形状为 384 224(86016)。要从头开始学习该层的参数,而不是从保存的网络中复制,请重命名该层。

该层的网络配置如下所示:

layer {
  type: "Concat"
  bottom: "conv5f"
  bottom: "conv5_pf"
  top: "feat"
  name: "concat1"
}

layer {
  name: "ip1"
  type: "InnerProduct"
  bottom: "feat"
  top: "ip1"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  inner_product_param {
    num_output: 384
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}

是暹罗网络的联合场所。

当我开始训练时,我收到以下输出:

setting up concat
Top shape: 256 72576  
...
Setting up ip1
Top shape: 256 384

应用网:

setting up concat
Top shape: 256 224
...
Setting up ip1
Top shape: 256 384

如果重要的话,我在训练时使用了 256 的批量大小。

这里有什么问题?我只是看不到。我已经将我的网络从 train.prototxt 文件复制粘贴到 apply_net.prototxt,就是这样

4

1 回答 1

2

不匹配是由于层的 blob 大小不同造成的。您需要计算网络每一层的输出维度。使用此处给出的公式。

于 2016-05-15T16:50:23.817 回答