Neural network 如何在caffe中使用convert_imageset来处理未放在一个文件夹中的图像?

Neural network 如何在caffe中使用convert_imageset来处理未放在一个文件夹中的图像?,neural-network,deep-learning,caffe,conv-neural-network,Neural Network,Deep Learning,Caffe,Conv Neural Network,我正在尝试使用Caffe框架在我自己的数据集上训练CNN,由于速度效率的原因,强烈建议将数据集转换为lmdb或leveldb格式。为此,必须将所有图像放入一个文件夹,并相应地准备'list.txt'。我自己的数据集是如此巨大,包含了如此多的文件夹和子文件夹,因此将所有数据集复制到一个文件夹中是非常困难的。因此,我想知道是否存在任何替代方法来生成lmdb文件,而无需将所有图像复制到单个文件夹中。您的问题有(至少)两种解决方案 不要将文件复制到单个文件夹,只需创建 所有图像不必位于同一文件夹中。您可

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

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

  • 不要将文件复制到单个文件夹,只需创建

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

  • /path/to/image.jpg 0
    /另一个/path/class01.jpg 1
    /但是/other/path/class0.jpg 0


    等等…

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

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

    list.txt
    中的图像路径应包含到
    /
    的相对路径,以便正确操作
    convert\u 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
    

    谢谢你的帮助。因此,另一个问题是,如果我们将full dir放在list.txt中,我们应该将什么作为“/path/to/jpegs/”参数传递到convert_imageset工具中。请参阅以下链接@user3062492尝试传递根文件夹
    /
    ,当然,我会检查它。Thanks@Shai,如果在调用
    convert\u imageset
    时将根foder参数与“/”一起使用,并且
    list.txt
    文件包含图像的绝对路径,则
    convert\u imageset
    中使用的结果路径将是
    //path/to/image.jpg 0
    。这在linux中是不正确的路径。
    list.txt
    中图像的路径应该是相对于
    /
    的路径,以便正确操作
    convert\u imageset