读取LMDB文件的样本数量

在caffe中一般会把数据转为lmdb或者leveldb格式,再做训练,加速训练过程。

如何读取lmdb文件呢?比如需要获知某个lmdb文件的样本数量。

在python下,比较简单,生成lmdb后,可以用如下的代码获取:

import lmdb
env = lmdb.open("lmdb_path")
txn = env.begin()
print txn.stat()['entries]

那么对于C/C++,则需要参考lmdb.h文件给出的一系列API函数,lmdb.h一般存在于/usr/include/lmdb.h,在该文件中有非常详细的说明,仔细说明会对lmdb文件有比较深刻的认识。这里列出使用C/C++读取lmdb中样本数量的代码

#include <iostream>
#include "lmdb.h"

int main(){
    MDB_env* mdb_env_;
    mdb_env_create(&mdb_env_);
    mdb_env_open(mdb_env_,"lmdb_path",0,0664);
    MDB_stat mdb_stat_;
    MDB_env_stat(mdb_env_,&mdb_stat_);
    std::cout<<mdb_stat_.ms_entries<<std::endl;
}

猜你喜欢

转载自blog.csdn.net/b876144622/article/details/80287700