Keras - OSError:无法识别图像文件

时间:2018-05-08 19:09:49

标签: python neural-network keras conv-neural-network

我正在尝试使用Keras训练CNN,并且在运行model.fit_generator代码行时,我收到以下错误:

OSError: cannot identify image file      
'D:\\PDF\\Train\\notfactors\\notfactors59.jpg

奇怪的是,文件夹中不存在.jpg。以下是我的所有代码。

我正在使用以下github地址中完全相同的代码(不同的数据):

https://github.com/deeplizard/Keras_Jupyter_Notebooks/blob/master/CNN.ipynb

这个问题在这里被讨论: OSError: cannot identify image file 'dataSet/.DS_Store'

但对于这个问题,图像确实存在。我迷路了。有没有人有想法?

2 个答案:

答案 0 :(得分:2)

我不确定确切的原因,但似乎某些数据已损坏或损坏,这可能是在将图像上的扩展名更改为例如png到jpg时发生的。我遇到了同样的错误,并解决了删除这些图像的问题(必须删除12/1802张图像)。

答案 1 :(得分:1)

model.fit_generator函数调用在jupyter笔记本中看起来像这样:

model.fit_generator(train_batches, steps_per_epoch=4, 
                    validation_data=valid_batches, validation_steps=4, epochs=5, verbose=2)

您将train_batches变量作为参数传递。那是什么样的?

train_batches = ImageDataGenerator().flow_from_directory(train_path, target_size=(224,224), classes=['dog', 'cat'], batch_size=10)

该分配正在查看图片的train_path位置。

train_path = 'cats-and-dogs/train'这是一个相对路径。您的错误消息表明它无法在链接中提供的笔记本中任何位置未定义的位置'D:\\PDF\\Train\\notfactors\\notfactors59.jpg找到图像。

您可以更新您的问题并提供您正在使用的笔记本电话的值吗?您似乎没有使用笔记本中的确切代码。这将有助于进一步解决这个问题。