在keras中为生成器打印无效文件名的方法

在keras中为生成器打印无效文件名的方法,keras,Keras,我有一个大数据框,我把它传递给 generator.flow_from_dataframe(df,...) 但当我运行它时,我 UserWarning: Found 52 invalid image filename(s) in x_col="image". These filename(s) will be ignored. .format(n_invalid, x_col) 有一种方法可以打印这些无效的图像文件名或理解df中的索引?我有一个类似的错误,在flow\u from\u d

我有一个大数据框,我把它传递给

generator.flow_from_dataframe(df,...)
但当我运行它时,我

UserWarning: Found 52 invalid image filename(s) in x_col="image". These filename(s) will be ignored.
  .format(n_invalid, x_col)

有一种方法可以打印这些无效的图像文件名或理解df中的索引?

我有一个类似的错误,在
flow\u from\u dataframe
方法中使用标志
validate\u filenames=False
绕过了它

目前,AFAIK无法在Keras中列出数据帧中未映射到映像目录的文件名


您可以编写python方法来列出差异,或者必须有第三方库来执行相同的操作

可以通过指定数据帧中图像的绝对路径来解决此问题。 假设:

  • 数据帧df包含两列-图像(X)和类(Y)
  • 图像存储在列车目录中
  • 有关更多信息的有用资源:

    # Specifying absolute path for images in the data frame
    
    abs_file_names = []
    
    for file_name in df['Image']:
        tmp = os.path.abspath(train_dir+os.sep+file_name)
        abs_file_names.append(tmp)
    
    # update dataframe
    df['Image'] = abs_file_names
    
    datagen = ImageDataGenerator(rescale=1./255.,validation_split=0.25)
    
    a = datagen.flow_from_dataframe(
        dataframe = df,
        train_dir=None,
        x_col="Image",
        y_col="Class",
        weight_col=None,
        target_size=(150, 150),
        color_mode="rgb",
        classes=None,
        class_mode="categorical",
        batch_size=32,
        shuffle=True,
        seed=None,
        save_to_dir=None,
        save_prefix="",
        save_format=None,
        subset=None,
        interpolation="nearest",
        validate_filenames=True,
    )