修改 Keras ImageDataGenerator 的类名部分和 flow_from_directory

modify the classname part of Keras ImageDataGenerator and flow_from_directory

我想知道是否可以更改 flow_from_directory 函数以提供我想要的 class names

例如,我有名称为 101, 102flow_from_directory 的文件夹,我将 y/class names 作为 101102,但我需要 y 中的 [1,0,1][0,1,0] 用于 多标签分类

flow_from_directory.

中的类似内容
if folder_name == 101:
    y=[1,0,1]
if folder_name == 102:
    y=[0,1,0]

提前致谢。

如果您尝试将列表分配给 flow_from_directory 中的单个 class 名称,您将收到错误消息

对于多标签 classification ,创建一个 pandas Dataframe,将文件名和标签作为列,如本例所示,并使用 flow_from_dataframe 代替

然后使用 train 目录作为图像目录创建你的 train 生成器

train_gen = ImageDataGenerator().flow_from_dataframe(
    df,
    directory=train_dir,
    x_col='filename',
    y_col='labels',
    class_mode='categorical'
)