无效参数:预期的图像(JPEG,PNG或GIF),格式从'RIFF \ 320 \ 025 \ 000 \ 000WEBPVP8'开始

问题描述 投票:0回答:1

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

然后,我想使用自己的照片。数量不多,只有20张照片。我运行代码(似乎成功):

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

但是先收到错误然后返回

:Invalid argument:   Expected image (JPEG, PNG, or GIF), got unknown format starting with 'RIFF\320\025\000\000WEBPVP8 '

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

我想这是我照片的错误。 金额是否太小?或照片类型错误?

我检查并全部为JPG或PNG

python tensorflow photo tensorflow2.0
1个回答
1
投票

实际上,数据集中一个文件的文件类型不是指定的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格式,我也得到了文件名,该文件的格式也不正确,然后从目录。这解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.