Spec-Zone.ru › TensorFlow 2.9

tf.experimental.dispatch_for_binary_elementwise_apis

Декоратор для переопределения реализации по умолчанию для бинарных элементных API.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.experimental.dispatch_for_binary_elementwise_apis

tf.experimental.dispatch_for_binary_elementwise_apis(
    x_type, y_type
)

Декорированная функция (известная как «обработчик элементных API») переопределяет реализацию по умолчанию для любого бинарного элементного API, когда значение для первых двух аргументов (обычно именованных x и y) соответствует указанным аннотациям типов. Обработчик элементных API вызывается с двумя аргументами:

elementwise_api_handler(api_func, x, y)

Где x и y — первые два аргумента элементного API, а api_func — функция TensorFlow, которая принимает два параметра и выполняет элементную операцию (например, tf.add).

Следующий пример демонстрирует, как этот декоратор можно использовать для обновления всех бинарных элементных операций для обработки типа MaskedTensor:

class MaskedTensor(tf.experimental.ExtensionType):
  values: tf.Tensor
  mask: tf.Tensor
@dispatch_for_binary_elementwise_apis(MaskedTensor, MaskedTensor)
def binary_elementwise_api_handler(api_func, x, y):
  return MaskedTensor(api_func(x.values, y.values), x.mask & y.mask)
a = MaskedTensor([1, 2, 3, 4, 5], [True, True, True, True, False])
b = MaskedTensor([2, 4, 6, 8, 0], [True, True, True, False, True])
c = tf.add(a, b)
print(f"values={c.values.numpy()}, mask={c.mask.numpy()}")
values=[ 3 6 9 12 5], mask=[ True True True False False]
Аргументы
x_type Аннотация типа, указывающая, когда следует вызвать обработчик API.
y_type Аннотация типа, указывающая, когда следует вызвать обработчик API.
Возвращаемое значение
Декоратор.

Зарегистрированные API

Бинарные элементные API:

  • tf.bitwise.bitwise_and(x, y, name)
  • tf.bitwise.bitwise_or(x, y, name)
  • tf.bitwise.bitwise_xor(x, y, name)
  • tf.bitwise.left_shift(x, y, name)
  • tf.bitwise.right_shift(x, y, name)
  • tf.compat.v1.div(x, y, name)
  • tf.compat.v1.floor_div(x, y, name)
  • tf.compat.v1.math.scalar_mul(scalar, x, name)
  • tf.dtypes.complex(real, imag, name)
  • tf.math.add(x, y, name)
  • tf.math.atan2(y, x, name)
  • tf.math.divide(x, y, name)
  • tf.math.divide_no_nan(x, y, name)
  • tf.math.equal(x, y, name)
  • tf.math.floordiv(x, y, name)
  • tf.math.floormod(x, y, name)
  • tf.math.greater(x, y, name)
  • tf.math.greater_equal(x, y, name)
  • tf.math.less(x, y, name)
  • tf.math.less_equal(x, y, name)
  • tf.math.logical_and(x, y, name)
  • tf.math.logical_or(x, y, name)
  • tf.math.logical_xor(x, y, name)
  • tf.math.maximum(x, y, name)
  • tf.math.minimum(x, y, name)
  • tf.math.multiply(x, y, name)
  • tf.math.multiply_no_nan(x, y, name)
  • tf.math.not_equal(x, y, name)
  • tf.math.pow(x, y, name)
  • tf.math.scalar_mul(scalar, x, name)
  • tf.math.squared_difference(x, y, name)
  • tf.math.subtract(x, y, name)
  • tf.math.truediv(x, y, name)
  • tf.math.xdivy(x, y, name)
  • tf.math.xlog1py(x, y, name)
  • tf.math.xlogy(x, y, name)
  • tf.math.zeta(x, q, name)
  • tf.nn.sigmoid_cross_entropy_with_logits(labels, logits, name)
  • tf.realdiv(x, y, name)
  • tf.truncatediv(x, y, name)
  • tf.truncatemod(x, y, name)

© 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/experimental/dispatch_for_binary_elementwise_apis

Spec-Zone.ru

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