You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用torchvision加载图像时is_valid_file参数类型错误的解决方法

修复ImageFolder中is_valid_file参数的类型错误

is_valid_file参数要求传入函数(而非布尔值),该函数需接收单个字符串参数(文件路径),返回布尔值判断文件是否有效。你直接传True导致类型不匹配,触发报错。

解决方案1:自定义图像完整性验证函数

针对图像损坏的场景,编写函数尝试加载并验证图像,捕获异常跳过损坏文件:

from PIL import Image

def is_valid_image(file_path):
    try:
        with Image.open(file_path) as img:
            img.verify()  # 校验图像完整性
        return True
    except (IOError, SyntaxError):
        print(f"跳过损坏图像: {file_path}")
        return False

# 调用时传入该函数
train_dataset = torchvision.datasets.ImageFolder(root="SmallSet/Train", is_valid_file=is_valid_image)

解决方案2:简单过滤文件后缀(可选)

若只需过滤特定格式文件,可使用后缀判断函数:

def is_valid_file(file_path):
    valid_extensions = ('.jpg', '.jpeg', '.png', '.bmp')
    return file_path.lower().endswith(valid_extensions)

train_dataset = torchvision.datasets.ImageFolder(root="SmallSet/Train", is_valid_file=is_valid_file)

内容的提问来源于stack exchange,提问作者Josef Sigron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 20:10:59