我在 LMDB (40Gb) 中有一个巨大的数据集,用于使用 caffe 训练二元分类器。
Caffe 中的数据层包含整数标签。
是否有任何现成的层可以将它们转换为 float 并添加一些随机抖动,以便我可以应用标签平滑技术,如 7.5.1 here 中所述。
我看过 HDF5 的示例,但它们需要重新生成数据集,我想避免它。
最佳答案
您可以使用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 }
}
关于machine-learning - 使用 prototxt 在 caffe 中进行标签平滑,无需数据重新生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45435500/