Spec-Zone.ru › TensorFlow

tf.tpu.experimental.embedding.TPUEmbeddingV2

API среднего уровня TPUEmbedding, работающий на TPU с ускорителем sparse core.

Просмотреть псевдонимы

Псевдонимы совместимости для миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.tpu.experimental.embedding.TPUEmbeddingV2

tf.tpu.experimental.embedding.TPUEmbeddingV2(
    feature_config: Union[tf.tpu.experimental.embedding.FeatureConfig, Iterable],
    optimizer: Optional[tpu_embedding_v2_utils._Optimizer] = None,
    pipeline_execution_with_tensor_core: bool = False
)
Аргументы
feature_config Вложенная структура конфигураций tf.tpu.experimental.embedding.FeatureConfig.
optimizer Экземпляр одного из объектов tf.tpu.experimental.embedding.SGD, tf.tpu.experimental.embedding.Adagrad или tf.tpu.experimental.embedding.Adam. Если объект создан не в контексте TPUStrategy, для него можно задать значение None, чтобы избежать создания переменных слотов оптимизатора. Это полезно для оптимизации использования памяти при экспорте модели для обслуживания, когда переменные слотов не нужны.
pipeline_execution_with_tensor_core Если значение равно True, вычисления встраиваний TPU будут выполняться параллельно с вычислениями TensorCore (и, следовательно, будут отставать на один шаг). Для повышения производительности задайте значение True.
Вызывает исключения
ValueError Если оптимизатор не является одним из tf.tpu.experimental.embedding.(SGD, Adam или Adagrad) или None при создании в контексте TPUStrategy.
RuntimeError Если объект создан не в контексте TPUStrategy.
Атрибуты
embedding_table_shards Возвращает словарь таблиц встраиваний с ключами TableConfig.
embedding_tables Возвращает словарь таблиц встраиваний с ключами TableConfig.
variables Возвращает словарь переменных с ключами TableConfig, а затем именами слотов.

Методы

apply_gradients

Просмотреть исходный код

apply_gradients(
    gradients: Any, preserved_outputs: Dict[str, PartitionedCsrFormatTensor]
)

Применяет обновление градиентов к таблицам встраиваний.

Если в какой-либо позиции вложенной структуры передан градиент None, для этого признака применяется обновление градиента с нулевым градиентом. Для таких оптимизаторов, как SGD или Adagrad, это эквивалентно отсутствию обновления. При использовании lazy Adam и других оптимизаторов, применяемых разреженно и учитывающих затухание, убедитесь, что понимаете последствия применения нулевого градиента.

Аргументы
gradients Вложенная структура градиентов, структура которой соответствует feature_config, переданному этому объекту.
preserved_outputs Словарь объектов PartitionedCsrFormatTensor, полученный из второго выходного значения вызова поиска встраиваний.
Вызывает исключения
RuntimeError если объект не построен.
ValueError Если передан градиент, не являющийся tf.Tensor и не-None, либо передан tf.Tensor неправильной формы. Также если размер любой последовательности в gradients не совпадает с размером соответствующей последовательности в feature_config.
TypeError Если тип любой последовательности в gradients не совпадает с типом соответствующей последовательности в feature_config.

build

Просмотреть исходный код

build()

Создает переменные и переменные слотов для встраиваний TPU.

dequeue

Просмотреть исходный код

dequeue(
    partitioned_tensors: Tuple[Dict[str, PartitionedCsrFormatTensor], int, int]
) -> Tuple[Any, Dict[str, PartitionedCsrFormatTensor]]

Выполняет поиск встраиваний.

embedding_lookup

Просмотреть исходный код

embedding_lookup(
    features: Any, weights: Optional[Any] = None
) -> Tuple[Any, Dict[str, PartitionedCsrFormatTensor]]

Выполняет поиск встраиваний для входного признака.

Аргументы
features Вложенная структура объектов tf.Tensor, tf.SparseTensor или tf.RaggedTensor с той же структурой, что и у feature_config. Тип входных данных будет понижен до tf.int32. В одном вызове поддерживается только один тип: tf.SparseTensor или tf.RaggedTensor.
weights Если значение не равно None, вложенная структура объектов tf.Tensor, tf.SparseTensor или tf.RaggedTensor, соответствующая указанной выше, за исключением того, что тензоры должны иметь тип float (и их тип будет понижен до tf.float32). Для объектов tf.SparseTensor предполагается, что indices одинаковы для соответствующих элементов из features; аналогично для объектов tf.RaggedTensor предполагается, что значения row_splits совпадают.
Вызывает исключения
ValueError Если входной признак не имеет тип Tensor, SparseTensor или RaggedTensor.
TypeError Если тип любой последовательности в features не совпадает с типом соответствующей последовательности в feature_config. То же относится к weights, если значение не равно None.
Возвращает
packed_activations Результаты поиска встраиваний, упакованные в такую же последовательность, как входной признак.
packed_output Словарь объектов PartitionedCsrFormatTensors.

enqueue

Просмотреть исходный код

enqueue(
    features: Any, weights: Optional[Any] = None, device: Optional[str] = None
) -> Any

Предварительная обработка признаков на хосте.

preprocess_features

Просмотреть исходный код

@staticmethod
preprocess_features(
    num_replicas_in_sync: int,
    max_ids_per_chip_per_sample: int,
    max_minibatches_per_sc: int,
    num_sc_per_chip: int,
    num_sc_shards: int,
    stacked_table_to_tables: Dict[str, Any],
    table_to_stacked_table_offset: Dict[str, Tuple[str, int, int]],
    table_to_sample_count: Dict[str, int],
    feature_to_sample_offset: Dict[str, int],
    flat_features: Any,
    flat_inputs: Any,
    flat_weights: Optional[Any] = None
) -> Any

Функция предварительной обработки признаков.

__call__

Просмотреть исходный код

__call__(
    features: Any, weights: Optional[Any] = None
) -> Tuple[Any, Dict[str, PartitionedCsrFormatTensor]]

Вызывает API среднего уровня для выполнения поиска встраиваний.

© 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/tpu/experimental/embedding/TPUEmbeddingV2

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API