用於覆蓋二進製元素 API 的默認實現的裝飾器。
用法
tf.experimental.dispatch_for_binary_elementwise_apis(
x_type, y_type
)
參數
-
x_type
指示何時應調用 api 處理程序的類型注釋。 -
y_type
指示何時應調用 api 處理程序的類型注釋。
返回
- 一個裝飾師。
隻要前兩個參數(通常命名為 x
和 y
)的值與指定的類型注釋匹配,裝飾函數(稱為“元素 api 處理程序”)將覆蓋任何二進製元素 API 的默認實現。 elementwise api 處理程序使用兩個參數調用:
elementwise_api_handler(api_func, x, y)
其中 x
和 y
是 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 是:
- tf.bitwise.bitwise_and
- tf.bitwise.bitwise_or
- tf.bitwise.bitwise_xor
- tf.bitwise.left_shift
- tf.bitwise.right_shift
tf.compat.v1.div(x, y, name)
tf.compat.v1.floor_div(x, y, name)
- tf.compat.v1.scalar_mul
- tf.dtypes.complex
- tf.math.add
- tf.math.atan2
- tf.math.divide
- tf.math.divide_no_nan
- tf.math.equal
tf.math.floordiv(x, y, name)
tf.math.floormod(x, y, name)
- tf.math.greater
- tf.math.greater_equal
- tf.math.less
- tf.math.less_equal
- tf.math.logical_and
- tf.math.logical_or
- tf.math.logical_xor
- tf.math.maximum
- tf.math.minimum
- tf.math.multiply
tf.math.multiply_no_nan(x, y, name)
- tf.math.not_equal
- tf.math.pow
- tf.math.scalar_mul
tf.math.squared_difference(x, y, name)
- tf.math.subtract
tf.math.truediv(x, y, name)
tf.math.xdivy(x, y, name)
- tf.math.xlog1py
tf.math.xlogy(x, y, name)
tf.math.zeta(x, q, name)
- tf.nn.sigmoid_cross_entropy_with_logits
tf.realdiv(x, y, name)
tf.truncatediv(x, y, name)
tf.truncatemod(x, y, name)
相關用法
- Python tf.experimental.dispatch_for_unary_elementwise_apis用法及代碼示例
- Python tf.experimental.dispatch_for_api用法及代碼示例
- Python tf.experimental.dlpack.from_dlpack用法及代碼示例
- Python tf.experimental.dlpack.to_dlpack用法及代碼示例
- Python tf.experimental.numpy.iinfo用法及代碼示例
- Python tf.experimental.Optional.has_value用法及代碼示例
- Python tf.experimental.unregister_dispatch_for用法及代碼示例
- Python tf.experimental.tensorrt.Converter用法及代碼示例
- Python tf.experimental.ExtensionType用法及代碼示例
- Python tf.experimental.Optional.get_value用法及代碼示例
- Python tf.experimental.numpy.issubdtype用法及代碼示例
- Python tf.experimental.numpy.unicode_用法及代碼示例
- Python tf.experimental.async_scope用法及代碼示例
- Python tf.experimental.Optional.empty用法及代碼示例
- Python tf.experimental.numpy.float16.as_integer_ratio用法及代碼示例
- Python tf.experimental.numpy.float64.as_integer_ratio用法及代碼示例
注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.experimental.dispatch_for_binary_elementwise_apis。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。