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. Однако его можно использовать с любым бэкендом при выполнении в eager-режиме. Его также всегда можно использовать в составе конвейера предварительной обработки входных данных с любым бэкендом (вне самой модели) — именно так мы рекомендуем применять этот слой.
Примечание: Этот слой можно безопасно использовать в конвейере 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