我想知道是否可以修改flow_from_directory
函数,以便为我的类名
提供我想要的名称。
例如,我有名为101, 102
的文件夹,使用flow_from_directory
后,我的y
/类名
会是101
和102
,但我需要在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
中将列表分配给单个类名,你会得到一个错误
对于多标签分类,创建一个包含文件名和标签作为列的pandas数据框,像这个例子一样,并使用flow_from_dataframe
代替
然后使用图像目录作为训练目录创建你的训练生成器
train_gen = ImageDataGenerator().flow_from_dataframe( df, directory=train_dir, x_col='filename', y_col='labels', class_mode='categorical')