I've extracted features using caffe, which generates a .mdb file. Then I'm trying to read it using Python and display it as a readable number.
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)
This prints out a very long line of unreadable, broken characters.
Then I tried printing int(value), which returns the following:
ValueError: invalid literal for int() with base 10: '\x08\x80 \x10\x01\x18\x015\x8d\x80\xad?5'
float(value) gives the following:
ValueError: could not convert string to float:? 5????5
Is this a problem with the lmdb file itself, or does it have to do with conversion of data type?
Here's the working code I figured out
If you have encoded images in
lmdb
, you'll probably see this error when using @ytrewq's codeUse this function instead:
Example: