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.Tensors, tf.SparseTensors или tf.RaggedTensors, с той же структурой, что и feature_config. Входные данные будут приведены к типу tf.int32. Поддерживается только один тип из tf.SparseTensor или tf.RaggedTensor за один вызов.
weights Если не None, вложенная структура tf.Tensors, tf.SparseTensors или tf.RaggedTensors, соответствующая вышеуказанной, за исключением того, что тензоры должны быть типа 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