在加载训练图像数据,准备训练模型的时候,报错如下:
OSError: image file is truncated (71 bytes not processed)
搜索查了一下,有两种原因,一种说是图像太大,另一种说是图像不完整。找到的解决方式为如下:
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
这么设置,确实可以了,但是对于训练集中有多少有问题的图像,不清楚,而且这些图像如果比例太大,对训练效果会不会产生影响也不清楚。
所以还是想先确认一下,到底这种类型的图像有多少.
报错位置信息如下:
for i, (images, target) in enumerate(train_loader):
具体内部错误如下:
File "/opt/anaconda3/envs/yolov5/lib/python3.6/site-packages/PIL/ImageFile.py", line 260, in load
"image file is truncated "
OSError: image file is truncated (34 bytes not processed)
所以写了一个测试脚本,就是对训练路径下面的所有图像都用pillow中的Image读取一下,看看哪个图像报错,结果遍历完图像发现一个报错的也没有,这个地方有些疑问。在网上查的时候,看到有人使用keras.preprocessing.image.load_img()找到了出问题的图像,所以打算试一下,结果安装虚拟环境下载需要好久,就先让它下载着,在另外一个环境中使用OpenCV进行读取测试一下,在imread的过程中,出现了几条Premature end of JPEG file提示,总共有三张图像,还好不多,看

最低0.47元/天 解锁文章
1347

被折叠的 条评论
为什么被折叠?



