2016-05-31 17 views
3

Ich versuche, die LMDB-Datei zu verwenden, die ich geschaffen, um die Datenschicht in caffe Netz zu definieren, und ich unten FehlerFehler beim Lesen der LMDB Datei in caffe net

TypeError: 'LMDB' has type (type 'str'), but expected one of: (type 'int', type 'long') 

ich für Etiketten in der Textdatei überprüft, dass Ich übergab das Skript, das lmdb-Datei erzeugt (caffe/build/tools/convert_imageset).
Fehle ich hier etwas?

bearbeiten -1: Hier ist meine Datenschicht Definition:

n.data,n.labels = L.Data(batch_size = batch_size, 
         source=lmdb_src, 
         backend = "LMDB", 
         transform_param = dict(mean_file = mean_file), 
         ntop=2) 

Antwort

4

Sie versuchen

backend: "LMDB" 

in Ihrer Netto-Definition zu setzen, statt

backend: LMDB 

Hinweis dass LMDB ist nicht wurde als String übergeben, sondern als aufgezählte Ganzzahl.

Was Sie tun sollten, wird

backend = caffe.Data.LMDB 

Verwenden Enum-Wert eingestellt von caffe protobuff Definition.

+0

@VenkataDikshitPappu 1. Veröffentlichen Sie keinen Code in Kommentaren, der nicht gelesen werden kann. 2. Was ist der Wert von LMDB? Bitte bearbeiten Sie Ihre Frage mit Beispielcode, der den Fehler reproduziert – Shai

+1

Ich habe das Snippet zur Frage hinzugefügt –

+0

@VenkataDikshitPappu siehe meine Edit – Shai