настроить torch.einsum (поставить несколько ограничений при скалярном произведении в каждой строке-столбце)? - PullRequest
0 голосов
/ 27 мая 2020

Заранее спасибо за помощь!

Допустим, у меня есть две тензорные матрицы: A, B A.shape = [10,4,3,3] B.shape = [10,4,3 , 6]

Затем я хотел бы выполнить следующие вычисления при использовании torch.einsum ('abcd, abdf-> abcf') в основном, если мне нужно только 'cd' и 'df' из einsum ( или [3,3], [3,6]), я хотел бы сделать это:

inverse_co sh (- (a1b1 + ... + a_ {n-1} b_ { n-1})) + a_n b_n, если a_n * b_n> 0, else -float ('inf')

Я мог бы манипулировать перед использованием torch.einsum, если я этого не сделаю есть такое ограничение: если a_n * b_n> 0, else -float ('inf')

Может ли кто-нибудь указать мне, как это сделать?

...