Как сгенерировать prototxt конкатеного слоя с помощью python

У меня есть prototxt следующим образом:

layer {
  name: "data"
  type: "HDF5Data"
  top: "data1"
  top: "data2"
  top: "label"
  include {
    phase: TRAIN 
  }
  hdf5_data_param {
    source: "./source_list.txt"
    batch_size: 2
    shuffle: true 
  }
}
layer {
  name: "concat"
  type: "Concat" 
  bottom: "data1"
  bottom: "data2"
  top: "data"
  concat_param {
    concat_dim:1
  }
}

Я хочу сгенерировать вышеуказанный prototxt, используя caffe NetSpec в python. Однако это было неправильно. Это мой код. Пожалуйста, помогите мне исправить это. Спасибо

from caffe import layers as L
...
n = caffe.NetSpec()
n.data, n.label = L.HDF5Data(top=["data1", "data2"], batch_size=2,
                             source="./source_list.txt", ntop=2,shuffle= True,
                             include={'phase': caffe.TRAIN})
n.concat = L.Concat(n.data["data1"], n.data["data2"])

person John    schedule 14.03.2017    source источник


Ответы (1)


Вам нужно иметь два выхода data

n.data1, n.data2, n.label = L.HDF5Data(ntop=3, name="data",
                                       hdf5_data_param={'source': "./source_list.txt", 
                                                         'shuffle': True,
                                                         'batch_size': 2}
                                       include={'phase': caffe.TRAIN})
n.data = L.Concat(n.data1, n.data2, name="concat", concat_param={'concat_dim':1})
person Shai    schedule 14.03.2017
comment
@ user8264 рад, что это сработало для вас. теперь вы можете удалить свои старые комментарии. - person Shai; 14.03.2017