问题标签 [lmdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2785 浏览

ldap - 带有 lmdb 的 openldap;无法打开:没有这样的文件或目录

我正在尝试在 linux 系统上使用 lmdb 后端配置 openldap-2.4.43。到目前为止没有成功。

slapd.conf:

slaptest (/opt/openldap/sbin/slaptest -f slapd.conf -F ./slapd.d/) 结果(最后一部分):

/var/openldap/data/main 是可写的。系统只有一个 root 用户。

我尝试更改目标文件夹,设置 ulimit -c 无限制,更改 maxsize 的值。都没有任何明显的结果。

我错过了什么?为什么 openldap 假设 /var/openldap/data/main//data.mdb 应该已经存在并且不会自行创建?

0 投票
1 回答
2848 浏览

lmdb - LMDB的内部设计有什么特别之处?

内存中 B-Tree(例如 google btree)和 LMDB 的某些 C++ 实现(不考虑 LMDB 的所有功能,例如事务、隔离、共享访问等)之间的性能差异(读/写)是什么? .)?

0 投票
1 回答
1516 浏览

python - 使用 python 删除 lmdb 数据库

我想删除一个 lmdb 数据库。以下命中 txn.drop(db_name) 行上的“typerror:invalid type”。

关于为什么会发生这种情况的任何线索?我是 lmdb 的新手(您可能已经猜到了)所以要温柔。

0 投票
0 回答
350 浏览

matlab - 分割图像到 LMDB for Caffe

我正在使用建筑图像数据集来尝试微调 caffe 模型。该数据集由一个文件夹中的图像和另一个文件夹中的分割地面实况组成,存储为 png 图像,每种颜色代表一个标签(例如窗口、墙壁、天空)。

我不确定如何将其转换为 lmdb 格式,因为大多数教程并不关注像素级标签或在 png 图像中存储为颜色的标签。

任何提示都会很棒!

0 投票
3 回答
780 浏览

pointers - 将一对数组传递给函数时,没有为类型“&A”实现特征

我正在尝试编写set调用 Rust LMDB 库文档)的函数,以及我正在处理的一个示例

我这辈子都做不到。这是我目前的尝试:

其中set定义为:

这吐出以下错误:


我也试过db.set(id, note).unwrap();了,但这次我得到了:


我也尝试过类似的东西:

但这也不起作用......我不完全明白为什么。没有idnote有类型&str,不是str吗?

0 投票
2 回答
4632 浏览

caffe - 随机播放 LMDB 文件中的数据

我已经有一个为caffe创建的现有LMDB (Symas Lightning 内存映射数据库)文件。是否有任何可能的方法来洗牌现有 LMDB 中的数据以创建一个新的 LMDB 数据洗牌。任何建议或想法都会有所帮助。

0 投票
2 回答
1495 浏览

python - 将 LMDB 复制到另一个 LMDB 会减小文件大小

洗牌已经存在的 lmdb 中的数据(试图解决这个问题)。我检索了数据,改组并写回新的 lmdb。但是当我检查 lmdb 文件大小时,它会减小。旧 lmdb 文件大小:3792896,但新 lmdb 文件大小:2314240。

Python代码实现:

代码参考取自此处。任何建议/想法都会有所帮助。

0 投票
2 回答
2525 浏览

database - 在内存数据库中使用 LMDB

我有一个项目,它使用 BerkelyDB 作为键值存储,存储多达数亿条小记录。

它的使用方式是将所有值插入数据库,然后使用顺序和随机访问对它们进行迭代,所有这些都来自单个线程。

使用 BerkeleyDB,我可以创建“从不打算保存在磁盘上”的内存数据库。如果数据库足够小以适合 BerkeleyDB 缓存,则它永远不会被写入磁盘。如果它大于缓存,则将创建一个临时文件来保存溢出。此选项可以显着加快速度,因为它可以防止我的应用程序在关闭数据库时将千兆字节的死数据写入磁盘。

我发现 BerkeleyDB 的写入性能太差了,即使在 SSD 上也是如此,所以我想切换到LMDB。但是,根据文档,似乎没有创建非持久数据库的选项。

如果我根本不关心持久性或并发访问,我应该使用什么配置/选项组合来获得 LMDB 的最佳性能?即让它像一个带有临时备份磁盘存储的“内存数据库”?

0 投票
1 回答
502 浏览

machine-learning - 修改 Caffe 以接受 lmdb 内的 16 位数据

我正在尝试对 Caffe 进行一些修改以接受我的 16 位数据。
我成功创建了一个 lmdb 数据集,其中填充了 16 位无符号、未编码的 256x256 图像,而不是通常的 caffe 8 位无符号数据,保存为“字符串”,就像可以使用image_convertDIGITS 实用程序创建的通常的 8 位 lmdb 一样。
我已经更改了io.py函数array_to_datumdatum_to_array以便在 16 位“字符串”数据中创建这个 lmdb。现在,如果我在 caffe 上使用这个 lmdb(只有 4 个类),网络会运行但不会收敛。我强烈怀疑没有正确读取我的数据。问题是,io.py函数array_to_blobprotoblobproto_to_array内部数据内容似乎没有任何区别,
谁能给我一个关于在哪里工作的提示?

编辑:在代码中乱七八糟,我认为如果我想直接在 png 上工作而不通过 lmdb,那么一种可能性应该是创建一个新的数据层或一个新的图像数据层。但是尝试修改 C++ 代码对我来说并不是一件容易的事,尤其是。我不能轻易地跟踪代码中的数据流。我看到新层可以用python编写。你认为新的输入数据层可以很好地工作还是会降低 cnn 的性能?

0 投票
1 回答
428 浏览

c - 分段错误 - 在 C 中的 LMDB 中获取行值

如何从 LMDB 数据库中获取数据?这是库 - github.com/LMDB/lmdb/tree/mdb.master/libraries/liblmdb,这是 lmdb 文件 - github.com/LMDB/lmdb/blob/mdb.master/libraries/liblmdb/lmdb。 H

这是我的代码,但它不起作用,我收到分段错误:

怎么了?也许我需要初始化 data.mv_data 和 data.mv_size 但是在获取值之前我怎么知道大小。

我找不到任何带有此类代码的示例。