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
)
Используется в блокнотах
| Используется в руководстве |
|---|
Обратите внимание, что интерфейс 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 для ускорения поиска эмбеддингов с помощью TPU embeddings.
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. |
learning_rate_fn | Функция, принимающая глобальный шаг и возвращающая скорость обучения для таблицы эмбеддингов. Если вы собираетесь использовать одну и ту же скорость обучения для нескольких таблиц эмбеддингов, передавайте во все вызовы embedding_column одну и ту же функцию Python; иначе производительность может снизиться. |
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 подходит для больших словарей эмбеддингов (>1M); в остальных случаях часто достаточно tpu_tensor_core. При обслуживании поиск эмбеддингов на tpu_tensor_core позволяет снизить нагрузку на CPU хоста, если она является узким местом. |
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