Python PIL Image “OSError: image file is truncated (41 bytes not processed)“问题解决

前言
由于,最近项目所需,要一个pytorch版本的模型,用在服务器上,在调试pytorch1.2训练yolov4训练自己的数据报错,后续也将一一上传这个yolov4的代码,并讲解一下怎么训练自己的数据,现在在优化代码,优化之后,将上传分享给大家!
问题
OSError: image file is truncated (41 bytes not processed)
解决方法
在主文件里设置:

from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True

原因分析
这个truncated image是因为图片太大导致的,去读ImageFile.py这个文件,会在文件顶部固定一个
MAXBLOCK = xxxxxx (一个还蛮大的数字)
也就是说你的图片压缩范围超过限制了,PIL处理不了,必须要把这个图片删除一部分,所以raise了这个error。
把这个ImageFile.LOAD_TRUNCATED_IMAGES设为true,那么就会导致你加载的图片少掉一部分,虽然在大数据中偶尔一两张被裁掉没什么大问题,但是还是应当注意,不要暴力用才好。

后言
其实在工业界,部署的话,我个人觉得用tensorflow比较广泛一点吧,但由于配合同事,没办法棘手上了pytorch,现学现用,不过pytorch上手还是挺快的。学术界搞研究,感觉pytoch还是比较广泛吧,哈哈。不过要是自己精力有余,我觉得tf和pytorch都会,未尝不是一件好事,哈哈,这里说的有点多了,都是一些题外话。

你可能感兴趣的:(深度学习,ObjectDetection)