问题描述
报错出现在dataset类的建立过程中,根据报错描述可知,是由于短时间内打开过多文件所致。报错位置定位如下位置:
for file_name in data_list:
img_path = os.path.join(label_path, img_name)
img = Image.open(img_path)
data.append(img)
可以判断,由于采用Image.open
的方法收集data
,在迭代过程中不断打开图片,使得最终图片打开数量超过线程数,因而产生报错。而由于图片数量过多,采用文档中所采用的调整线程数的方法无法根本解决该问题。
解决方案
在每次Image.open
后采用image.close
关闭,从而避免图片打开数量过多。