Tengo una matriz P
con forma MxN
y un tensor 3d T
con forma KxNxR
. Quiero multiplicar P
con cada matriz NxR
en T
, lo que resulta en un tensor 3D KxMxR
.Numpy: Multiplicar una matriz con un tensor 3d - Sugerencia
P.dot(T).transpose(1,0,2)
da el resultado deseado. ¿Hay una solución más bonita (es decir, deshacerse de transpose
) a este problema? Esta debe ser una operación bastante común, por lo que supongo, otros han encontrado diferentes enfoques, por ejemplo. usando tensordot
(que intenté pero no obtuve el resultado deseado). Opiniones/Vistas serían muy apreciadas!
Ja! Observé el resultado de 'scipy.tensordot (P, T, axes = [1,1]]' durante horas ayer, desesperado por las dimensiones intercambiadas. No sabía nada sobre swapaxes, ¡gracias! – osdf
De nada. También verifiqué que el intercambio de los ejes da la respuesta numérica correcta, y lo hace. –