caffe的Leveldb格式資料四(例項)

2021-07-09 06:59:04 字數 1518 閱讀 3189

二、在ubunt上編譯

解壓之後進入目錄:leveldb-1.4.0

執行:make,生成了: libleveldb.a

三、相應標頭檔案:/home/lb/pratice/leveldb-1.4/include/leveldb目錄

四、新建測試目錄:

cd /home/lb/pratice/leveldb-1.4

mkdir  test

cd  ~/leveldb-1.4

五、進入test進行測試:

cd  ~/test

test.cpp:

#include #include #include #include int main(){

leveldb::db* db;

leveldb::options options;

options.create_if_missing = true;

leveldb::status status = leveldb::db::open(options,"/tmp/testdb", &db);

assert(status.ok());

//write key1,value1

std::string key="key";

std::string value = "value";

status = db->put(leveldb::writeoptions(), key,value);

assert(status.ok());

status = db->get(leveldb::readoptions(), key, &value);

assert(status.ok());

std::cout

assert(status.ok());

status = db->delete(leveldb::writeoptions(), key);

assert(status.ok());

status = db->get(leveldb::readoptions(),key2, &value);

assert(status.ok());

std::cout

if(!status.ok()) std::cerr<

六、編譯執行命令

:g++ -o test test.cpp -i../include -l../libleveldb -lleveldb

七、生成乙個test檔案:

執行:

使用過得網上不通過命令:

g++ -o test test.cpp ../leveldb/libleveldb.a -lpthread -i../leveldb/include


leveldb原始碼分析之sst檔案格式

leveldb插入資料時,首先將資料插入memtable,當memtable資料量達到一定大小時,當前memtable賦值給immemtable 也是memtable型別,但是這個是唯讀的 然後產生乙個新的memtable用於後續的資料插入,immemtable將會把資料持久化到磁碟中。磁碟檔案是按...

leveldb的啟動流程

manifest檔案是儲存每次壓縮記錄的。current檔案裡面只有一條記錄,就是現在有些小的manifest檔案。只有資料庫重新open的時候才會用到manifest檔案來進行恢復。manifest檔案的格式是record,讀取的時候會先讀取資料型別,類似klognumber,讀取到型別之後再讀取...

在caffe訓練的資料來源的格式

主要參考這個檔案 在進行caffe的訓練的時候 資料來源可以有兩種格式 1.利用txt格式直接訓練 2.將txt轉化為lmdb格式再進行訓練 所以總結就是,在train val.prototxt當中,如果以txt為資料來源的時候data層型別為imagedata以及image data param,...