我使用 flow_from_dataframe 函数来扩充我的数据集。
但是当,
train= data_gen.flow_from_dataframe(dataframe=train_df,
directory=None,
x_col='image_name',
y_col='label',
class_mode="raw",
target_size=(img_width, img_height),
batch_size=2048)
for i in train:
break
我迭代输出以保存我发现 IOError 的图像。
for i in train:
File "C:\Users\m.seifikar\PycharmProjects\firmfile\venv\lib\site-packages\keras_preprocessing\image\iterator.py", line 104, in __next__
return self.next(*args, **kwargs)
File "C:\Users\m.seifikar\PycharmProjects\firmfile\venv\lib\site-packages\keras_preprocessing\image\iterator.py", line 116, in next
return self._get_batches_of_transformed_samples(index_array)
File "C:\Users\m.seifikar\PycharmProjects\firmfile\venv\lib\site-packages\keras_preprocessing\image\iterator.py", line 230, in _get_batches_of_transformed_samples
interpolation=self.interpolation)
File "C:\Users\m.seifikar\PycharmProjects\firmfile\venv\lib\site-packages\keras_preprocessing\image\utils.py", line 119, in load_img
img = img.convert('RGB')
File "C:\Users\m.seifikar\PycharmProjects\firmfile\venv\lib\site-packages\PIL\Image.py", line 912, in convert
self.load()
File "C:\Users\m.seifikar\PycharmProjects\firmfile\venv\lib\site-packages\PIL\TiffImagePlugin.py", line 1077, in load
return self._load_libtiff()
File "C:\Users\m.seifikar\PycharmProjects\firmfile\venv\lib\site-packages\PIL\TiffImagePlugin.py", line 1168, in _load_libtiff
raise IOError(err)
OSError: -9
最佳答案
终于解决了这个问题。当我们使用flow_from_dataframe时,我们应该指定颜色模式(默认为RGB)。如果我们的图像处于灰色模式并且我们使用默认设置,则会出现此错误。
关于python - 如何修复 _load_libtiff 函数中的 IOError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57672642/