当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.experimental.dispatch_for_binary_elementwise_apis用法及代码示例


用于覆盖二进制元素 API 的默认实现的装饰器。

用法

tf.experimental.dispatch_for_binary_elementwise_apis(
    x_type, y_type
)

参数

  • x_type 指示何时应调用 api 处理程序的类型注释。
  • y_type 指示何时应调用 api 处理程序的类型注释。

返回

  • 一个装饰师。

只要前两个参数(通常命名为 xy )的值与指定的类型注释匹配,装饰函数(称为“元素 api 处理程序”)将覆盖任何二进制元素 API 的默认实现。 elementwise api 处理程序使用两个参数调用:

elementwise_api_handler(api_func, x, y)

其中 xy 是 elementwise api 的前两个参数,而 api_func 是一个 TensorFlow 函数,它接受两个参数并执行 elementwise 操作(例如 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]

注册的 API

二进制元素 API 是:

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.experimental.dispatch_for_binary_elementwise_apis。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。