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:].

Аргументы
params Один тензор, представляющий полный тензор эмбеддингов, или список из P тензоров одинаковой формы, за исключением первого измерения, представляющих тензоры эмбеддингов, разбитые на части. Также может быть PartitionedVariable, созданный разбиением по измерению 0. Размер каждого элемента должен соответствовать заданному partition_strategy.
ids Tensor или 'RaggedTensor' с типом int32 или int64, содержащий идентификаторы для поиска в params. Внимание: индексы, выходящие за допустимые границы, приведут к неопределенному поведению, которое будет различаться на разных устройствах и в разных бэкендах.
partition_strategy Строка, задающая стратегию разбиения на разделы; имеет значение, если len(params) > 1. В настоящее время поддерживаются "div" и "mod". Значение по умолчанию — "mod".
name Имя операции (необязательно).
validate_indices УСТАРЕЛО. Если эта операция выполняется на CPU, значения в indices всегда проверяются на принадлежность допустимому диапазону. Если операция выполняется на GPU, индексы, выходящие за допустимые границы, приводят к безопасному, но не специфицированному поведению, которое может включать возникновение ошибки.
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