Caffe 入坑 1 :lmdb格式数据读写

caffe学习笔记1

1. 写 lmdb 格式的数据:

def write():
    # 在创建一个叫lmdb_data的文件夹并写入数据
    lmdb_file = 'lmdb_data'
    batch_size = 256

    # 写入前把 Write 置为 True
    lmdb_env = lmdb.open(lmdb_file,map_size = int(1e12))
    lmdb_txn = lmdb_env.begin(write = True) 
    
    # 用一个for循环将一个batchsize的数据写入
    for x in range(batch_size):
        # define data and label=id
        data = np.ones((3,64,64), np.uint8)
        label = x
        
        # 以字典形式存储
        datum = caffe.io.array_to_datum(data, label)
        keystr = "{:0>8d}".format(x)

        # 数据序列化
        lmdb_txn.put(keystr, datum.SerializeToString())
   
    # 保存,生成data.mdb 和 lock.mdb两个文件
    lmdb_txn.commit()

2. 读 lmdb 格式的数据:

def read():
    lmdb_env = lmdb.open('lmdb_data')
    lmdb_txt = lmdb_env.begin()

    datum = caffe_pb2.Datum()

    for key, value in lmdb_txt.cursor():

        # 去序列化
        datum.ParseFromString(value)

        label = datum.label

        data = caffe.io.datum_to_array(datum)

        print(label)
        print(data)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值