Help protect the Great Barrier Reef with TensorFlow on Kaggle

Applies a boolean mask to `data` without flattening the mask dimensions.

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]`

Where `j` is the `i`th `True` entry of `mask[a1...aA]`.

Note that `output` preserves the mask dimensions `a1...aA`; this differs from `tf.boolean_mask`, which flattens those dimensions.

`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).

A potentially ragged tensor that is formed by retaining the elements in `data` where the corresponding value in `mask` is `True`.

• `rank(output) = rank(data)`.
• `output.ragged_rank = max(data.ragged_rank, rank(mask) - 1)`.

`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]]`
```
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]