Caffe中输入人工特征的单标签回归(微调)

Single Label Regression(Finetuning) With Input Artificial Features In Caffe

我有,比方说,n 图像,对于每张图像,我都有额外的 2 个人工(合成)特征,图像标签是一维整数。

我想在我的数据集上微调 Image-net,但我不知道如何处理这两个附加功能作为输入,我应该如何将数据提供给 caffe?请帮忙!

编辑:这 2 个特征可以是任意 2 个数字(一维),比如两个数字代表 class 图像属于什么,以及有多少图像属于 class。

说,我有 'cat.jpg',那么特征是 5 和 2000,其中 5 是代表 class 的特征 1,2000 是 class 中的总图像]. 总之,这2个特征可以是任意两个整数。

我认为对您来说最直接的方法是使用 "HDF5Data" 输入层,您可以在其中存储输入图像、另外两个 "features" 和预期输出值(用于回归).

你可以看一个例子 for creating HDF5 data in python. A Matlab example can be found

你的 HDF5 应该有 4 个 "datasets":一个是输入图像(或 dim 4096 的图像描述符)。 n images/descriptors 维数组。
另一个数据集是 "feat_1" 一个 n by 1 数组,以及 "feat_2"n by 1 个数组。
最后,您应该有另一个输入 "target" 一个 n x 1 您希望学习的预期输出数组。

准备好包含这些数据集的 HDF5 文件后,您应该

layer {
  type: "HDF5Data"
  top: "data" # name of dataset with images/imagenet features
  top: "feat_1"
  top: "feat_2"
  top: "target"
  hdf5_data_param {
    source: "/path/to/list/file.txt"
  }
}

如您所见,单个 "HDF5Data"层可以产生多个"top"。