В PyTorch у меня есть фиксированный набор данных x формы (batch size, input dimension) и сеть прямого распространения network. Если я назову выход сети yhat = network(x) формы (batch size, output dimension), как мне вычислить градиент yhat относительно параметров network для каждой точки данных индивидуально?
x
(batch size, input dimension)
network
yhat = network(x)
(batch size, output dimension)
yhat
Вы можете сделать yhat.backward(), это установит атрибут .grad для каждого сетевого параметра, а затем вы можете прочитать .grad как:
yhat.backward()
.grad
grads = [] for param in network.parameters(): grads.append(param.grad)