我正在尝试使用caffe构建一个用于显着性分析的深度学习模型(我正在使用python包装器)。但我无法理解如何生成用于此目的的lmdb数据结构。我已经看过Imagenet和mnist示例,我知道我应该生成以下格式的标签
my_test_dir/picture-foo.jpg 0但在我的例子中,我将用0或1标记每个像素,表示该像素是否显着。这将不是一个单独的图像标签。
如何为基于像素的标签生成lmdb文件?
发布于 2015-11-10 19:29:54
你可以通过两种方式来解决这个问题:
1.使用HDF5数据层而不是LMDB的。HDF5更加灵活,可以支持图像大小的标签。有关构造和使用HDF5输入数据层的示例,请参阅this answer。
LMDB 2.lmdb您可以有两个输入层:一个用于图像,另一个用于标签。请注意,在构建LMDB时,必须使用 'shuffle'选项才能使映像及其标签同步。
更新:我最近给了一个更详细的答案here。
发布于 2015-12-02 16:47:21
检查这个:http://deepdish.io/2015/04/28/creating-lmdb-in-python/
只需在X中加载所有图像,并在Y中加载相应的标签。
发布于 2016-09-01 20:50:10
在caffe中,lmdb和hdf5都支持每个图像多个标签,如果你喜欢矩阵,请参阅此线程:
https://github.com/BVLC/caffe/issues/1698#issue-53768814
请参阅本教程,了解如何使用python代码为caffe创建多标签数据集(此处为lmdb):
http://www.kostyaev.me/article/Multilabel%20Dataset/
编辑:例如,对于标签,它使用caffe-python函数将三维数组转换为基准,可在caffe/python/caffe.io.py: array_to_datum(arr,label=None)中找到:
https://stackoverflow.com/questions/33627888
复制相似问题