在Caffe中设置data_param的batch_size无效

当我在Google深度梦境的bvlc_googlenetdeploy.prototxt文件中设置'batch_size'以减少GPU内存需求时,它对速度和内存需求都没有影响。似乎被忽略了。我知道文件本身(deploy.prototxt)正在使用,因为其他更改在结果中有所反映,所以这不是问题。我还尝试在所有相关层上设置batch_size(如”inception_4c/1×1″等),仍然没有变化。

我设置的方式如下:

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中,批量大小由第一个'input_dim'参数设置(第三行),尝试更改此值,看看它是否对网络的内存消耗有任何影响。

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

input: "data"  # 输入层的"top"名称input_dim: 10  # 第四维度 - 批量大小input_dim: 3   # 第三维度 - 通道数input_dim: 224 # 第二维度 - 输入高度input_dim: 224 # 第一维度 - 输入宽度

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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注