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-вложений.
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 подходит для больших словарей вложений (>1M), в противном случае часто достаточно 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 указано, но не является вызываемой функцией. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/compat/v1/tpu/experimental/embedding_column