Spec-Zone.ru › TensorFlow 2.4

tf.boolean_mask

Просмотреть исходный код на GitHub

Применить булеву маску к тензору.

tf.boolean_mask(
    tensor, mask, axis=None, name='boolean_mask'
)

Эквивалент в Numpy — tensor[mask].

В общем случае, 0 < dim(mask) = K <= dim(tensor), и mask должны иметь форму, совпадающую с первыми K измерениями формы tensor. Тогда мы имеем: boolean_mask(tensor, mask)[i, j1,...,jd] = tensor[i1,...,iK,j1,...,jd], где (i1,...,iK) — i-й True элемент mask (строчно-матричный порядок). axis можно использовать с mask для указания оси, из которой нужно масзировать. В этом случае, axis + dim(mask) <= dim(tensor) и mask должны иметь форму, совпадающую с первыми axis + dim(mask) измерениями формы tensor.

См. также: 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)>
Аргументы
tensor N-мерный тензор.
mask K-мерный булевый тензор, K ≤ N и K должно быть статически известно.
axis 0-мерный целочисленный тензор, представляющий ось в tensor для маскирования. По умолчанию ось равна 0, что означает маскирование по первому измерению. В противном случае K + ось ≤ N.
name Имя для этой операции (необязательно).
Возвращаемое значение
(N-K+1)-мерный тензор, заполненный элементами из tensor , соответствующими значениям True в mask.
Исключения
ValueError Если формы не соответствуют.

Примеры:

# 2-D example
tensor = [[1, 2], [3, 4], [5, 6]]
mask = np.array([True, False, True])
boolean_mask(tensor, mask)  # [[1, 2], [5, 6]]

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/boolean_mask

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API