【问题标题】:How to retrieve the filename of an image with keras flow_from_directory shuffled method?如何使用 keras flow_from_directory shuffled 方法检索图像的文件名?
【发布时间】:2017-06-26 09:49:03
【问题描述】:

如果我不打乱我的文件,我可以使用generator.filenames 获取文件名。但是当生成器打乱图像时,文件名没有打乱,所以我不知道如何取回文件名。

【问题讨论】:

  • 无论是否使用 shuffle 都能以与生成器相同的顺序获取文件名将非常有用。训练后,我喜欢通过查看存在误报、真阳性等的图像来尝试了解我的模型“看到”了什么。为此使用训练生成器中的文件名会更简单、更便宜,但是现在我能想到的唯一方法是创建一个单独的“评估”生成器,它有 shuffle=False。

标签: python machine-learning neural-network generator keras


【解决方案1】:

我认为这里唯一的选择是不打乱文件。我自己一直在想这个,这是我在文档中唯一能找到的。看起来很奇怪而且不正确...

【讨论】:

    【解决方案2】:

    在内部,DirectoryIterator 将遍历 index_arrray,当您要求它时,它会被打乱。

    您只需要使用批处理的当前索引来索引文件名数组:

    it = ImageDataGenerator().flow_from_directory(shuffle=True,...)
    for img in it:
        idx = (it.batch_index - 1) * it.batch_size
        fnames = [it.filenames[it.index_array[i]] for i in range(idx, idx + it.batch_size)]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-05
      • 1970-01-01
      • 2017-10-04
      • 1970-01-01
      • 2021-09-30
      • 2014-05-25
      • 1970-01-01
      • 2018-06-30
      相关资源
      最近更新 更多