Как присвоить значения переменной, не нарушая граф вычислений - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь реализовать базовый механизм внимания, применяемый к графикам.Чтобы ускорить процесс, который я построил из матрицы смежности, две новые матрицы L и R. L и R имеют форму (number_of_edges, number_of_nodes), каждая строка из L представляет начальный узел ребра, а R представляет конечный узел.Таким образом я могу рассчитать все коэффициенты внимания одновременно.Ниже вы можете увидеть код.Я также умножаю L и R на весовую матрицу, которую нужно выучить.

 LH = broadcast_matmul(self.L, H)
 LHws = self.Ws(LH)
 RH = broadcast_matmul(self.R, H)
 RHwd = self.Wd(RH)
 X = LHws + RHwd
 scores = self.V(X)

Пока у меня есть все коэффициенты внимания внутри переменной оценки в виде 1d-вектора.Чтобы умножить его на график, мне нужно, чтобы он имел форму матрицы смежности (замените все 1 из смежной матрицы баллами).Здесь возникает моя проблема, как я мог бы сделать это, не нарушая граф вычислений.Я пытался создать новый тензор, но это не сработало.Любые идеи приветствуются.Заранее спасибо.

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