我正在尝试将数据写入lmdb数据库(参考caffe / tools / convert_imageset.cpp)。控制台中没有错误,但.mdb文件的文件大小保持为零,即没有数据写入文件,但创建了数据和锁定文件。 我尝试过的代码部分是:
scoped_ptr<db::DB> db(db::GetDB("lmdb"));
db->Open(argv[3], db::NEW);
scoped_ptr<db::Transaction> txn(db->NewTransaction());
datum.SerializeToString(&out);
txn->Put(key1, out);
txn->Commit();
我无法弄清楚我是否遗漏了什么。任何有关LMBD如何工作的参考都会有所帮助。
答案 0 :(得分:1)
在致电Put
之前,请确保钥匙不为空
您可以使用mdb_dump
并打印数据库的内容。