Ich möchte eine lmdb-Daten in Python erstellen, wo die Labels keine Skalare aber jede Bezeichnung ist (1, K) Vektor und K ist die Anzahl der Klassen. Insbesondere weist das Etikett Vektor überall Nullen außer in dem entsprechenden Klassenindex Sie haben 1.Labels als eine Matrix in LMDB-Daten mit Python
ich den folgenden Code in Python getestet:
with env.begin(write=True) as txn:
for i in range(N):
datum = caffe.proto.caffe_pb2.Datum()
datum.channels = X.shape[1]
datum.height = X.shape[2]
datum.width = X.shape[3]
datum.data = X[i].tobytes() # or .tostring() if numpy < 1.9
datum.label = int(y[i])
str_id = '{:08}'.format(i)
txn.put(str_id.encode('ascii'), datum.SerializeToString())
print i+1
Aber ich TypeError: only length-1 arrays can be converted to Python scalars
die diesen Fehler kam, wo y[i]
ein numpy ist (1, k) Vektor wie oben beschrieben.
Ich frage mich auch, ob Caffe solche Format von Etiketten akzeptieren würde.
Jede Hilfe wäre sehr