tf.keras.layers.HashedCrossing
Слой предварительной обработки, который пересекает признаки с использованием «хеширующего трюка».
tf.keras.layers.HashedCrossing(
num_bins,
output_mode='int',
sparse=False,
name=None,
dtype=None,
**kwargs
)
Этот слой пересекает категориальные признаки с использованием «хеширующего трюка». В концептуальном плане преобразование можно представить следующим образом: `hash(concatenate(features)) % num_bins.
В настоящее время этот слой пересекает только скалярные входные данные и пакеты скалярных входных данных. Допустимые формы входных данных: (batch_size, 1), (batch_size,) и ().
Примечание: Этот слой оборачивает tf.keras.layers.HashedCrossing. Его нельзя использовать в составе скомпилированного вычислительного графа модели с бэкендом, отличным от TensorFlow. Однако его можно использовать с любым бэкендом при выполнении в eager-режиме. Его также всегда можно использовать в составе конвейера предварительной обработки входных данных с любым бэкендом (вне самой модели) — именно так мы рекомендуем применять этот слой.
Примечание: Этот слой можно безопасно использовать в конвейере tf.data (независимо от используемого бэкенда).
| Аргументы | |
|---|---|
num_bins | Количество хеш-бинов. |
output_mode | Способ представления выходных данных слоя. Значения могут быть "int" или "one_hot"; настройка слоя выполняется следующим образом:
|
sparse | Логическое значение. Применимо только к режиму "one_hot" и допустимо только при использовании бэкенда TensorFlow. Если True, возвращает SparseTensor вместо плотного Tensor. По умолчанию — False. |
**kwargs | Именованные аргументы для создания слоя. |
Примеры:
Пересечение двух скалярных признаков.
layer = keras.layers.HashedCrossing(
num_bins=5)
feat1 = np.array(['A', 'B', 'A', 'B', 'A'])
feat2 = np.array([101, 101, 101, 102, 102])
layer((feat1, feat2))
array([1, 4, 1, 1, 3])Пересечение и one-hot-кодирование двух скалярных признаков.
layer = keras.layers.HashedCrossing(
num_bins=5, output_mode='one_hot')
feat1 = np.array(['A', 'B', 'A', 'B', 'A'])
feat2 = np.array([101, 101, 101, 102, 102])
layer((feat1, feat2))
array([[0., 1., 0., 0., 0.],
[0., 0., 0., 0., 1.],
[0., 1., 0., 0., 0.],
[0., 1., 0., 0., 0.],
[0., 0., 0., 1., 0.]], dtype=float32)| Атрибуты | |
|---|---|
input | Возвращает входные тензоры символьной операции. Возвращает только тензоры, соответствующие первому вызову операции. |
output | Возвращает выходные тензоры слоя. Возвращает только тензоры, соответствующие первому вызову операции. |
Методы
from_config
@classmethod
from_config(
config
)
Создает слой на основе его конфигурации.
Этот метод является обратным по отношению к get_config и позволяет создать тот же слой на основе словаря конфигурации. Он не обрабатывает связи между слоями (за это отвечает Network) и веса (за это отвечает 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/HashedCrossing