tf.keras.layers.experimental.preprocessing.CategoryEncoding
Слой категориального кодирования.
Наследуется от: PreprocessingLayer, Layer, Module
tf.keras.layers.experimental.preprocessing.CategoryEncoding(
max_tokens=None, output_mode=BINARY, sparse=False, **kwargs
)
Этот слой предоставляет варианты для сжатия данных в категориальное кодирование. Он принимает целочисленные значения в качестве входных данных и выводит плотное представление (один образец = тензор с индексом 1 из значений с плавающей запятой, представляющий данные о токенах образца) этих входных данных.
Примеры:
layer = tf.keras.layers.experimental.preprocessing.CategoryEncoding(
max_tokens=4, output_mode="count")
layer([[0, 1], [0, 0], [1, 2], [3, 1]])
<tf.Tensor: shape=(4, 4), dtype=float32, numpy=
array([[1., 1., 0., 0.],
[2., 0., 0., 0.],
[0., 1., 1., 0.],
[0., 1., 0., 1.]], dtype=float32)>
Примеры с взвешенными входными данными:
layer = tf.keras.layers.experimental.preprocessing.CategoryEncoding(
max_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]])>
Аргументы вызова:
-
inputs: 2D-тензор(samples, timesteps). -
count_weights: 2D-тензор такой же формы, какinputs, указывающий на вес каждого значения образца при суммировании в режимеcount. Не используется в режимахbinaryилиtfidf.
| Атрибуты | |
|---|---|
max_tokens | Максимальный размер словаря для данного слоя. Если None, размер словаря не ограничен. |
output_mode | Описание вывода слоя. По умолчанию "binary". Значения могут быть "binary", "count" или "tf-idf", настраивая слой следующим образом: "binary": Выводит один целочисленный массив на пакет, размером либо vocab_size, либо max_tokens, содержащий 1 в всех элементах, где токен, сопоставленный этому индексу, существует по крайней мере один раз в элементе пакета. "count": Как "binary", но целочисленный массив содержит количество раз, когда токен в этом индексе появился в элементе пакета. "tf-idf": Как "binary", но алгоритм TF-IDF применяется для нахождения значения в каждом слоте токена. |
sparse | Булево значение. Если True, возвращает SparseTensor вместо плотного Tensor. По умолчанию False. |
Методы
adapt
adapt(
data, reset_state=True
)
Подстраивает состояние слоя предобработки под набор данных.
Переопределяет метод adapt по умолчанию, чтобы применить соответствующую предобработку к входным данным перед передачей в комбинирующий механизм.
| Аргументы | |
|---|---|
data | Данные для обучения. Может быть передан как tf.data Dataset, или как массив numpy. |
reset_state | Необязательный аргумент, указывающий, нужно ли очищать состояние слоя в начале вызова adapt. Это должно быть True для этого слоя, который не поддерживает повторные вызовы adapt. |
| Исключения | |
|---|---|
RuntimeError | если слой не может быть адаптирован в данный момент. |
set_num_elements
set_num_elements(
num_elements
)
set_tfidf_data
set_tfidf_data(
tfidf_data
)
© 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/r2.4/api_docs/python/tf/keras/layers/experimental/preprocessing/CategoryEncoding