J'ai extrait des fonctions en utilisant caffe, ce qui génère un fichier .mdb. Ensuite, j'essaye de le lire en utilisant Python et de l'afficher comme un nombre lisible.Caffe: Lecture de LMDB à partir de Python
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)
Ceci imprime une très longue ligne de caractères illisibles brisés.
Alors j'ai essayé l'impression int (valeur), qui renvoie les éléments suivants:
ValueError: invalid literal for int() with base 10: '\x08\x80 \x10\x01\x18\x015\x8d\x80\xad?5'
flotteur (valeur) donne les suivantes:
ValueError: could not convert string to float:? 5????5
Est-ce un problème avec le fichier LMDB lui-même, ou est-ce que cela a à voir avec la conversion du type de données?
Est-ce que cette erreur que vous résolvez ici provient de lmdb créé avec des images encodées? – Shai
@Shai Oui, voir la [discussion ici] (https://groups.google.com/d/msg/digits-users/CzHG1aHizsw/QYE3qWpxBgAJ) –
Merci d'avoir créé un lien vers le fil de discussion correspondant. ajoute un contexte approprié ici. Pouvez-vous s'il vous plaît modifier votre réponse pour refléter sa pertinence pour codé 'lmdb's? Il est très bon d'indiquer à la fois le message d'erreur et la cause première: les images encodées dans lmdb. Merci! – Shai