Spec-Zone.ru › TensorFlow

tf.compat.v1.tpu.experimental.embedding_column

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

tf.compat.v1.tpu.experimental.embedding_column(
    categorical_column,
    dimension,
    combiner='mean',
    initializer=None,
    max_sequence_length=0,
    learning_rate_fn=None,
    embedding_lookup_device=None,
    tensor_core_shape=None,
    use_safe_embedding_lookup=True
)

Используется в ноутбуках

Используется в руководстве
  • Миграция с TPU embedding_columns на слой TPUEmbedding

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

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

column = tf.feature_column.categorical_column_with_identity(...)
tpu_column = tf.tpu.experimental.embedding_column(column, 10)
...
def model_fn(features):
  dense_feature = tf.keras.layers.DenseFeature(tpu_column)
  embedded_feature = dense_feature(features)
  ...

estimator = tf.estimator.tpu.TPUEstimator(
    model_fn=model_fn,
    ...
    embedding_config_spec=tf.estimator.tpu.experimental.EmbeddingConfigSpec(
      column=[tpu_column],
      ...))
Аргументы
categorical_column Категориальный столбец, возвращаемый из 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.compat.v1.truncated_normal_initializer со средним значением 0.0 и стандартным отклонением 1/sqrt(dimension).
max_sequence_length Целое число, неотрицательное значение, определяющее максимальную длину последовательности. Любая последовательность, короче этой длины, будет дополнена 0-вложениями, а любая более длинная – усечена. Для последовательных признаков это значение должно быть положительным, для признаков, не являющихся последовательностями, – 0.
learning_rate_fn Функция, которая принимает глобальный шаг и возвращает скорость обучения для таблицы вложений. Если вы планируете использовать одну и ту же скорость обучения для нескольких таблиц вложений, убедитесь, что вы передаёте одну и ту же функцию Python во все вызовы embedding_column, в противном случае производительность может пострадать.
embedding_lookup_device Устройство, на котором следует выполнить поиск по вложениям. Допустимые значения: "cpu", "tpu_tensor_core", и "tpu_embedding_core". Если указано "tpu_tensor_core", необходимо указать tensor_core_shape. Если не указано, по умолчанию поиск по вложениям выполняется на "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 или пропущен.
Возвращаемое значение
_TPUEmbeddingColumnV2.
Исключения
ValueError если dimension не > 0.
ValueError если initializer указано, но не является вызываемым.

© 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/embedding_column

Spec-Zone.ru

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