當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。