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

使用TensorFlow的image_dataset_from_directory加载单类别图像数据集时未检测到任何图像

解决image_dataset_from_directory检测不到图像的问题

我来帮你排查下这个问题,你遇到的Found 0 files belonging to 1 classes错误,通常是目录结构、路径或者图像格式的问题,咱们一步步来解决:

  • 先检查目录结构是否符合要求
    当你设置labels=None时,image_dataset_from_directory会直接读取指定目录下的所有图像文件,不需要子文件夹分类。如果你的图像是放在D:\\UAV\\Train\\Input的子文件夹里(比如Input\\my_class),那它会找不到任何图像——因为它只看Input目录下直接的文件。
    正确的结构(对应labels=None)应该是:

    D:\UAV\Train\Input\
        img_001.jpg
        img_002.png
        ...
    

    如果你是按单类别子文件夹存放的(比如Input\\single_class\\*.jpg),那可以去掉labels=None,让它自动推断标签:

    train_dataset = image_dataset_from_directory(
     'D:\\UAV\\Train\\Input',
     class_names=None,  # 会自动识别子文件夹为类别
     labels='inferred',  # 默认值,可省略
     image_size=image_size,
     color_mode='rgb',
     seed = 42)
    
  • 确认图像格式被TensorFlow支持
    TensorFlow仅支持JPEG、PNG、BMP、静态GIF格式的图像,如果你的文件是TIFF、RAW或其他小众格式,会被忽略。检查下Input目录里的文件后缀,确保是这些支持的格式。

  • 检查路径是否正确
    你用的'D:\\UAV\\Train\\Input'转义是对的,但可以试试用原始字符串避免转义问题:r'D:\UAV\Train\Input'。同时打开文件资源管理器,确认这个路径确实存在,且里面有图像文件。

  • 排查图像尺寸和权限问题
    你设置的image_size=(3401, 3402)尺寸非常大,虽然这不会导致“找不到文件”的错误,但可以先临时改成小尺寸(比如(224,224))测试,排除加载时的异常。另外,确保你对Input目录有读取权限,目录里没有全是隐藏文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 22:57:41