Spec-Zone.ru › TensorFlow 2.9

tf.keras.layers.CategoryEncoding

Слой предобработки, кодирующий целочисленные признаки.

Наследуется от: Layer, Module

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

Основные псевдонимы

tf.keras.layers.experimental.preprocessing.CategoryEncoding

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

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

tf.compat.v1.keras.layers.CategoryEncoding, tf.compat.v1.keras.layers.experimental.preprocessing.CategoryEncoding

tf.keras.layers.CategoryEncoding(
    num_tokens=None, output_mode='multi_hot', sparse=False, **kwargs
)

Этот слой предоставляет варианты для сжатия данных в категорическое кодирование, когда общее количество токенов известно заранее. Он принимает целочисленные значения в качестве входных данных и выводит плотное или разреженное представление этих входных данных. Для целочисленных входных данных, где общее количество токенов неизвестно, используйте tf.keras.layers.IntegerLookup вместо этого.

Обзор и полный список слоев предобработки см. в руководстве по предобработке руководство.

Примеры:

Кодирование данных с помощью one-hot

layer = tf.keras.layers.CategoryEncoding(
          num_tokens=4, output_mode="one_hot")
layer([3, 2, 0, 1])
<tf.Tensor: shape=(4, 4), dtype=float32, numpy=
  array([[0., 0., 0., 1.],
         [0., 0., 1., 0.],
         [1., 0., 0., 0.],
         [0., 1., 0., 0.]], dtype=float32)>

Кодирование данных с помощью multi-hot

layer = tf.keras.layers.CategoryEncoding(
          num_tokens=4, output_mode="multi_hot")
layer([[0, 1], [0, 0], [1, 2], [3, 1]])
<tf.Tensor: shape=(4, 4), dtype=float32, numpy=
  array([[1., 1., 0., 0.],
         [1., 0., 0., 0.],
         [0., 1., 1., 0.],
         [0., 1., 0., 1.]], dtype=float32)>

Использование взвешенных входных данных в режиме "count"

layer = tf.keras.layers.CategoryEncoding(
          num_tokens=4, output_mode="count")
count_weights = np.array([[.1, .2], [.1, .1], [.2, .3], [.4, .2]])
layer([[0, 1], [0, 0], [1, 2], [3, 1]], count_weights=count_weights)
<tf.Tensor: shape=(4, 4), dtype=float64, numpy=
  array([[0.1, 0.2, 0. , 0. ],
         [0.2, 0. , 0. , 0. ],
         [0. , 0.2, 0.3, 0. ],
         [0. , 0.2, 0. , 0.4]], dtype=float32)>
Аргументы
num_tokens Общее количество токенов, которые должен поддерживать слой. Все входные данные в слой должны быть целыми числами в диапазоне 0 <= value < num_tokens, в противном случае будет выброшено исключение.
output_mode Описание выходных данных слоя. По умолчанию "multi_hot". Значения могут быть "one_hot", "multi_hot" или "count", настраивая слой следующим образом:
  • "one_hot": Кодирует каждый отдельный элемент на входе в массив размера num_tokens, содержащий 1 в индексе элемента. Если последняя размерность имеет размер 1, будет кодировать по этой размерности. Если последняя размерность не имеет размера 1, будет добавлена новая размерность для закодированного выхода.
  • "multi_hot": Кодирует каждый образец на входе в один массив размера num_tokens, содержащий 1 для каждого присутствующего в образце термина словаря. Обрабатывает последнюю размерность как размерность образца, если форма входных данных (..., sample_length), форма выходных данных будет (..., num_tokens).
  • "count": Аналогично "multi_hot", но целочисленный массив содержит счетчик числа раз, когда токен в этом индексе встречался в образце. Для всех режимов вывода в настоящее время поддерживается только выход до ранга 2.
sparse Булево. Если true, возвращает SparseTensor вместо плотного Tensor. По умолчанию False.

Аргументы вызова:

  • inputs: 1D или 2D тензор целочисленных входных данных.
  • count_weights: Тензор той же формы, что и inputs, указывающий на вес каждого значения образца при суммировании в режиме count. Не используется в режимах "multi_hot" или "one_hot".

© 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/keras/layers/CategoryEncoding

Spec-Zone.ru

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