Извините, что название моего вопроса может звучать расплывчато, поскольку я не знаю точного названия такой операции.
Учитывая тензор A
(N × M × M) и одномерный массив b
(N), я хотел бы получить другой тензор B
(N × M × M) такой, что каждый элемент (M × M) в B
- это умножение между A
и b
.
Возможное, но уродливое решение состоит в том, чтобы сначала сгладить (изменить) A
, т. Е. Преобразовать A
в двумерный массив, затем применить операцию dot
и, наконец, изменить ее обратно.
Существует ли какая-либо стандартная / простая операция в numpy
для достижения этой цели?
Например,
A = np.ones(12).reshape(3, 2, 2)
b = np.array([2, 3, 4])
Ожидаемое B
составляет
[[[2, 2],
[2, 2]],
[[3, 3],
[3, 3]],
[[4, 4],
[4, 4]]]