layers {
name: "data1"
type: HDF5_DATA
top: "data1"
top: "label1"
hdf5_data_param {
source: "/Users/JamesGuo/Documents/MasterThesis/Multi_Task_db/mtl_data1_list.txt"
batch_size: 200
}
transform_param {
scale: 0.00390625
}
include: { phase: TRAIN }
}
layers {
name: "data2"
type: HDF5_DATA
top: "data2"
top: "label2"
hdf5_data_param {
source: "/Users/JamesGuo/Documents/MasterThesis/Multi_Task_db/mtl_data2_list.txt"
batch_size: 200
}
transform_param {
scale: 0.00390625
}
include: { phase: TRAIN }
}
Then I only process "data1" and compute loss with "label1" and "label2", but the problem is that Caffe will automatically identify "data2" as output and report a very long results, which is not what I expect. However, I checked the source code and found that HDF5 data layer must give two top blobs otherwise the model check will fail. Therefore I would like to use lmdb data since the base data layer could have only one top blob. In this way, I will have three data layers and one layer for image data and two layers for label1 and label2. My question is how can I convert a vector into lmdb? Could you provide any examples or link to the tutorial? Thank you very much!
James