Hi Rohit!



 Rohit_Modee:

I have tensor x shape = torch.Size([32, 69, 64]) and y = torch.Size([32, 69, 68, 64]). I want output to be torch.Size([32, 69, 68, 1]). matrix multiplication of [1,64] and [68,64] to [68,1].


Try:
torch.einsum ('ijl, ijkl -> ijk', x, y).unsqueeze (-1)

The einsum() “contracts” over the “64” dimension, while the
.unsqueeze (-1) adds the trailing singleton dimension.
Best.
K. Frank