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