tf.keras.layers.experimental.preprocessing.CategoryEncoding
Слой категориального кодирования.
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: Двухмерный тензор(samples, timesteps). -
count_weights: Двухмерный тензор с такой же формой, как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.3/api_docs/python/tf/keras/layers/experimental/preprocessing/CategoryEncoding