tf.feature_column.embedding_column
| Посмотреть исходный код на GitHub |
DenseColumn преобразует из разреженного категориального входного значения.
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