将布尔掩码应用于张量。
用法
tf.boolean_mask(
tensor, mask, axis=None, name='boolean_mask'
)参数
-
tensorN-D 张量。 -
maskK-D 布尔张量,K <= N 和 K 必须是静态已知的。 -
axis一个 0-D int 张量,表示tensor中要屏蔽的轴。默认情况下,axis 为 0,这将屏蔽第一个维度。否则 K + 轴 -
name此操作的名称(可选)。
返回
-
(N-K+1) 维张量由
tensor中的条目填充,对应于mask中的True值。
抛出
-
ValueError如果形状不符合。
Numpy 等价物是 tensor[mask] 。
通常,0 < dim(mask) = K <= dim(tensor) 和 mask 的形状必须与 tensor 的形状的前 K 个维度匹配。然后我们有: boolean_mask(tensor, mask)[i, j1,...,jd] = tensor[i1,...,iK,j1,...,jd] 其中 (i1,...,iK) 是 mask 的第 i 个 True 条目(行主要顺序)。 axis 可以与 mask 一起使用来指示要屏蔽的轴。在这种情况下,axis + dim(mask) <= dim(tensor) 和 mask 的形状必须与 tensor 的形状的第一个 axis + dim(mask) 尺寸相匹配。
另请参阅:tf.ragged.boolean_mask,它可以应用于密集和参差不齐的张量,如果您需要保留 tensor 的掩码尺寸(而不是像 tf.boolean_mask 那样将它们展平),可以使用它。
例子:
tensor = [0, 1, 2, 3] # 1-D example
mask = np.array([True, False, True, False])
tf.boolean_mask(tensor, mask)
<tf.Tensor:shape=(2,), dtype=int32, numpy=array([0, 2], dtype=int32)>
tensor = [[1, 2], [3, 4], [5, 6]] # 2-D example
mask = np.array([True, False, True])
tf.boolean_mask(tensor, mask)
<tf.Tensor:shape=(2, 2), dtype=int32, numpy=
array([[1, 2],
[5, 6]], dtype=int32)>
例子:
# 2-D example
tensor = [[1, 2], [3, 4], [5, 6]]
mask = np.array([True, False, True])
boolean_mask(tensor, mask) # [[1, 2], [5, 6]]
相关用法
- Python tf.bitcast用法及代码示例
- Python tf.broadcast_to用法及代码示例
- Python tf.bitwise.bitwise_or用法及代码示例
- Python tf.batch_to_space用法及代码示例
- Python tf.broadcast_static_shape用法及代码示例
- Python tf.broadcast_dynamic_shape用法及代码示例
- Python tf.bitwise.bitwise_and用法及代码示例
- Python tf.bitwise.bitwise_xor用法及代码示例
- Python tf.bitwise.invert用法及代码示例
- Python tf.bitwise.right_shift用法及代码示例
- Python tf.bitwise.left_shift用法及代码示例
- Python tf.compat.v1.distributions.Multinomial.stddev用法及代码示例
- Python tf.compat.v1.distribute.MirroredStrategy.experimental_distribute_dataset用法及代码示例
- Python tf.compat.v1.data.TFRecordDataset.interleave用法及代码示例
- Python tf.summary.scalar用法及代码示例
- Python tf.linalg.LinearOperatorFullMatrix.matvec用法及代码示例
- Python tf.linalg.LinearOperatorToeplitz.solve用法及代码示例
- Python tf.raw_ops.TPUReplicatedInput用法及代码示例
- Python tf.raw_ops.Bitcast用法及代码示例
- Python tf.compat.v1.distributions.Bernoulli.cross_entropy用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.boolean_mask。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
