Spec-Zone.ru › TensorFlow

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", конфигурирующими слой следующим образом:
  • "int": Возвращает целочисленные индексы ячеек непосредственно.
  • "one_hot": Кодирует каждый элемент входных данных в массив того же размера, что и num_bins, содержащий 1 в индексе ячейки входных данных. По умолчанию "int".
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API