我有一个传递给
的大数据框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中的索引?
答案 0 :(得分:1)
我有一个类似的错误,通过在validate_filenames=False
方法中使用标志flow_from_dataframe
绕过了它
当前,AFAIK无法在Keras中从数据框列出未映射到图像目录的文件名
您可以编写python方法来列出差异,否则必须有一个第三方库执行相同的操作
答案 1 :(得分:1)
可以通过指定数据帧内图像的绝对路径来解决此问题。 假设:
# 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,
)
有关更多信息的有用资源: