tf.experimental.ExtensionType
Базовый класс для классов TensorFlow ExtensionType.
tf.experimental.ExtensionType(
*args, **kwargs
)
Классы TensorFlow ExtensionType — это специализированные классы Python, которые можно использовать прозрачно с TensorFlow — например, их можно использовать с операциями, такими как tf.cond или tf.while_loop, и использовать в качестве входных или выходных данных для tf.function и слоёв Keras.
Новые классы ExtensionType определяются путём создания подкласса tf.ExtensionType, содержащего аннотации типов для всех переменных экземпляра. Поддерживаются следующие аннотации типов:
| Тип | Пример |
|---|---|
| Целые числа Python | i: int |
| Вещественные числа Python | f: float |
| Строки Python | s: str |
| Булевы значения Python | b: bool |
| Python None | n: None |
| Тензоры | t: tf.Tensor |
| Составные тензоры | rt: tf.RaggdTensor |
| Типы расширения | m: MyMaskedTensor |
| Формы тензоров | shape: tf.TensorShape |
| Типы данных тензоров | dtype: tf.DType |
| Объединения типов | length: typing.Union[int, float] |
| Кортежи | params: typing.Tuple[int, float, int, int] |
| Кортежи с Ellipsis | lengths: typing.Tuple[int, ...] |
| Отображения | tags: typing.Mapping[str, str] |
Поля, помеченные typing.Mapping, будут храниться с использованием неизменяемого типа отображения.
Значения ExtensionType являются неизменяемыми — т.е., после создания вы не можете изменить или удалить какие-либо из их членов экземпляра.
Примеры
class MaskedTensor(ExtensionType): values: tf.Tensor mask: tf.Tensor
class Toy(ExtensionType): name: str price: ops.Tensor features: typing.Mapping[str, tf.Tensor]
class ToyStore(ExtensionType): name: str toys: typing.Tuple[Toy, ...]
Методы
__eq__
__eq__(
other
)
Возвращает self==value.
__ne__
__ne__(
other
)
Возвращает self!=value.
© 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/ExtensionType