tf.boolean_mask(
tensor,
mask,
axis=None,
name='boolean_mask'
)
Numpy等价是张量[掩模]。
# 1-D example
tensor = [0, 1, 2, 3]
mask = np.array([True, False, True, False])
boolean_mask(tensor, mask) # [0, 2]
一般情况下,0 < dim(mask) = K <= dim(张量),而mask的形状必须与张量形状的第一个K维匹配。然后我们有:boolean_mask(张量,掩码)[i, j1,…,jd] =张量(i1,…,反向,j - 1,…其中(i1,…,iK)是mask (row-major order)的第i个真实条目。轴可以与遮罩一起使用,以指示要遮罩的轴。在这种情况下,轴+ dim(掩模)<= dim(张量)和掩模形状必须匹配张量形状的第一个轴+ dim(掩模)维数。还请参见:tf.ragged.boolean_mask,它可以应用于稠密张量和不规则张量,如果需要保留张量的掩码维(而不是像tf.boolean_mask那样将它们压扁),可以使用它。
参数:
tensor
:一天张量。mask
:K- d布尔张量,K <= N, K必须静态已知。axis
:一个0-D int张量,表示要掩模的张量中的轴。默认情况下,axis为0,它将屏蔽第一个维度。否则K +轴<= N。返回值:
可能产生的异常:
ValueError
: If shapes do not conform.例:
# 2-D example
tensor = [[1, 2], [3, 4], [5, 6]]
mask = np.array([True, False, True])
boolean_mask(tensor, mask) # [[1, 2], [5, 6]]