Внешний продукт Pytorch Batch Matrix-Matrix

Аналогично вопросу в внешнем продукте пакетной матрицы Pytorch у меня есть две матрицы и хотели бы вычислить их внешнее произведение, или, другими словами, попарное поэлементное произведение.

Пример формы: если у нас есть X1 и X2 форм torch.Size([32, 300, 8]), результат должен иметь размер torch.Size([32, 300, 300, 8])


person Codevan    schedule 19.08.2019    source источник
comment
Как насчет torch.einsum('bik,bjk->bijk', X1, X2)?   -  person asymptote    schedule 19.08.2019


Ответы (1)


Вы можете добавить одноэлементные размеры:

X1[:, None, ...] * X1[..., None, :]

Но комментарий Усмана Али также является хорошей идеей. Используйте torch.einsum:

torch.einsum('bik,bjk->bijk', X1, X2)
person Shai    schedule 19.08.2019