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 |
| None в Python | n: None |
| Кортеж Python | params: tuple[int, float, int, int] |
| Кортеж Python с многоточием | lengths: tuple[int, ...] |
| Тензоры | t: tf.Tensor |
| Составные тензоры | rt: tf.RaggedTensor |
| Типы расширений | m: MyMaskedTensor |
| Формы тензоров | shape: tf.TensorShape |
| Типы данных тензоров | dtype: tf.DType |
| Объединения типов | length: typing.Union[int, float] |
| Кортежи | params: typing.Tuple[int, float, int, int] |
| Кортежи с многоточием | 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: tensor.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/api_docs/python/tf/experimental/ExtensionType