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

Функция tensordot

Функция tensordot вычисляет тензорное произведение двух тензоров по указанным осям. Первым параметром передается первый тензор a, вторым - второй тензор b, третьим - оси axes. Параметр axes может быть целым числом, списком или кортежем из двух списков. Если задано целое число N, то суммирование производится по последним N осям тензора a и первым N осям тензора b.

Синтаксис

tf.tensordot(a, b, axes)

Пример

Давайте вычислим тензорное произведение двух двумерных тензоров с осями 1:

import tensorflow as tf a = tf.constant([[1, 2, 3], [4, 5, 6]]) b = tf.constant([[1, 2, 3], [4, 5, 6]]) res = tf.tensordot(a, b, axes=1) print(res)

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

tf.Tensor( [[14 32 50] [32 77 122]], shape=(2, 3), dtype=int32)

Пример

Давайте вычислим тензорное произведение с осями 0:

import tensorflow as tf a = tf.constant([[1, 2, 3], [4, 5, 6]]) b = tf.constant([[1, 2, 3], [4, 5, 6]]) res = tf.tensordot(a, b, axes=0) print(res)

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

tf.Tensor( [[[[ 1 2 3] [ 4 5 6]] [[ 2 4 6] [ 8 10 12]] [[ 3 6 9] [12 15 18]]] [[[ 4 8 12] [16 20 24]] [[ 5 10 15] [20 25 30]] [[ 6 12 18] [24 30 36]]]], shape=(2, 3, 2, 3), dtype=int32)

Пример

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

<+python+> import tensorflow as tf a = tf.constant([[1, 2, 3], [4, 5, 6]]) b = tf.constant([[1, 2, 3], [4, 5, 6]]) res = tf.tensordot(a, b, axes=[[1], [0]]) print(res) <-python+>

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

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

Пример

Давайте вычислим тензорное произведение двух трехмерных тензоров по двум осям:

import tensorflow as tf a = tf.constant([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) b = tf.constant([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) res = tf.tensordot(a, b, axes=2) print(res)

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

tf.Tensor( [[ 30 70] [ 70 174]], shape=(2, 2), dtype=int32)

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

  • функцию matmul,
    которая выполняет матричное умножение тензоров
  • функцию einsum,
    которая вычисляет выражение Эйнштейна над тензорами
  • функцию multiply,
    которая выполняет поэлементное умножение тензоров
  • функцию reduce_sum,
    которая вычисляет сумму элементов тензора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить