flow_from_dataframe,如何定位到错误数据并删除?
来源:6-9 Keras generator读取数据
Riddle2000
2020-05-19
老师你好,
我在使用这个的时候:
trainGen.flow_from_dataframe(train_df,
directory='./',
x_col='filepath',
y_col='class',
classes=classes,
target_size=(height, width),
batch_size=batch_size,
seed=3,
shuffle=True,
class_mode='sparse',)
出现了Warning:
keras_preprocessing/image/dataframe_iterator.py:273:
UserWarning:
Found 1 invalid image filename(s) in x_col="filepath".
These filename(s) will be ignored.
我想把这个文件名/路径打印出来,然后跑去删了,请问有什么办法吗?
或者是单独写一个方法定位出来这个文件,那这样的方法要怎么设计呢?
谢谢
写回答
1回答
-
flow_from_dataframe方法里应该无法实现这个需求。需要自己写一个方法,方法就是遍历所有文件,看那些是错误的数据。
文件夹的组织一般是“类别/文件”,我大概写一下代码,不保证能直接运行:
category_names = os.path.listdir(parent_dir) for category_name in category_namess: category_path = os.path.join(parent_dir, category_name) image_names = os.path.listdir(category_path) for image_name in image_names: image_path = os.path.join(category_path, image_name) if not os.path.exists(image_path): # rm file try: img = Image.open(image_path) exception: # rm file ...
122020-05-26
相似问题