tf.keras.layers.HashedCrossing
Слой предобработки, который перемножает признаки с помощью «хэширования».
Наследуется от: Layer, Operation
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. Однако его можно использовать с любым бэкэндом при выполнении в режиме eagerly. Он также всегда может использоваться в качестве части предварительной обработки входных данных с любым бэкэндом (вне самой модели), что мы рекомендуем.
Примечание: Этот слой безопасно использовать внутри 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