ImageDataGenerator keras-save_to_dir

问题描述

保存到目录后,我找不到如何识别类。它将使用随机数保存图像名称。

例如“ _1_1234.png”

ImageDataGenerator.flow(
    x,y,batch_size=32,shuffle=True,sample_weight=None,seed=None,save_to_dir= "path_to_dir",save_prefix="",save_format="png",subset=None,)

解决方法

您可以尝试在save_prefix中添加一些密钥。然后它将使用它来拾取图像名称。

,

在这里做了一些实验之后,下面的代码将提供原始文件名和相关标签。标签是与类相对应的整数类索引。即filenames [0]具有标签label [0]等。class_indices属性是一个字典,其中包含从类名到类索引的映射。例如,如果您有2类猫和狗,则字典将为{'cats':0,'dogs':1}。现在事实证明,如果使用shuffle = False运行image_data_generator,生成器将使用随机文件名保存扩展文件,但是第二个下划线之前的前几位似乎是文件处理的顺序。因此,_0_random编号是第一个处理的文件。因此,在下面的代码中,其关联的标签将是labels [0]等。因此,您可以确定保存的图像属于该类的类别。现在,您可能需要使用shuffle = True进行训练。现在,生成器会重新排列图像,但是第二个下划线之前的数字仍然代表原始图像顺序。因此,如果将其标记为_10_random号,则此图像标签将标记为label [10]。

data_gen=ImageDataGenerator.flow(
    x,y,batch_size=32,shuffle=True,sample_weight=None,seed=None,save_to_dir= "path_to_dir",save_prefix="",save_format="png",subset=None,file_names= data_gen.filenames
labels= data_gen.labels
label_dict=data_gen.class_indices

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...