在 Caffe 的 data_param 中设置 batch_size 没有效果

Setting batch_size in data_param for Caffe has no effect

当我在Google deep dream bvlc_googlenet中设置'batch_size' in deploy.prototxt file以降低GPU内存要求时,它有对速度和内存要求没有影响。就好像被忽略了一样。我知道正在使用文件本身 (deploy.prototxt),因为其他更改会反映在结果中,所以这不是问题所在。我还尝试在所有相关层上设置 batch_size("inception_4c/1x1",等等),同样没有区别。

我是这样设置的:

layer {
  name: "inception_4c/output"
  type: "Concat"
  bottom: "inception_4c/1x1"
  bottom: "inception_4c/3x3"
  bottom: "inception_4c/5x5"
  bottom: "inception_4c/pool_proj"
  top: "inception_4c/output"
  data_param {
    batch_size 1
  }
}

当我对脚本的运行时间进行计时时,与batch_size 1 和batch_size 512 相同,没有区别。

我做错了什么?

data_param是输入数据层的一个参数。您可以仅为输入设置 batch_size,此值通过网络传播。

deploy.prototxt the batch size is set by the first 'input_dim' argument (third line) 中,尝试更改此值并查看它是否对网络的内存消耗有任何影响。

deploy.prototxt 文件的前几行应解释为

input: "data"  # the "top" name of input layer
input_dim: 10  # 4th dimension - batch size
input_dim: 3   # 3rd dimension - number of channels
input_dim: 224 # 2nd dimension - height of input
input_dim: 224 # 1st dimension - width of input

因此,您期望在第一个转换层 ("conv1/7x7_s2") 中有一个名为 "data" 的 "bottom",形状为 10-by-3-by -224-by-224.