формулу
Это самый быстрый способ вычисления, который я нашел
Код: Выделить всё
for i in range(number_parameters):
aux = self.loss_grad[:, i].detach()
product = torch.sum(aux * self.loss_grad[:, i])
first_term = torch.autograd.grad(product, self.model.parameters(), create_graph=True)
first_term = torch.cat([g.flatten() for g in first_term])
self.grad_sigma_diag[i] = (1/(m-1)) * first_term
Но поскольку мне нужно выполнить цикл for для вычисления каждой записи, это все еще медленно.
Я не могу понять, как это решить; любая помощь приветствуется.
Подробнее здесь: https://stackoverflow.com/questions/793 ... he-dataset