在使用keras的ImageDataGenerator时经常会出现图片读取错误的问题,对于这种已经封装后的库文件,报错了,训练时就终止了:
现在由两种方法解决该问题:
1.自己检查图片,并删除这些图片
#遍历图片
try:
img = Image.open(imgpath)
img = img.convert('RGB')
except OSError:
os.remove(imgpath)
2.一个很滑稽的方法改库文件
ImageDataGenerator读取文件的函数是PIL库里的Image函数,可以在xx/python3.x/sitepackages/PIL/ImageFile.py文件中,将LOAD_TRUNCATED_IMAGES=False中的False改为Ture,亲测改了之后不会报错,为什么要这样做呢?在参加比赛时,用keras的predicet_generator预测的图片中有部分图片Image函数无法读取,没办法,图片又不能删除,只能改这个库文件了