讀取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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章