Ниже приведены входные слои моей доработанной модели:
layer {
type: "HDF5Data"
name: "data"
top: "Meta"
hdf5_data_param {
source: "/path/to/train.txt"
batch_size: 50
}
include { phase: TRAIN }
}
layer {
name: "data"
type: "ImageData"
top: "X"
top: "Labels"
include {
phase: TRAIN
}
transform_param {
mirror: true
crop_size: 227
mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
}
image_data_param {
source: "/path/to/train.txt"
batch_size: 50
new_height: 256
new_width: 256
}
}
layer {
type: "HDF5Data"
name: "data"
top: "Meta"
hdf5_data_param {
source: "/path/to/val.txt"
batch_size: 50
}
include { phase: TEST }
}
layer {
name: "data"
type: "ImageData"
top: "X"
top: "Labels"
include {
phase: TEST
}
transform_param {
mirror: false
crop_size: 227
mean_file: "data/ilsvrc12/imagenet_mean.binaryproto"
}
image_data_param {
source: "/path/to/val.txt"
batch_size: 50
new_height: 256
new_width: 256
}
}
Как вы можете видеть, у него есть один входной слой imagedata и 1 входной слой hdf5, если бы был только 1 тип слоя, скажем, imagedata, я мог бы сделать:
input_data = {prepare_images(im)}; # dimension 227*227*3*10
а потом scores = caffe('forward',input_data);
Но здесь я должен дать два типа входных данных, как я могу это сделать? Пожалуйста помоги!
input_data={prepare_images(im), meta}
? добавить еще одну ячейку, соответствующую второму входу? - person Shai   schedule 17.01.2016