-----------write---------------
import lmdb
env_db = lmdb.Environment('path-to-save', xxx)
txn = env_db.begin( write=True, buffer=True)
txn.put( key, value)
txn.commit()
env_db.close()
----------------read---------------------------------
import lmdb
env_db = lmdb.open('path-of-lmdb')
txn = env_db.begin()
cursor = txn.cursor()
for k, v in cursor:
print k, v
----------datum----read---from---lmdb--------
lmdb_path = '/home/xyy/experiments/lyuwenyu/rank_learning/test_lmdb/'
env = lmdb.open(lmdb_path, readonly=True, lock=False)
datum = datum_pb2.Datum()
with env.begin() as txn:
cur = txn.cursor()
for i in xrange(4):
if not cur.next():
cur.first()
key, values = cur.item()
datum.ParseFromString(values)
img_data = np.array(bytearray(datum.data)).reshape(datum.channels, datum.height, datum.width)
if v:
plt.imshow(img_data.transpose([1,2,0]))
print img_data.transpose([1,2,0]).shape
plt.show()
print key
---------------------------------------reference----------------------------
[1]. https://lmdb.readthedocs.org/en/release/#named-databases
[2]. http://stackoverflow.com/questions/33117607/caffe-reading-lmdb-from-python
[3]. http://blog.csdn.net/ayst123/article/details/44077903
[4]. http://research.beenfrog.com/code/2015/12/30/write-read-lmdb-example.html