Spec-Zone.ru › TensorFlow 2.9

tf.feature_column.embedding_column

Просмотреть исходный код на GitHub

DenseColumn для преобразования из разреженного категориального входного значения.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.feature_column.embedding_column

tf.feature_column.embedding_column(
    categorical_column,
    dimension,
    combiner='mean',
    initializer=None,
    ckpt_to_load_from=None,
    tensor_name_in_ckpt=None,
    max_norm=None,
    trainable=True,
    use_safe_embedding_lookup=True
)

Используйте эту функцию, когда ваши входные данные разреженные, но вы хотите преобразовать их в плотное представление (например, для подачи в DNN).

Входные данные должны быть CategoricalColumn , созданным любой из categorical_column_* функций. Вот пример использования embedding_column с DNNClassifier:

video_id = categorical_column_with_identity(
    key='video_id', num_buckets=1000000, default_value=0)
columns = [embedding_column(video_id, 9),...]

estimator = tf.estimator.DNNClassifier(feature_columns=columns, ...)

label_column = ...
def input_fn():
  features = tf.io.parse_example(
      ..., features=make_parse_example_spec(columns + [label_column]))
  labels = features.pop(label_column.name)
  return features, labels

estimator.train(input_fn=input_fn, steps=100)

Вот пример использования embedding_column с model_fn:

def model_fn(features, ...):
  video_id = categorical_column_with_identity(
      key='video_id', num_buckets=1000000, default_value=0)
  columns = [embedding_column(video_id, 9),...]
  dense_tensor = input_layer(features, columns)
  # Form DNN layers, calculate loss, and return EstimatorSpec.
  ...
Аргументы
categorical_column CategoricalColumn , созданный categorical_column_with_* функцией. Этот столбец генерирует разреженные идентификаторы, которые являются входными данными для поиска встраивания.
dimension Целое число, определяющее размер встраивания, должно быть > 0.
combiner Строка, определяющая способ уменьшения, если в одной строке несколько записей. В настоящее время поддерживаются «mean», «sqrtn» и «sum», по умолчанию «mean». «sqrtn» часто обеспечивает хорошую точность, особенно с колонками «bag-of-words». Каждый из этих методов можно рассматривать как нормализацию столбца на уровне примера. Для получения дополнительной информации см. tf.embedding_lookup_sparse.
initializer Функция инициализации переменной, которая используется при инициализации переменной встраивания. Если не указана, по умолчанию используется truncated_normal_initializer со средним значением 0.0 и стандартным отклонением 1/sqrt(dimension).
ckpt_to_load_from Строка, представляющая имя/шаблон контрольной точки, из которой восстанавливать веса столбца. Требуется, если tensor_name_in_ckpt не None.
tensor_name_in_ckpt Имя Tensor в ckpt_to_load_from , из которого восстанавливать веса столбца. Требуется, если ckpt_to_load_from не None.
max_norm Если не None, значения встраивания нормализуются с помощью l2 до этого значения.
trainable Является ли встраивание обучаемым. По умолчанию True.
use_safe_embedding_lookup Если True, используется safe_embedding_lookup_sparse вместо embedding_lookup_sparse. safe_embedding_lookup_sparse гарантирует отсутствие пустых строк и положительность всех весов и идентификаторов за счет дополнительных вычислительных затрат. Это относится только к входным тензорам ранга 2 (NxM). По умолчанию True, рассмотрите возможность отключения, если вышеуказанные проверки не нужны. Обратите внимание, что наличие пустых строк не вызовет никакой ошибки, хотя результат вывода может быть 0 или пропущен.
Возвращаемое значение
DenseColumn для преобразования из разреженного входного значения.
Исключения
ValueError если dimension не > 0.
ValueError если ровно один из ckpt_to_load_from и tensor_name_in_ckpt указан.
ValueError если initializer указан и не является вызываемой функцией.
RuntimeError если включено выполнение в режиме eager.

© 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/versions/r2.9/api_docs/python/tf/feature_column/embedding_column

Spec-Zone.ru

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