tf.experimental.dispatch_for_binary_elementwise_assert_apis
Декоратор для переопределения реализации по умолчанию для API двоичных поэлементных проверок.
tf.experimental.dispatch_for_binary_elementwise_assert_apis(
x_type, y_type
)
Декорированная функция (называемая «обработчиком поэлементных проверок») переопределяет реализацию по умолчанию для любого API двоичных поэлементных проверок, если значения первых двух аргументов (обычно называемых x и y) соответствуют указанным аннотациям типов. Обработчик вызывается с двумя аргументами:
elementwise_assert_handler(assert_func, x, y)
Где x и y — первые два аргумента операции двоичной поэлементной проверки, а assert_func — функция TensorFlow, которая принимает два параметра и выполняет поэлементную проверку (например, tf.debugging.assert_equal).
В следующем примере показано, как этот декоратор можно использовать для обновления всех операций двоичных поэлементных проверок, чтобы они обрабатывали тип MaskedTensor:
class MaskedTensor(tf.experimental.ExtensionType): values: tf.Tensor mask: tf.Tensor @dispatch_for_binary_elementwise_assert_apis(MaskedTensor, MaskedTensor) def binary_elementwise_assert_api_handler(assert_func, x, y): merged_mask = tf.logical_and(x.mask, y.mask) selected_x_values = tf.boolean_mask(x.values, merged_mask) selected_y_values = tf.boolean_mask(y.values, merged_mask) assert_func(selected_x_values, selected_y_values) a = MaskedTensor([1, 1, 0, 1, 1], [False, False, True, True, True]) b = MaskedTensor([2, 2, 0, 2, 2], [True, True, True, False, False]) tf.debugging.assert_equal(a, b) # assert passed; no exception was thrown
a = MaskedTensor([1, 1, 1, 1, 1], [True, True, True, True, True]) b = MaskedTensor([0, 0, 0, 0, 2], [True, True, True, True, True]) tf.debugging.assert_greater(a, b) Traceback (most recent call last): InvalidArgumentError: Condition x > y did not hold.
| Аргументы | |
|---|---|
x_type | Аннотация типа, указывающая, когда следует вызывать обработчик API. |
y_type | Аннотация типа, указывающая, когда следует вызывать обработчик API. |
| Возвращает | |
|---|---|
| Декоратор. |
Зарегистрированные API
API двоичных поэлементных проверок:
<
© 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/api_docs/python/tf/experimental/dispatch_for_binary_elementwise_assert_apis