问题描述
当前,样品重量在ImageDataGenerator.flow()中可用,但在ImageDataGenerator.flow_from_directory()中不可用。
我想知道是否有人找到一种解决方法,可以将其与flow_from_directory一起使用?
我有46个班级的数十万张图像。图像来自两个不同的来源。我对标签的信任度为100%,而我对标签的信任度为低。
我正在寻找一种方法来告诉模型,以减少对我缺乏信心的来源的关注。我认为,减少来自来源的样本的重量会是一个好的开始。但是我不知道如何在flow_from_directory中设置sample_weight。
谢谢。
解决方法
您可以使用keras提供的另一种方法,名为 flow_from_dataframe 的ImageDataGenerator,它允许您在数据框中定义数据源并添加一些元数据,例如每个文件的权重感谢 weight_col 关键字参数。
这是初始化函数:
flow_from_dataframe(
dataframe,directory=None,x_col='filename',y_col='class',weight_col=None,target_size=(256,256),color_mode='rgb',classes=None,class_mode='categorical',batch_size=32,shuffle=True,seed=None,save_to_dir=None,save_prefix='',save_format='png',subset=None,interpolation='nearest',validate_filenames=True,**kwargs
)