tf.ragged.boolean_mask | TensorFlow v2.16.1 (original) (raw)
Applies a boolean mask to data
without flattening the mask dimensions.
View aliases
Compat aliases for migration
SeeMigration guide for more details.
tf.compat.v1.ragged.boolean_mask
tf.ragged.boolean_mask(
data, mask, name=None
)
Used in the notebooks
Used in the guide |
---|
Subword tokenizers |
Returns a potentially ragged tensor that is formed by retaining the elements in data
where the corresponding value in mask
is True
.
output[a1...aA, i, b1...bB] = data[a1...aA, j, b1...bB]
Wherej
is thei
thTrue
entry ofmask[a1...aA]
.
Note that output
preserves the mask dimensions a1...aA
; this differs from tf.boolean_mask, which flattens those dimensions.
Args | |
---|---|
data | A potentially ragged tensor. |
mask | A potentially ragged boolean tensor. mask's shape must be a prefix of data's shape. rank(mask) must be known statically. |
name | A name prefix for the returned tensor (optional). |
Returns |
---|
A potentially ragged tensor that is formed by retaining the elements indata where the corresponding value in mask is True. rank(output) = rank(data). output.ragged_rank = max(data.ragged_rank, rank(mask) - 1). |
Raises | |
---|---|
ValueError | if rank(mask) is not known statically; or if mask.shape is not a prefix of data.shape. |
Examples:
# Aliases for True & False so data and mask line up.
T, F = (True, False)
tf.ragged.boolean_mask( # Mask a 2D Tensor.
data=[[1, 2, 3], [4, 5, 6], [7, 8, 9]],
mask=[[T, F, T], [F, F, F], [T, F, F]]).to_list()
[[1, 3], [], [7]]
tf.ragged.boolean_mask( # Mask a 2D RaggedTensor.
tf.ragged.constant([[1, 2, 3], [4], [5, 6]]),
tf.ragged.constant([[F, F, T], [F], [T, T]])).to_list()
[[3], [], [5, 6]]
tf.ragged.boolean_mask( # Mask rows of a 2D RaggedTensor.
tf.ragged.constant([[1, 2, 3], [4], [5, 6]]),
tf.ragged.constant([True, False, True])).to_list()
[[1, 2, 3], [5, 6]]