创建 LMDB 数据

来源:互联网 发布:手机淘宝店铺装修教程 编辑:程序博客网 时间:2024/04/28 20:12

给个例子,记录一下


import sysimport numpy as npimport lmdbcaffe_root = '/home/amax/xyc/caffe-master/'sys.path.insert(0, caffe_root + 'python')import caffeN = 40X = np.zeros((N, 3, 32, 32), dtype=np.uint8)y = np.zeros(N, dtype=np.int64)map_size = X.nbytes * 10env = lmdb.open('mylmdb', map_size=map_size)with env.begin(write=True) as txn:    # txn is a Transaction object    for i in range(N):        datum = caffe.proto.caffe_pb2.Datum()        datum.channels = X.shape[1]        datum.height = X.shape[2]        datum.width = X.shape[3]        datum.data = X[i].tobytes()  # or .tostring() if numpy < 1.9        datum.label = int(y[i])        str_id = '{:08}'.format(i)        # The encode is only essential in Python 3        txn.put(str_id.encode('ascii'), datum.SerializeToString())


0 0
原创粉丝点击