Spec-Zone.ru › TensorFlow

tf.compat.v1.tpu.experimental.shared_embedding_columns

TPU версия tf.compat.v1.feature_column.shared_embedding_columns.

tf.compat.v1.tpu.experimental.shared_embedding_columns(
    categorical_columns,
    dimension,
    combiner='mean',
    initializer=None,
    shared_embedding_collection_name=None,
    max_sequence_lengths=None,
    learning_rate_fn=None,
    embedding_lookup_device=None,
    tensor_core_shape=None,
    use_safe_embedding_lookup=True
)

Обратите внимание, что интерфейс для tf.tpu.experimental.shared_embedding_columns отличается от интерфейса tf.compat.v1.feature_column.shared_embedding_columns: следующие аргументы НЕ поддерживаются: ckpt_to_load_from, tensor_name_in_ckpt, max_norm и trainable.

Используйте эту функцию вместо `tf.compat.v1.feature_column.shared_embedding_columns`, когда вы хотите использовать TPU для ускорения поиска по вложениям с помощью вложений TPU.

column_a = tf.feature_column.categorical_column_with_identity(...)
column_b = tf.feature_column.categorical_column_with_identity(...)
tpu_columns = tf.tpu.experimental.shared_embedding_columns(
    [column_a, column_b], 10)
...
def model_fn(features):
  dense_feature = tf.keras.layers.DenseFeature(tpu_columns)
  embedded_feature = dense_feature(features)
  ...

estimator = tf.estimator.tpu.TPUEstimator(
    model_fn=model_fn,
    ...
    embedding_config_spec=tf.estimator.tpu.experimental.EmbeddingConfigSpec(
        column=tpu_columns,
        ...))
Аргументы
categorical_columns Список категориальных столбцов, возвращённых из categorical_column_with_identity, weighted_categorical_column, categorical_column_with_vocabulary_file, categorical_column_with_vocabulary_list, sequence_categorical_column_with_identity, sequence_categorical_column_with_vocabulary_file, sequence_categorical_column_with_vocabulary_list
dimension Целое число, определяющее размер вложения, должно быть > 0.
combiner Строка, определяющая способ уменьшения, если в одной строке есть несколько записей для столбца, не являющегося последовательностью. Дополнительная информация приведена в tf.feature_column.embedding_column.
initializer Функция инициализации переменной, которая используется при инициализации переменной вложения. Если не указана, используется по умолчанию tf.truncated_normal_initializer со средним значением 0.0 и стандартным отклонением 1/sqrt(dimension).
shared_embedding_collection_name Необязательное имя коллекции, в которую добавляются общие веса вложений. Если не указано, будет выбрано разумное имя на основе имён categorical_columns. Также используется в variable_scope при создании общих весов вложений.
max_sequence_lengths Список неотрицательных целых чисел, либо None, либо пустой список, либо список той же длины, что и аргумент `categorical_columns`. Элементы, соответствующие столбцам, не являющимся последовательностями, должны быть равны 0, а элементы, соответствующие последовательным столбцам, указывают максимальную длину последовательности для столбца. Любая последовательность, короче этой, будет дополнена нулевыми векторами вложений, а любая последовательность, длиннее — усечена.
learning_rate_fn Функция, которая принимает глобальный шаг и возвращает скорость обучения для таблицы вложений. Если вы планируете использовать одну и ту же скорость обучения для нескольких таблиц вложений, убедитесь, что вы передаёте одну и ту же функцию Python во все вызовы `shared_embedding_columns`, в противном случае производительность может пострадать.
embedding_lookup_device Устройство, на котором необходимо выполнить поиск по вложениям. Допустимые значения: "cpu", "tpu_tensor_core" и "tpu_embedding_core". При указании "tpu_tensor_core" необходимо указать `tensor_core_shape`. По умолчанию "cpu". Если не указано, по умолчанию поиск по вложениям выполняется на "tpu_embedding_core" при обучении и на "cpu" при выводе. Допустимые значения при обучении: ["tpu_embedding_core", "tpu_tensor_core"]. Допустимые значения при выводе: ["cpu", "tpu_tensor_core"]. Для обучения `tpu_embedding_core` подходит для больших словарей вложений (>1 млн), в противном случае часто достаточно `tpu_tensor_core`. Для вывода поиск по вложениям на `tpu_tensor_core` во время вывода — способ уменьшить использование ЦП хоста в тех случаях, когда это является узким местом.
tensor_core_shape Если указано, список целых чисел, которые указывают предполагаемую плотную форму для выполнения поиска по вложениям для этого признака на TensorCore. Размерность пакета может быть оставлена None или -1, чтобы указать динамическую размерность. В настоящее время поддерживаются только формы ранга 2.
use_safe_embedding_lookup Если True, используется `safe_embedding_lookup_sparse` вместо `embedding_lookup_sparse`. `safe_embedding_lookup_sparse` гарантирует отсутствие пустых строк и все веса и идентификаторы положительны, но с дополнительными вычислительными затратами. Это относится только к тензорам входных данных формы ранга 2 (NxM). По умолчанию True, рассмотрите возможность выключения, если вышеуказанные проверки не требуются. Обратите внимание, что наличие пустых строк не вызовет никакой ошибки, хотя результат вывода может быть 0 или пропущен.
Возвращает
Список _TPUSharedEmbeddingColumnV2.
Возбуждает исключение
ValueError если dimension не > 0.
ValueError если initializer указан, но не является вызываемой функцией.
ValueError если max_sequence_lengths указан и не имеет такой же длины, как categorical_columns.
ValueError если max_sequence_lengths положительно для столбца, не являющегося последовательностью, или равен 0 для последовательного столбца.

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

Spec-Zone.ru

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