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

Python中如何为(5032,48,48)数组生成(5032,)的全0图像掩码?

解决数组掩码问题

你的问题出在axis参数的选择上:

  • 原代码(dataset[:] == 0).all(axis=0)是沿着第一个维度(样本数量维度,即5032这个轴)做判断,相当于检查所有样本在同一个像素位置上是否全为0,所以结果形状不符合预期。

要生成形状为(5032,)的掩码,你需要针对每个样本的48x48图像维度做判断:

方法1:先判断全0再取反

# 先得到每个样本是否全为0的布尔数组(True=全0)
all_zero = (dataset == 0).all(axis=(1, 2))
# 取反得到目标掩码:True=至少有一个非零值,False=全0
mask = ~all_zero

方法2:直接判断是否存在非零值

# 直接检查每个样本是否有至少一个非零值,结果就是目标掩码
mask = (dataset != 0).any(axis=(1, 2))

两种方法效果完全一致,都能得到你需要的(5032,)形状的掩码数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:31:12