【发布时间】:2019-05-22 23:07:19
【问题描述】:
我有两个数组(gt 和 pred),值范围从 0 到 4。
这两个数组的形状是(1, 1, 93, 349, 219)。我的目标是创建一个掩码以忽略并将其乘以 gt 和 pred 以忽略两个数组中的值。但是,我遇到了一个问题
ignore_value=4
if ignore_value is not None:
mask[gt!=ignore_value]=1 # ignore value mask
gt=mask*gt
pred=mask*pred # ignore value mask for pred
print "after removing ignore value: ", np.unique(gt),np.unique(pred)
output: after removing ignore value: [0 1 2 3] [0 1 2 3 4]
为什么不删除pred 中的忽略值?
【问题讨论】:
-
你是如何初始化
mask的? -
@coldspeed
mask=np.zeros(gt.shape, dtype=np.int32) -
其他,这段代码是在你将这些数组传递给的函数内部调用的吗?
-
@coldspeed yes、gt、pred 和 ignore_value 是传递给函数的输入参数
-
啊,好的。我知道了。您基于 gt 初始化了一个掩码,但 pred 可能不一定在与 gt 相同的单元格中有 4s。最重要的是,您需要两个单独的掩码。
标签: python arrays python-2.7 numpy