Spec-Zone.ru › TensorFlow

tf.tpu.experimental.embedding.TPUEmbeddingForServing

API среднего уровня TPUEmbedding, работающий на CPU для обслуживания.

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

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

Подробнее см. в руководстве по переносу.

tf.compat.v1.tpu.experimental.embedding.TPUEmbeddingForServing

tf.tpu.experimental.embedding.TPUEmbeddingForServing(
    feature_config: Union[tf.tpu.experimental.embedding.FeatureConfig, Iterable],
    optimizer: Optional[tpu_embedding_v2_utils._Optimizer],
    experimental_sparsecore_restore_info: Optional[Dict[str, Any]] = None
)
Примечание: Этот класс предназначен для таблиц эмбеддингов, обучаемых на TPU и обслуживаемых на CPU. Поэтому класс следует инициализировать только в стратегии без TPU. В противном случае будет вызвана ошибка.

Сначала можно обучить модель с помощью класса TPUEmbedding и сохранить контрольную точку. Затем используйте этот класс, чтобы восстановить контрольную точку для обслуживания.

Сначала обучите модель и сохраните контрольную точку.

model = model_fn(...)
strategy = tf.distribute.TPUStrategy(...)
with strategy.scope():
  embedding = tf.tpu.experimental.embedding.TPUEmbedding(
      feature_config=feature_config,
      optimizer=tf.tpu.experimental.embedding.SGD(0.1))

# Your custom training code.

checkpoint = tf.train.Checkpoint(model=model, embedding=embedding)
checkpoint.save(...)

Затем восстановите контрольную точку и выполните обслуживание.

# Restore the model on CPU.
model = model_fn(...)
embedding = tf.tpu.experimental.embedding.TPUEmbeddingForServing(
      feature_config=feature_config,
      optimizer=tf.tpu.experimental.embedding.SGD(0.1))

checkpoint = tf.train.Checkpoint(model=model, embedding=embedding)
checkpoint.restore(...)

result = embedding(...)
table = embedding.embedding_table
Примечание: Этот класс также можно использовать для обучения эмбеддингов на CPU. Однако для поддержания согласованности переменных слотов необходимо преобразовать оптимизатор Keras в оптимизаторы эмбеддингов.
Аргументы
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, чтобы избежать создания переменных слотов оптимизатора. Это полезно для оптимизации расхода памяти при экспорте модели для обслуживания, когда переменные слотов не требуются.
experimental_sparsecore_restore_info Сведения об обучении на разреженном ядре, необходимые для восстановления из контрольной точки при обслуживании (например, количество используемых устройств TPU num_tpu_devices.)
Вызывает исключения
RuntimeError Если экземпляр создан в TPUStrategy.
Атрибуты
embedding_tables Возвращает словарь таблиц эмбеддингов с ключами TableConfig.

Методы

build

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

build()

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

embedding_lookup

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

embedding_lookup(
    features: Any, weights: Optional[Any] = None
) -> Any

Выполняет стандартные операции поиска на CPU.

Аргументы
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 одинаковы.
Возвращает
Вложенную структуру тензоров с той же структурой, что и входные признаки.

__call__

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

__call__(
    features: Any, weights: Optional[Any] = None
) -> Any

Вызывает 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/TPUEmbeddingForServing

Spec-Zone.ru

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