lmdb :一种大大减少I/o开销的数据管理方法,特别适用于样本数量多但都很小的样本。 这种数据格式采用了词典的格式。
对于训练神经网络,数据类型复杂多样,有二进制文件、文本文件、编码图像文件、JPEG和PNG等
使用caffe处理数据时,必须将图像转换为lmdb格式的。
百度百科,无词条,维基百科,成功,请帮助地址。
lmdb是发光内存映射数据库的缩写。
LDB示例文件为
包含数据文件和锁定文件。
python操作参考教程1、教程2、教程3
python module是lmdb
直接用pip安装
读取pipinstallmdb1lmdbimportcaffeimportlmdbimportnumpyasnpimportcv2from caffe.protoimportcaffe _ Pb2lmdb _ env=lmdb.open=lmdb_txn.cursor ) datum=caffe_pb2.Datum ) for key, valueinlmdb _ cursor 3360 datum.parsefromstring (value ) label=datum.label data=caffe.io.datum _ to _ array ) daffe pose (数据,(1,2,0 ) ) cv2.imshow )、image (cv2.wait key (1) (1) print ) )。 label ) ) 12345678910112131415161718192021223 importlmdbimportnumpyasnpimportcv2importcaffefromcaffe.protoimportcaffe _ papartce ATA ' batch _ size=256 # createthelmdbfilelmdb _ env=lmdb.open (lmdb _ file, map_size=int(1e12 ) ) lmdb_txn=lmdb_env.begin ) write=true ) datum=caffe_pb2.Datum ) item _ id=np.uint8) * ) item_id864 ) #CxHxW array, uint8orfloatlabel=item _ id 864 # saveindatumdatum=caffe.io.array _ to _ datum (label ) keystr=' { :08 d } ' . datum.SerializeToString (() writebatchif ) item_id1 ) batch _ size==0: lmdb _ txn.com MIT ) ) lmdb _ txn print=0: lmdb _ txn.com MIT (打印' last batch ' print (item _ id1 ) ) ) ) )。