裝飾器覆蓋一元元素 API 的默認實現。
用法
tf.experimental.dispatch_for_unary_elementwise_apis(
x_type
)
參數
-
x_type
指示何時應調用 api 處理程序的類型注釋。有關受支持的注釋類型的列表,請參閱dispatch_for_api
。
返回
- 一個裝飾師。
隻要第一個參數(通常命名為 x
)的值與類型注釋 x_type
匹配,裝飾函數(稱為“元素 api 處理程序”)就會覆蓋任何一元元素 API 的默認實現。 elementwise api 處理程序使用兩個參數調用:
elementwise_api_handler(api_func, x)
其中 api_func
是一個接受單個參數並執行元素操作的函數(例如 tf.abs
),而 x
是元素 api 的第一個參數。
以下示例顯示了如何使用此裝飾器更新所有一元元素操作以處理 MaskedTensor
類型:
class MaskedTensor(tf.experimental.ExtensionType):
values:tf.Tensor
mask:tf.Tensor
@dispatch_for_unary_elementwise_apis(MaskedTensor)
def unary_elementwise_api_handler(api_func, x):
return MaskedTensor(api_func(x.values), x.mask)
mt = MaskedTensor([1, -2, -3], [True, False, True])
abs_mt = tf.abs(mt)
print(f"values={abs_mt.values.numpy()}, mask={abs_mt.mask.numpy()}")
values=[1 2 3], mask=[ True False True]
對於接受超出 x
的額外參數的一元元素操作,這些參數不會傳遞給元素 api 處理程序,而是在調用 api_func
時自動添加。例如,在以下示例中,dtype
參數未傳遞給 unary_elementwise_api_handler
,而是由 api_func
添加。
ones_mt = tf.ones_like(mt, dtype=tf.float32)
print(f"values={ones_mt.values.numpy()}, mask={ones_mt.mask.numpy()}")
values=[1.0 1.0 1.0], mask=[ True False True]
注冊的 API
一元元素 API 是:
- tf.bitwise.invert
- tf.cast
- tf.clip_by_value
- tf.compat.v1.math.log_softmax
- tf.compat.v1.ones_like
- tf.compat.v1.strings.length
- tf.compat.v1.strings.substr
tf.compat.v1.strings.to_hash_bucket(string_tensor, num_buckets, name, input)
- tf.compat.v1.substr
- tf.compat.v1.to_bfloat16
- tf.compat.v1.to_complex128
- tf.compat.v1.to_complex64
- tf.compat.v1.to_double
- tf.compat.v1.to_float
- tf.compat.v1.to_int32
- tf.compat.v1.to_int64
- tf.compat.v1.zeros_like
- tf.debugging.check_numerics
tf.dtypes.saturate_cast(value, dtype, name)
- tf.image.adjust_brightness
- tf.image.adjust_gamma
- tf.image.convert_image_dtype
- tf.image.random_brightness
- tf.image.stateless_random_brightness
tf.io.decode_base64(input, name)
tf.io.decode_compressed(bytes, compression_type, name)
tf.io.encode_base64(input, pad, name)
- tf.math.abs
- tf.math.acos
- tf.math.acosh
- tf.math.angle
- tf.math.asin
- tf.math.asinh
- tf.math.atan
- tf.math.atanh
- tf.math.bessel_i0
- tf.math.bessel_i0e
- tf.math.bessel_i1
- tf.math.bessel_i1e
- tf.math.ceil
- tf.math.conj
- tf.math.cos
- tf.math.cosh
tf.math.digamma(x, name)
- tf.math.erf
tf.math.erfc(x, name)
- tf.math.erfcinv
tf.math.erfinv(x, name)
- tf.math.exp
- tf.math.expm1
- tf.math.floor
- tf.math.imag
- tf.math.is_finite
- tf.math.is_inf
- tf.math.is_nan
- tf.math.lgamma
- tf.math.log
- tf.math.log1p
- tf.math.log_sigmoid
- tf.math.logical_not
tf.math.ndtri(x, name)
tf.math.negative(x, name)
tf.math.nextafter(x1, x2, name)
- tf.math.real
tf.math.reciprocal(x, name)
- tf.math.reciprocal_no_nan
- tf.math.rint
- tf.math.round
- tf.math.rsqrt
- tf.math.sigmoid
- tf.math.sign
- tf.math.sin
- tf.math.sinh
- tf.math.softplus
- tf.math.special.bessel_j0
- tf.math.special.bessel_j1
- tf.math.special.bessel_k0
- tf.math.special.bessel_k0e
- tf.math.special.bessel_k1
- tf.math.special.bessel_k1e
- tf.math.special.bessel_y0
- tf.math.special.bessel_y1
- tf.math.special.dawsn
- tf.math.special.expint
- tf.math.special.fresnel_cos
- tf.math.special.fresnel_sin
- tf.math.special.spence
- tf.math.sqrt
- tf.math.square
- tf.math.tan
- tf.math.tanh
- tf.nn.elu
- tf.nn.gelu
tf.nn.leaky_relu(features, alpha, name)
- tf.nn.relu
- tf.nn.relu6
tf.nn.selu(features, name)
tf.nn.silu(features, beta)
tf.nn.softsign(features, name)
- tf.ones_like
- tf.strings.as_string
- tf.strings.length
- tf.strings.lower
- tf.strings.regex_full_match
- tf.strings.regex_replace
- tf.strings.strip
- tf.strings.substr
- tf.strings.to_hash_bucket
- tf.strings.to_hash_bucket_fast
- tf.strings.to_hash_bucket_strong
- tf.strings.to_number
- tf.strings.unicode_script
- tf.strings.unicode_transcode
- tf.strings.upper
- tf.zeros_like
相關用法
- Python tf.experimental.dispatch_for_api用法及代碼示例
- Python tf.experimental.dispatch_for_binary_elementwise_apis用法及代碼示例
- 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_unary_elementwise_apis。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。