Spec-Zone.ru › TensorFlow 1.15

tf.feature_column.embedding_column

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

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

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

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

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

tf.compat.v1.feature_column.embedding_column, `tf.compat.v2.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
)

Используйте этот метод, когда ваши входные данные разреженные, но вы хотите преобразовать их в плотное представление (например, для подачи в 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' часто обеспечивает хорошую точность, особенно со столбцами «мешок слов». Каждый из них можно рассматривать как нормализацию на уровне примера для столбца. Для получения дополнительной информации см. 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.
Возвращаемое значение
DenseColumn преобразует из разреженного входного значения.
Исключения
ValueError если dimension не > 0.
ValueError если ровно один из ckpt_to_load_from и tensor_name_in_ckpt указан.
ValueError если initializer указан и не является вызываемой функцией.
RuntimeError Если включена жадная обработка.

© 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/r1.15/api_docs/python/tf/feature_column/embedding_column

Spec-Zone.ru

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