поэлементное умножение двумерных тензоров как слой нейронной сети в pytorch - PullRequest
0 голосов
/ 24 января 2020

У меня есть 3D-тензор с размером [Batch_size, n, n], который является выходом слоя моей сети, и постоянный 2D-тензор с размером [n, n]. Как я могу выполнить поэлементное умножение по размеру пакета, что должно привести к тензору резака с размером [Batch_size, n, n]? Я знаю, что возможно реализовать эту операцию с использованием явного l oop, но меня интересует наиболее эффективный способ.

Спасибо

1 Ответ

1 голос
/ 24 января 2020

Одним из вариантов является то, что вы можете расширить свою матрицу весов, чтобы иметь соответствующий размер партии (без использования дополнительной памяти). Например, twoDTensor.expand((batch_size, n, n)) возвращает те же базовые данные, но представляет трехмерный тензор. Вы можете видеть, что шаг для пакетного затемнения равен нулю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...