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

Keras语义分割数据增强时ImageDataGenerator读取掩码失败求助

排查步骤

你遇到的掩码读取数量为0的问题基本都是路径或目录结构不符合flow_from_directory的规则导致的,按以下顺序排查即可:

  • 检查classes参数的传值:flow_from_directory的classes接收的是directory根目录下的子文件夹名称,不是完整路径。比如你directory传的是./dataset,掩码存在./dataset/train_mask下,那classes要传['train_mask'],不能传完整路径['./dataset/train_mask']。可以打印os.path.join(home_path, train_mask_path),确认拼接出来的路径真实存在,且里面直接存放了所有掩码文件。
  • 检查目录结构:flow_from_directory要求类别文件夹下直接放图片,不能嵌套子文件夹。如果你的掩码都放在train_mask下的次级文件夹里,会被识别为0张。
  • 检查文件格式:ImageDataGenerator默认只识别jpg、jpeg、png、bmp、ppm、tif、tiff格式的文件,如果你用了.npy、.webp等特殊格式,或者Linux环境下后缀是大写的PNG,也会被过滤。

其他优化点

语义分割的掩码一般是单通道标注图,不需要把color_mode设为rgba,改成grayscale即可,避免后续通道数不符合训练要求。你已经给图像和掩码生成器设置了相同的seed,后续用zip拼接两个生成器就能得到同步增强的配对数据,这部分逻辑没问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:48:02