Spec-Zone.ru › TensorFlow

tf.compat.v1.nn.embedding_lookup

Ищет вложения для заданного ids из списка тензоров.

tf.compat.v1.nn.embedding_lookup(
    params,
    ids,
    partition_strategy='mod',
    name=None,
    validate_indices=True,
    max_norm=None
)

Эта функция используется для выполнения параллельного поиска по списку тензоров в params. Она является обобщением tf.gather, где params интерпретируется как разбиение большого тензора вложений. params может быть PartitionedVariable, как возвращается при использовании tf.compat.v1.get_variable() с разбиением.

Если len(params) > 1, каждый элемент id из ids распределяется между элементами params в соответствии с partition_strategy. Во всех стратегиях, если пространство идентификаторов не делится равномерно на количество разбиений, каждому из первых (max_id + 1) % len(params) разбиений будет назначен один дополнительный идентификатор.

Если partition_strategy - "mod", мы назначаем каждый идентификатор разбиению p = id % len(params). Например, 13 идентификаторов разбиваются на 5 разбиений как: [[0, 5, 10], [1, 6, 11], [2, 7, 12], [3, 8], [4, 9]]

Если partition_strategy - "div", мы назначаем идентификаторы разбиениям непрерывным образом. В этом случае 13 идентификаторов разбиваются на 5 разбиений как: [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10], [11, 12]]

Если входные идентификаторы являются разреженными тензорами, переменные разбиения не поддерживаются, и стратегия разбиения и max_norm игнорируются. Результаты поиска объединяются в плотный тензор. Возвращаемый тензор имеет форму shape(ids) + shape(params)[1:].

Args
params Единственный тензор, представляющий весь тензор вложений, или список из P тензоров, все с одинаковой формой, за исключением первого измерения, представляющие фрагментированные тензоры вложений. Также может быть PartitionedVariable, созданный путем разбиения по измерению 0. Каждый элемент должен быть соответствующего размера для данного partition_strategy.
ids Tensor или 'RaggedTensor' с типом int32 или int64, содержащий идентификаторы для поиска в params. Внимание: индексы за пределами границ приведут к неопределенному поведению, которое будет отличаться между устройствами и бэкендами.
partition_strategy Строка, определяющая стратегию разбиения, если len(params) > 1. В настоящее время поддерживаются "div" и "mod". По умолчанию - "mod".
name Название операции (необязательно).
validate_indices УСТАРЕЛО. Если данная операция назначена на ЦП, значения в indices всегда проверяются на соответствие диапазону. Если назначена на ГП, индексы за пределами границ приводят к безопасному, но неопределенному поведению, которое может включать в себя ошибку.
max_norm Если не None, каждое вложение обрезается, если его l2-норма больше этого значения.
Возвращает
Tensor или 'RaggedTensor', в зависимости от ввода, с тем же типом, что и тензоры в params.
Возбуждает
ValueError Если params пусто.

© 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/compat/v1/nn/embedding_lookup

Spec-Zone.ru

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