Apply boolean mask to tensor.
tf.compat.v1.boolean_mask(
    tensor, mask, name='boolean_mask', axis=None
)
  Numpy equivalent is tensor[mask].
In general, 0 < dim(mask) = K <= dim(tensor), and mask's shape must match the first K dimensions of tensor's shape. We then have: boolean_mask(tensor, mask)[i, j1,...,jd] = tensor[i1,...,iK,j1,...,jd] where (i1,...,iK) is the ith True entry of mask (row-major order). The axis could be used with mask to indicate the axis to mask from. In that case, axis + dim(mask) <= dim(tensor) and mask's shape must match the first axis + dim(mask) dimensions of tensor's shape.
See also: tf.ragged.boolean_mask, which can be applied to both dense and ragged tensors, and can be used if you need to preserve the masked dimensions of tensor (rather than flattening them, as tf.boolean_mask does).
# 1-D example tensor = [0, 1, 2, 3] mask = np.array([True, False, True, False]) tf.boolean_mask(tensor, mask) # [0, 2] # 2-D example tensor = [[1, 2], [3, 4], [5, 6]] mask = np.array([True, False, True]) tf.boolean_mask(tensor, mask) # [[1, 2], [5, 6]]
| Args | |
|---|---|
| tensor | N-D Tensor. | 
| mask | K-D boolean Tensor, K <= N and K must be known statically. | 
| name | A name for this operation (optional). | 
| axis | A 0-D int Tensor representing the axis in tensorto mask from. By default, axis is 0 which will mask from the first dimension. Otherwise K + axis <= N. | 
| Returns | |
|---|---|
| (N-K+1)-dimensional tensor populated by entries in tensorcorresponding toTruevalues inmask. | 
| Raises | |
|---|---|
| ValueError | If shapes do not conform. | 
    © 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
    https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/compat/v1/boolean_mask