win电脑TensorFlow训练时,遇到Invalid argument: Expected image (JPEG, PNG, or GIF), got unknown format的解决办法

解决办法


我在生成tfrecord文件后,训练网络时遇到
Invalid argument: Expected image (JPEG, PNG, or GIF), got unknown format starting with ‘BM\356\243,\000\000\000\000\0006\000\000\000(\000’
从错误信息中可以看出,是由于图片文件夹中存在非图片文件,根据后面的信息可知我的是bm文件,这个不一定相同,根据自己的情况而来。

接着我们可以通过编写程序遍历所有文件找到:

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

注:
其中的image_path为图片存放的文件夹;
imageFile.read().startswith(b’xxxx’):其中的xxx为报错信息中的格式。

最后会打印出相应的文件名,删除即可,再重新生成tfrecord文件后训练。

参考自:参考网址

你可能感兴趣的:(python)