没有放在一个文件夹中的图像如何在caffe中使用convert_imageset?

How to use convert_imageset in caffe for images which are not put in one folder?

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

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

  1. 不要将文件复制到单个文件夹,只需创建 symbolic links.

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

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

等等...

@Shai 建议的第二个解决方案

如果在 / 中使用根文件夹参数并且 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