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

np.unique的return_counts=True计数异常,掩码含0、1、2仍无法保存如何解决?

问题修复方案

根因说明

np.unique的return_counts参数本身不存在计数错误,你遇到的现象是由以下原因导致的:

  • 你的判定逻辑统计的是所有非0标签的总占比,哪怕掩码中存在标签2,只要标签1+标签2的像素总占比≤1%,就会命中else分支输出nope,你日志中编号26的样本就属于这种情况
  • 额外注意:你当前代码中to_categorical的num_classes参数设为2,和实际存在3类标签(0、1、2)的场景不符,就算通过保存判定也会出现标签截断错误

修复步骤

  • 首先添加打印确认实际占比,验证计数是否符合预期,在val, counts = np.unique(temp_mask, return_counts=True)后添加如下代码:
print(f"标签值:{val},对应计数:{counts},非0总占比:{1 - (counts[0]/counts.sum()):.4%}")
  • 根据你的实际需求调整判定逻辑:
    • 若需求为只要存在非0标签就保存,将判定条件改为:
    if len(val) > 1:
    
    • 若需求为只要存在标签2就保存,将判定条件改为:
    if 2 in val:
    
    • 若只是阈值设置过高,将原判定中的0.01调整为更小的数值(比如0.001对应0.1%)即可
  • 修正分类数参数,将to_categorical行改为:
temp_mask= to_categorical(temp_mask, num_classes=3)
  • 额外检查:你代码中保存的temp_combined_images变量在贴出的代码片段中没有定义,需要确认该变量已正确赋值,避免保存的图像文件内容错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:54:04