Numpy: Multiplying a matrix with a 3d tensor — Suggestion

后端 未结 2 1563
醉梦人生
醉梦人生 2020-12-09 19:11

I have a matrix P with shape MxN and a 3d tensor T with shape KxNxR. I want to multiply P with every N

2条回答
  •  情歌与酒
    2020-12-09 19:43

    You could also use Einstein summation notation:

    P = numpy.random.randint(1,10,(5,3))
    P.shape
    T = numpy.random.randint(1,10,(2,3,4))
    T.shape
    
    numpy.einsum('ij,kjl->kil',P,T)
    

    which should give you the same results as:

    P.dot(T).transpose(1,0,2)
    

提交回复
热议问题