/ / Jak wykonać mnożenie tensora dwóch macierzy A (m, n) i B (n, k), aby uzyskać C (m, n, k) .. Czy można to zrobić za pomocą ramek danych - python, numpy, tensorflow, mnożenie

Jak wykonać mnożenie tensora dwóch macierzy A (m, n) i B (n, k), aby uzyskać C (m, n, k) .. Czy można to zrobić za pomocą ramek danych - python, numpy, tensorflow , mnożenie

Jak wykonać mnożenie tensorów z dwóch macierzy A (m, n) i B (n, k), tak aby uzyskać C (m, n, k) używając pythona ... Czy można to zrobić za pomocą ramek danych czy numpy?

Odpowiedzi:

1 dla odpowiedzi № 1

Jest to prosty nadawany produkt zewnętrzny w numpy:

In [560]: m,n,k=2,3,4
In [561]: A=np.ones((m,n))
In [562]: B=np.ones((n,k))
In [563]: C=A[:,:,None]*B[None,:,:]
In [564]: C.shape
Out[564]: (2, 3, 4)

Proces ten jest również łatwy do wykonania np.einsum, chociaż jest to trochę przesadzone, ponieważ nie podsumowujesz żadnego wymiaru (jak w przypadku a np.dot produkt):

In [565]: np.einsum("mn,nk->mnk",A,B).shape
Out[565]: (2, 3, 4)

Podobne pytanie sprzed 2 dni

numpy: rozgłaszanie mnożenia przez jedną wspólną oś dwóch tablic 2D

Biorąc pod uwagę szeroki charakter twojego pytania, prawdopodobnie wiele jest o mojej odpowiedzi, której nie rozumiesz, ale najpierw musisz przeczytać niektóre dokumenty.