Spec-Zone.ru › TensorFlow

tf.feature_column.categorical_column_with_vocabulary_file

CategoricalColumn с файлом словаря. (устарела)

Предупреждение: tf.feature_column не рекомендуется использовать в новом коде. Вместо этого предварительную обработку признаков можно выполнять напрямую с помощью слоёв предварительной обработки Keras или с помощью универсального инструмента tf.keras.utils.FeatureSpace, построенного на их основе. Подробнее см. в руководстве по миграции.
tf.feature_column.categorical_column_with_vocabulary_file(
    key,
    vocabulary_file,
    vocabulary_size=None,
    dtype=tf.dtypes.string,
    default_value=None,
    num_oov_buckets=0,
    file_format=None
)
Устарело: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: используйте вместо этого слои предварительной обработки Keras напрямую или через утилиту tf.keras.utils.FeatureSpace. Для каждого tf.feature_column.* существует функциональный аналог в tf.keras.layers для предварительной обработки признаков при обучении модели Keras.

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

Для входного словаря features значение features[key] — это либо Tensor, либо SparseTensor. Если Tensor, пропущенные значения могут быть представлены как -1 для целых чисел и '' для строк; этот столбец признаков будет отбрасывать такие значения.

Пример с num_oov_buckets: файл '/us/states.txt' содержит 50 строк, в каждой из которых указано двухбуквенное обозначение штата США. Всем входным значениям, содержащимся в этом файле, присваивается идентификатор от 0 до 49, соответствующий номеру строки. Все остальные значения хешируются, и им присваивается идентификатор от 50 до 54.

states = categorical_column_with_vocabulary_file(
    key='states', vocabulary_file='/us/states.txt', vocabulary_size=50,
    num_oov_buckets=5)
columns = [states, ...]
features = tf.io.parse_example(..., features=make_parse_example_spec(columns))
linear_prediction = linear_model(features, columns)

Пример с default_value: файл '/us/states.txt' содержит 51 строку — в первой указано 'XX', а в каждой из остальных 50 — двухбуквенное обозначение штата США. Как литеральному значению 'XX' во входных данных, так и другим значениям, отсутствующим в файле, будет присвоен идентификатор 0. Всем остальным значениям присваивается соответствующий номер строки от 1 до 50.

states = categorical_column_with_vocabulary_file(
    key='states', vocabulary_file='/us/states.txt', vocabulary_size=51,
    default_value=0)
columns = [states, ...]
features = tf.io.parse_example(..., features=make_parse_example_spec(columns))
linear_prediction, _, _ = linear_model(features, columns)

А чтобы создать эмбеддинг с любым из этих вариантов:

columns = [embedding_column(states, 3),...]
features = tf.io.parse_example(..., features=make_parse_example_spec(columns))
dense_tensor = input_layer(features, columns)
Аргументы
key Уникальная строка, идентифицирующая входной признак. Она используется в качестве имени столбца и ключа словаря для конфигураций разбора признаков, объектов Tensor и столбцов признаков.
vocabulary_file Имя файла словаря.
vocabulary_size Количество элементов в словаре. Оно не должно превышать длину vocabulary_file; если оно меньше длины, последующие значения игнорируются. Если задано None, используется длина vocabulary_file.
dtype Тип признаков. Поддерживаются только строковый и целочисленный типы.
default_value Целочисленный идентификатор, возвращаемый для значений признака, отсутствующих в словаре; по умолчанию — -1. Нельзя задавать одновременно с положительным значением num_oov_buckets.
num_oov_buckets Неотрицательное целое число — количество корзин для значений, отсутствующих в словаре. Всем таким входным значениям будут присвоены идентификаторы в диапазоне [vocabulary_size, vocabulary_size+num_oov_buckets) на основе хеша входного значения. Нельзя задавать положительное значение num_oov_buckets одновременно с default_value.
file_format Формат файла словаря. По умолчанию используется формат 'text', если только vocabulary_file не является строкой, заканчивающейся на 'tfrecord.gz'. Допустимое альтернативное значение для file_format — 'tfrecord_gzip'.
Возвращает
CategoricalColumn с файлом словаря.
Вызывает исключения
ValueError vocabulary_file отсутствует или не может быть открыт.
ValueError vocabulary_size отсутствует или меньше 1.
ValueError num_oov_buckets — отрицательное целое число.
ValueError Одновременно заданы num_oov_buckets и default_value.
ValueError dtype не является ни строкой, ни целым числом.

© 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/feature_column/categorical_column_with_vocabulary_file

Spec-Zone.ru

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