Kaggle 数据集dogs-vs-cats的错误
如果你想用kaggle数据集dogs-vs-cats做深度学习数据,可能会遇到数据bug,大概类似于下面的错误:
UnidentifiedImageError: cannot identify image file
其原因不是你的程序有问题,而是数据集本身还有bug:
- cats/666.jpg
- dogs/11702.jpg
预览一下这两个数据,大概率无法显示。删掉这两个数据可能你的模型就可以跑起来了。
你也可以用下面这段代码去检测你问价夹下的所有图像数据:
import os
from PIL import Image
folder_path = 'data\img'
extensions = []
for fldr in os.listdir(folder_path):sub_folder_path = os.path.join(folder_path, fldr)for filee in os.listdir(sub_folder_path):file_path = os.path.join(sub_folder_path, filee)print('** Path: {} **'.format(file_path), end="\r", flush=True)im = Image.open(file_path)rgb_im = im.convert('RGB')if filee.split('.')[1] not in extensions:extensions.append(filee.split('.')[1])
如果遇到错误图像,则会暂停运行并显示错误的文件名