Comment alimenter les données caffe multi label au format HDF5?

Je veux utiliser caffe avec un vecteur étiquette, pas entier. J'ai vérifié quelques réponses, et il semble HDF5 est une meilleure façon. Mais là je suis coincé avec une erreur de ce type:

accuracy_layer.rpc:34] échec de la Vérification: outer_num_ * inner_num_ == bottom[1]->count() (50 vs 200) Nombre d'étiquettes doivent correspondre nombre de prédictions; par exemple, si l'étiquette de l'axe == 1 et la prédiction de la forme (N, C, H, l), étiquette de comptage (nombre d'étiquettes) doit être N*H*Wavec des valeurs de type entier dans {0, 1, ..., C-1}.

avec HDF5 créé:

f = h5py.File('train.h5', 'w')
f.create_dataset('data', (1200, 128), dtype='f8')
f.create_dataset('label', (1200, 4), dtype='f4')

Mon réseau est générée par:

def net(hdf5, batch_size):
    n = caffe.NetSpec()
    n.data, n.label = L.HDF5Data(batch_size=batch_size, source=hdf5, ntop=2)
    n.ip1 = L.InnerProduct(n.data, num_output=50, weight_filler=dict(type='xavier'))
    n.relu1 = L.ReLU(n.ip1, in_place=True)
    n.ip2 = L.InnerProduct(n.relu1, num_output=50, weight_filler=dict(type='xavier'))
    n.relu2 = L.ReLU(n.ip2, in_place=True)
    n.ip3 = L.InnerProduct(n.relu1, num_output=4, weight_filler=dict(type='xavier'))
    n.accuracy = L.Accuracy(n.ip3, n.label)
    n.loss = L.SoftmaxWithLoss(n.ip3, n.label)
    return n.to_proto()

with open(PROJECT_HOME + 'auto_train.prototxt', 'w') as f:
f.write(str(net('/home/romulus/code/project/train.h5list', 50)))

with open(PROJECT_HOME + 'auto_test.prototxt', 'w') as f:
f.write(str(net('/home/romulus/code/project/test.h5list', 20)))

Il semble que je devrais augmenter numéro de l'étiquette et de mettre les choses en entier plutôt que de tableau, mais si je fais cela, caffe se plaint nombre de données et l'étiquette n'est pas égal, alors il existe.

Alors, qu'est-ce que le format correct pour nourrir multi les données de l'étiquette?

Aussi, je suis si vous vous demandez pourquoi personne n'a juste suffit d'écrire le format de données comment HDF5 cartes de caffe gouttes?

source d'informationauteur Romulus Urakagi Ts'ai