使用原型文本在caffe中标记平滑而不重新生成数据

时间:2017-08-01 10:35:43

标签: machine-learning neural-network deep-learning protocol-buffers caffe

我在LMDB(40Gb)中获得了一个巨大的数据集,用于训练带有caffe的二元分类器。

Caffe中的数据层包含整数标签。

是否存在可以通过添加一些随机抖动将它们转换为浮点数的现成层,因此我可以应用标签平滑技术,如7.5.1 here

中所述

我见过HDF5的例子,但它们需要重新生成数据集,我想避免使用它。

1 个答案:

答案 0 :(得分:1)

您可以使用DummyData图层生成要添加到标签的随机噪音。一旦有噪音,请使用Eltwise图层对它们进行总结:

layer {
  name: "noise"
  type: "DummyData"
  top: "noise"
  dummy_data_param {
    shape { dim: 10 dim: 1 dim: 1 dim: 1 } # assuming batch size = 10
    data_filler { type: "uniform" min: -0.1 max: 0.1 } # noise ~U(-0.1, 0.1) 
  }
}
layer {
  name: "label_noise"
  type: "Eltwise"
  bottom: "label"  # the input integer labels
  bottom: "noise"
  top: "label_noise"
  eltwise_param { operation: SUM }
}