Маскированная авторегрессия Плотность потока точки - PullRequest
0 голосов
/ 16 июня 2020

Я пытался реализовать маскированные авторегрессионные потоки в pytorch, и я хочу оценить плотность точки данных x. В документе они упоминают, что этого можно добиться путем изменения формулы переменной, но я не понимаю, как заставить ее работать. В прямом проходе модели у меня есть u, log_det в качестве вывода для данной точки данных x. Как я могу использовать их для расчета плотности для p (x)? Соответствуют ли u, log_det частям в формуле изменения переменной?

 def forward(self, x):
       log_det_sum = torch.zeros(x.shape[0])
       for layer in self.layers:
           x, log_det = layer(x)
           log_det_sum += log_det
       return x, log_det_sum

   def backward(self, x):
       log_det_sum = torch.zeros(x.shape[0])
       for maf in reversed(self.layers):
           x, log_det = maf.backward(x)
           log_det_sum += log_det
       return x, log_det_sum

Я слежу за реализацией в этого репозитория GitHub .

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