Я хочу, чтобы умножить два больших матриц, а затем взять только диагональные элементы полученной матрицы:Как установить ограничения на индексы с участием разных тензоров в Theano?
m1[i, j] = sum_k A[i, k] * B[k, j]
m2[i] = m1[i, i]
Я могу сделать это таким образом. Тем не менее, это делает много ненужных операций. Лучший способ сделать это будет:
m[i, i] = sum_k A[i, k] * B[k, i]
Есть ли способ «заставить» сделать это вторым способом?
Есть ли проблема с do sum где 'i == j'? – Arman
@Arman, если я делаю это сам в цикле, проблем нет. Тем не менее, я хотел бы использовать команды Theano (tensordot). – Roman
Вы имеете в виду 'numpy.tensordot'? – Arman