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

Функция tensordot

Функция tensordot вычисляет тензорное скалярное произведение двух массивов, суммируя произведения элементов по указанным осям. Первый параметр - первый массив, второй - второй массив. Третий параметр определяет оси, по которым производится свёртка. Если передать целое число, оно задаёт количество последних осей первого и первых осей второго массива, участвующих в свёртке. При передаче кортежа можно указать конкретные оси для каждого массива.

Синтаксис

np.tensordot(a, b, axes=2)

Пример

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

import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[7, 8], [9, 10], [11, 12]]) res = np.tensordot(arr1, arr2, axes=1) print(res)

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

[[ 58 64] [139 154]]

Пример

Теперь выполним тензорное произведение двух двумерных массивов с явным указанием осей для свёртки:

import numpy as np arr1 = np.array([[1, 2], [3, 4], [5, 6]]) arr2 = np.array([[7, 8, 9], [10, 11, 12]]) res = np.tensordot(arr1, arr2, axes=([1], [0])) print(res)

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

[[ 27 30 33] [ 61 68 75] [ 95 106 117]]

Пример

Рассмотрим работу функции с трёхмерными массивами, где свёртка выполняется по двум осям:

import numpy as np arr1 = np.arange(24).reshape(2, 3, 4) arr2 = np.arange(24).reshape(3, 2, 4) res = np.tensordot(arr1, arr2, axes=([1, 2], [0, 2])) print(res)

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

[[ 880 1000] [1960 2200]]

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

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