问题标签 [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.
python - 使用python将mnist数据转换为lmdb结果非常大的数据库
我目前正在玩caffe提供的lenet模型。
该示例(在 path/to/caffe/examples/mnist/convert_mnist_data.cpp 中提供了一个 c++ 程序来将 mnist 数据转换为 lmdb。
我写了一个python程序来做同样的事情,但是lmdb的大小(480MB)比c++转换的大小(60MB)要大得多。
测试准确率几乎相同(98%)。
我想知道为什么尺寸差异很大。
这是程序。我利用 mnist 模块 ( https://pypi.python.org/pypi/python-mnist/ ) 来帮助加载二进制 mnist 数据。
谢谢你。
python - 在 jupyter notebook 下浏览 pandas 中 LMDB 的最短方法
TLDR:如何检查\浏览 LMDB 二进制文件?
在此处完成 py n00b。我刚刚在膝上转储了一个 LMDB 文件,以分析导致下游软件错误的数据错误。我不知道数据模式,它的大小约为 1 Gb。我花了大约一个小时寻找使用 jupyter 和 pandas 浏览文件的 Q&D 方法,但不知道架构但没有乐趣。
最短的方法是什么?一个链接就好了。
b-tree - LMDB 和 STX btree 的区别
我想使用内存中的 btree。我正在考虑 LMDB 和 STX。我感谢帮助理解它们之间的区别。在其他并发上下文中(我不确定 STX 是否支持它)
neural-network - 从 caffe 中的 lmdb 数据库读取编码图像数据
我对使用 caffe 比较陌生,并且正在尝试创建可以(稍后)调整的最小工作示例。我可以毫无困难地将 caffe 的示例与 MNIST 数据一起使用。我下载了 image-net 数据(ILSVRC12)并使用 caffe 的工具将其转换为 lmdb 数据库,使用:
创建包含编码 (jpeg) 图像数据的 lmdb。原因是编码后的 lmdb 约为 64GB,而未编码的约为 240GB。
我描述网络的 .prototxt 文件是最小的(一对内积层,主要是从 MNIST 示例中借来的——这里不是为了准确,我只是想要一些工作)。
当 train-lmdb 未编码时,此 .prototxt 文件可以正常工作(准确性极差,但 caffe 不会崩溃)。但是,如果 train-lmdb 已编码,则会出现以下错误:
问题:我必须在 .prototxt 文件中设置一些“标志”来表明 train-lmdb 是编码图像吗?(可能必须为测试数据层 test-lmdb 提供相同的标志。)
一点研究:
用谷歌四处寻找,我发现了一个看起来很有希望的已解决问题。但是,将其设置'force_encoded_color'
为 true 并没有解决我的问题。
我还发现这个答案对于创建 lmdb(特别是启用编码的说明)非常有帮助,但是,没有提到应该做什么,以便 caffe 知道图像已编码。
python - 是否可以在未存储在 LMDB 等数据源中的数据集上运行 caffe 模型?
我有 2 组图像补丁数据,即训练集和测试集。这两个都已写入 LMDB 文件。我正在使用 Caffe 对这些数据运行卷积神经网络。
问题是存储在硬盘上的数据占用了大量空间,这阻碍了我引入更多训练数据并故意添加噪声以使我的模型更健壮的努力。
有没有一种方法可以将图像补丁从我的程序直接发送到 CNN(在 Caffe 中)而不将它们存储在 LMDB 中?我目前正在使用 python 从训练数据集的图像中生成补丁。
image-processing - 每次我在数据集上运行 caffe 模型时,损失保持不变
当我的模型在图像数据集上运行时计算的初始损失在每次运行 caffe 时保持不变。这种行为是不是很奇怪,因为当我们每次运行模型时,初始损失应该不同(至少略有不同)。
如果我在损失层中给出 SoftmaxWithLoss 函数,则损失值在进一步的迭代中保持不变。此外,如果我在反卷积层中给出 lr_mult=0,则损失在迭代中显得恒定。如果我给 lr_mult=1,那么损失值会发生变化,但最终会在几千次迭代后达到初始损失值。
在这方面有什么想法吗?
在这方面,我们非常感谢任何帮助。
以下是我的求解器文件:
以下是我的卷积神经网络的架构。
python - 如何将 numpy 数组转换为 leveldb 或 lmdb 格式
我正在尝试将使用创建的 numpy 数组转换pylearn2
为leveldb/lmdb
,以便我可以在Caffe
. 这是我用来创建数据集
的脚本。运行这个脚本后,生成了几个文件,其中有test.pkl
,,,,
不知道有没有直接的转换成的方法,所以假设没有方法,我需要能够读取每个图像及其对应的标签,以便我可以将其保存到数据库中。有人告诉我,我需要使用 pickle 文件进行阅读,因为它提供了类似字典的结构。然而,试图做test.npy
train.pkl
train.npy
leveldb/lmdb
leveldb/lmdb
输出
<pylearn2.datasets.cifar10.CIFAR10 at 0xde605f8>
,我不知道访问pickle文件中项目的正确方法是什么,或者我是否需要直接从numpy数组中读取。
berkeley-db - lmdb 是否支持“recno”类型或类似工作?
我正在玩 lmdb(来自 BDB 背景)并想知道 lmdb 是否支持“recno”样式操作?“recno”(记录号)是一种逻辑索引方法,其中第20条记录可能被删除,新记录成为第20条记录,或者在7之后插入一条记录,之前称为8-n的以下记录变为9- n+1。
想法?
lmdb - 如何获取 lmdb 环境中的命名数据库列表?
如何获得属于 env 的命名数据库的列表?通过阅读一些 python 绑定文档(命名数据库实现),我了解到名称存储在主(未命名?)数据库中,但是在使用游标浏览时我没有看到它们。