tf.keras.layers.CategoryEncoding
Слой предобработки, который кодирует целочисленные признаки.
Наследуется от: Layer, Operation
tf.keras.layers.CategoryEncoding(
num_tokens=None, output_mode='multi_hot', sparse=False, **kwargs
)
Используется в блокнотах
| Используется в руководстве | Используется в учебниках |
|---|---|
Этот слой предоставляет варианты сжатия данных в категорическое кодирование, когда общее количество токенов известно заранее. Он принимает целочисленные значения в качестве входных данных и выводит плотное или разреженное представление этих входных данных. Для целочисленных входных данных, где общее количество токенов неизвестно, используйте keras.layers.IntegerLookup вместо этого.
Примечание: Этот слой безопасно использовать внутри конвейера tf.data (независимо от используемого бэкэнда).
Примеры:
Однозначное кодирование данных
layer = keras.layers.CategoryEncoding(
num_tokens=4, output_mode="one_hot")
layer([3, 2, 0, 1])
array([[0., 0., 0., 1.],
[0., 0., 1., 0.],
[1., 0., 0., 0.],
[0., 1., 0., 0.]]>Многозначное кодирование данных
layer = keras.layers.CategoryEncoding(
num_tokens=4, output_mode="multi_hot")
layer([[0, 1], [0, 0], [1, 2], [3, 1]])
array([[1., 1., 0., 0.],
[1., 0., 0., 0.],
[0., 1., 1., 0.],
[0., 1., 0., 1.]]>Использование взвешенных входных данных в режиме "count"
layer = 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)
array([[0.1, 0.2, 0. , 0. ],
[0.2, 0. , 0. , 0. ],
[0. , 0.2, 0.3, 0. ],
[0. , 0.2, 0. , 0.4]]>| Аргументы | |
|---|---|
num_tokens | Общее количество токенов, которое должен поддерживать слой. Все входные данные для слоя должны быть целыми числами в диапазоне 0 <= value < num_tokens, в противном случае будет выброшено исключение. |
output_mode | Указание для вывода слоя. Значения могут быть "one_hot", "multi_hot" или "count", настраивая слой следующим образом:
- `"one_hot"`: Encodes each individual element in the input
into an array of `num_tokens` size, containing a 1 at the
element index. If the last dimension is size 1, will encode
on that dimension. If the last dimension is not size 1,
will append a new dimension for the encoded output.
- `"multi_hot"`: Encodes each sample in the input into a single
array of `num_tokens` size, containing a 1 for each
vocabulary term present in the sample. Treats the last
dimension as the sample dimension, if input shape is
`(..., sample_length)`, output shape will be
`(..., num_tokens)`.
- `"count"`: Like `"multi_hot"`, but the int array contains a
count of the number of times the token at that index
appeared in the sample.
Для всех режимов вывода в настоящее время поддерживается только вывод до ранга 2. По умолчанию |
sparse | Нужно ли возвращать разреженный тензор; для бэкэндов, поддерживающих разреженные тензоры. |
| Аргументы вызова | |
|---|---|
inputs | 1D или 2D тензор целочисленных входных данных. |
count_weights | Тензор с такими же размерами, как и inputs, указывающий на вес каждого значения образца при суммировании в режиме count. Не используется в режимах "multi_hot" или "one_hot". |
| Атрибуты | |
|---|---|
input | Извлекает тензор(ы) ввода символической операции. Возвращает только тензор(ы), соответствующие первому вызову операции. |
output | Извлекает тензор(ы) вывода слоя. Возвращает только тензор(ы), соответствующие первому вызову операции. |
Методы
from_config
@classmethod
from_config(
config
)
Создает слой из его конфигурации.
Этот метод — обратный get_config, способный создать тот же слой из словаря конфигурации. Он не обрабатывает соединение слоев (обрабатывается сетью), а также веса (обрабатываются set_weights).
| Аргументы | |
|---|---|
config | Словарь Python, обычно результат get_config. |
| Возвращает | |
|---|---|
| Экземпляр слоя. |
symbolic_call
symbolic_call(
*args, **kwargs
)
© 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/keras/layers/CategoryEncoding