问题标签 [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 投票
1 回答
2405 浏览

c - LMDB 数据库原子获取和放入 C

我需要从 LMDB 数据库中获取密钥,然后根据此密钥将一些附加数据放入此密钥的值中,并且在此操作期间有必要使此密钥对其他人不可写。

我使用的库 - github.com/LMDB/lmdb/tree/mdb.master/libraries/liblmdb和 lmdb.h 文件 - github.com/LMDB/lmdb/blob/mdb.master/libraries/liblmdb/lmdb。 H

在 LMDB 中怎么可能?

这是我的基本代码:

一切都很好,但是如何做 get 的原子事务,然后检查一些条件然后 put 呢?

0 投票
1 回答
881 浏览

python - 使用 numpy 数组为 Caffe 创建大型 LMDB

我有两个 60 x 80921 矩阵,一个充满数据,一个带有参考。
我想将值作为键/值对存储在两个不同的 LMDB 中,一个用于训练(比如我将在 60000 列标记附近切片),一个用于测试。这是我的想法;它有效吗?

我真的不确定代码。最后一行format(i)是指什么?

0 投票
2 回答
7352 浏览

machine-learning - 检查失败:mdb_status == 0 (2 vs. 0) 没有这样的文件或目录

我在训练数据时收到以下错误。我已经尝试了互联网上给出的所有解决方案,但似乎没有任何对我有用。我检查了 lmdb 文件的路径和大小是非零的。但问题仍然存在。我不知道如何解决这个问题。

以下是我的文件设置:

0 投票
1 回答
788 浏览

python - 使用 python 将标签作为 LMDB 数据中的矩阵

我想在 python 中创建一个 lmdb 数据,其中标签不是标量,但每个标签都是 (1,K) 向量,K 是类数。更具体地说,标签向量除对应的类索引为 1 外,处处为零。

我在python中测试了以下代码:

但是我得到了这个错误,如上所述,numpy (1,k) 向量TypeError: only length-1 arrays can be converted to Python scalars在哪里。y[i]

我也想知道 caffe 是否会接受这种格式的标签。

任何帮助将不胜感激

0 投票
1 回答
441 浏览

python - 带有 Caffe 的 Python:从求解器读取自定义数据时全为零

我尝试训练此处定义的 Lenet使用 LeNet 在 Python 中求解, 以训练 kaggle 上的数字识别数据集。我首先使用此处提供的教程创建 lmdb将数据传输为 lmdb 格式。然后我按照链接 1(使用 LeNet 在 Python 中求解)中的说明构建训练、测试和求解器 prototxt。但是,当我从solver.prototxt 中提取求解器时,我发现图像数据中的每个元素都是零。我的代码有什么问题吗?

0 投票
1 回答
957 浏览

python - lmdb 没有可用的锁错误

我在 test/ 目录中有一个 data.mdb 和 lock.mdb 文件。我试图使用 python lmdb 包从 lmdb 数据库中读取/写入数据。我试过了

但出现以下错误:

然后我尝试了

使用从源代码编译的单独安装的 lmdb 库并收到以下错误:

但是,在python中我也尝试过

这有效,我可以正常从数据库中读取数据。

我非常努力地在 Google 上搜索了“lmdb no locks available error”,但一无所获。任何人都知道这个错误来自哪里?

谢谢!

0 投票
1 回答
1094 浏览

c++ - 使用两个不同 LMDB 的多标签

我是 caffe 框架的新手,我想使用 caffe 来实现多标签的训练。我使用两个 LMDB 分别保存数据和标签。数据 LMDB 的维度为 Nx1xHxW,而标签 LMDB 的维度为 Nx1x1x3。标签是浮点数据。

文本文件如下:

我使用 C++ 创建 LMDB。我的 main.cpp:

可以成功创建两个LMDB。但是当我用caffe用两个LMDB来实现训练的时候,结果总是错的。损失层是EUCLIDEAN_LOSS,损失不能下降。我不知道可以创建两个LMDB的代码是否错误。谁能帮我 ?无论如何谢谢。

0 投票
1 回答
1233 浏览

python - python LMDB 大型数据库(内存限制错误)

我有一个很大的 lmdb,大约 800K 图像。我只想一一阅读条目。我的代码非常简单,如下所示:

但是在阅读了大约 70000 个条目后,它的内存不足(~10GB)。我不知道为什么。我试着像下面那样做,但没有用。

有什么建议吗?

0 投票
2 回答
373 浏览

linux - 单线程 LMDB

如果您仅从单个线程使用 LMDB,并且根本不关心数据库持久性,是否有任何理由打开和关闭事务?

在单个事务中执行所有操作会导致性能问题吗?打开和关闭太多交易是否会影响性能?

我发现一旦我的 LMDB 数据库变得比可用 RAM 大,它的速度就会急剧下降,但我的 SSD 和 CPU 都没有接近它们的容量。

0 投票
1 回答
3753 浏览

caffe - Caffe LeNet 错误检查失败:shape[i] >= 0 (-1 vs. 0)

我为输入创建了一个 lmdb 数据库,为标签创建了另一个数据库。

输入的形状为 (3,3,1226),标签为 (1,1,1226),即 (C,H,W)。

当以下代码运行时:

我收到这些错误消息:

我的火车 protobuf 是:

我不知道得到这个错误有什么问题。我不能有一个三行的输入和一个只有一行的标签吗?

谢谢!