Wyodrębniłem funkcje za pomocą caffe, która generuje plik .mdb. Następnie próbuję odczytać go za pomocą Pythona i wyświetlić go jako czytelny numer.Caffe: Czytanie LMDB z Pythona
import lmdb
lmdb_env = lmdb.open('caffefeat')
lmdb_txn = lmdb_env.begin()
lmdb_cursor = lmdb_txn.cursor()
for key, value in lmdb_cursor:
print str(value)
To wypisuje bardzo długą linię nieczytelnych, zepsutych znaków.
Potem próbowałem druk int (value), która zwraca następujące:
ValueError: invalid literal for int() with base 10: '\x08\x80 \x10\x01\x18\x015\x8d\x80\xad?5'
pływaka (wartość) daje następujące:
ValueError: could not convert string to float:? 5????5
Czy to problem z samym plikiem lmdb, czy ma to związek z konwersją typu danych?
Czy ten błąd, który tutaj rozwiązujesz, wynika z lmdb utworzonego z kodowanymi obrazami? – Shai
@Shai Tak, patrz [dyskusja tutaj] (https://groups.google.com/d/msg/digits-users/CzHG1aHizsw/QYE3qWpxBgAJ) –
Dziękujemy za połączenie z odpowiednim wątkiem. dodaje tutaj właściwy kontekst. Czy możesz edytować odpowiedź, aby odzwierciedlić jej znaczenie dla zakodowanych 'lmdb's? Bardzo dobrze jest podać zarówno komunikat o błędzie, jak i główną przyczynę: kodowane obrazy w pliku lmdb. Dzięki! – Shai