参数无效:预期图像(JPEG、PNG 或 GIF)的格式未知,以 'RIFF320250000WEBPVP8 ' 开头



我使用tensorflow2.0来训练一些照片。起初,我使用其他人收集的口袋妖怪数据(近 1000 张照片(。我成功地制作了这个模型。

然后我想用我自己的照片。数量很小,只有20张照片。我运行代码(看起来很成功(:

[https://i.stack.imgur.com/cq204.png]

但是收到然后错误

:Invalid argument:   Expected image (JPEG, PNG, or GIF), got unknown format starting with 'RIFF320250000WEBPVP8 '

[https://i.stack.imgur.com/msjiz.png]

我想这是我的照片错误。是数量太小吗?还是照片的类型有误?

我检查了一下,都是JPG或PNG

实际上,数据集中某个文件的文件类型不是指定的JPEG,PNG或GIF格式。尽管任何人都很容易误认为文件的扩展名是这些格式之一,但文件的实际内容不是适当的格式。

这就是我所做的,

我不知道我的数据目录中的哪个文件是RIFF格式(就像您的情况一样(,所以我决定打印文件的二进制内容并手动检查它。[这是蛮力的方式,这就是当时打动我的地方!

我写了这个片段来帮助我做到这一点

import os
for i, filename in enumerate(os.listdir('./')):
with open(filename, 'rb') as imageFile:
if imageFile.read().startswith(b'RIFF'):
print(f"{i}: {filename} - found!")

我在所有类文件夹上运行此代码片段,发现这些文件夹中确实有一个文件具有 RIFF 格式,我也得到了文件格式不正确的文件的名称,然后只是从目录中删除了该文件。这解决了我的问题。

最新更新