РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
236 of 824 menu

Класс Dot

Класс Dot вычисляет скалярное произведение между элементами двух входных тензоров одинаковой формы. Слой принимает список из двух тензоров, перемножает их поэлементно и суммирует результат по последней оси. Первым параметром передается список входных тензоров, вторым можно указать оси нормализации.

Синтаксис

tf.keras.layers.Dot(axes, normalize=False)

Пример

Давайте создадим слой Dot и применим его к двум тензорам одинаковой формы:

import tensorflow as tf layer = tf.keras.layers.Dot(axes=1) t1 = tf.constant([[1, 2, 3], [4, 5, 6]]) t2 = tf.constant([[1, 2, 3], [4, 5, 6]]) res = layer([t1, t2]) print(res)

Результат выполнения кода:

tf.Tensor([14 77], shape=(2,), dtype=int32)

Пример

Давайте создадим слой Dot с нормализацией, чтобы получить косинусную близость между векторами:

import tensorflow as tf layer = tf.keras.layers.Dot(axes=1, normalize=True) t1 = tf.constant([[1.0, 2.0, 3.0]]) t2 = tf.constant([[4.0, 5.0, 6.0]]) res = layer([t1, t2]) print(res)

Результат выполнения кода:

tf.Tensor([0.9746318], shape=(1,), dtype=float32)

Смотрите также

  • слой Dense,
    который выполняет линейное преобразование
  • слой Multiply,
    который поэлементно перемножает входные тензоры
  • слой Concatenate,
    который объединяет тензоры по заданной оси
  • слой Add,
    который поэлементно складывает входные тензоры
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить