在进行图片分类训练时报错,这是怎么回事?

img


在进行图片分类训练时报错,这是怎么回事?InvalidArgumentError: assertion failed: [Unable to decode bytes as JPEG, PNG, GIF, or BMP]

数据集中某个图像已损坏。使用此代码,看看它是否崩溃。它将在阅读之前打印文件名,将看到哪个图片已损坏。

import tensorflow as tf
import os

def validate_image(file_name):
    tf.py_function(tf.print, inp=[file_name], Tout=[])
    image = tf.io.read_file(file_name)
    image = tf.io.decode_image(image, channels=3)
    return image

os.chdir(r'path\to\images')

accepted_extensions = ('jpg', 'png', 'bmp', 'gif')

files = list(filter(lambda x: x.lower().endswith(accepted_extensions), os.listdir()))

ds = tf.data.Dataset.from_tensor_slices(files).map(validate_image)

for i in ds:
    pass