2

我正在尝试使用 Caffe 框架在我自己的数据集上训练 CNN,由于速度效率,强烈建议将数据集转换为 lmdb 或 leveldb 格式。为此,必须将所有图像放入一个文件夹中,并且'list.txt'必须进行相应的准备。我自己的数据集非常庞大,并且在如此多的文件夹和子文件夹中,因此将它们全部复制到一个文件夹中会非常费力。因此,我想知道是否存在任何替代方法来生成 lmdb 文件,而无需将所有图像复制到单个文件夹中。

4

2 回答 2

1

您的问题有(至少)两种解决方案。

  1. 不要将文件复制到单个文件夹,只需创建符号链接

  2. 所有图像不必位于同一个文件夹中。您可以在'list.txt'文件中包含完整路径。例如:

/path/to/image.jpg 0
/another/path/class01.jpg 1
/yet/another/path/class0.jpg 0

等等...

于 2015-08-30T05:14:53.450 回答
1

对于@Shai 建议的第二种解决方案

如果您在调用时使用 root foder 参数/并且list.txt文件包含图像的绝对路径convert_imageset,则使用的结果路径convert_imageset将以双斜杠(例如//path/to/image.jpg)开头。linux中对应图像文件的路径不正确。

图像的路径list.txt应包含/正确操作的相对路径,convert_imageset如下所示:

path/to/image.jpg 0
another/path/class01.jpg 1
yet/another/path/class0.jpg 0

代替

/path/to/image.jpg 0
/another/path/class01.jpg 1
/yet/another/path/class0.jpg 0
于 2020-09-13T07:40:37.563 回答