其他分享
首页 > 其他分享> > autograd.grad 学习

autograd.grad 学习

作者:互联网

转自:https://blog.csdn.net/waitingwinter/article/details/105774720

1.对输入变量求导

要用到输出值对输入变量(不是Weights和Biases)求导,可以用pytorch 中的autograd.grad() 函数实现。

autograd.grad(outputs, inputs, grad_outputs=None, retain_graph=None, create_graph=False, only_inputs=True, allow_unused=False)

2.例子

y为标量:

import torch
from torch import autograd
 
x = torch.rand(3, 4)
x.requires_grad_()
y = torch.sum(x)
grads = autograd.grad(outputs=y, inputs=x)[0]
print(grads)

 y为向量:

y = x[:,0] +x[:,1]
# 设置输出权重为1
grad = autograd.grad(outputs=y, inputs=x, grad_outputs=torch.ones_like(y))[0]
print(grad)
# 设置输出权重为0
grad = autograd.grad(outputs=y, inputs=x, grad_outputs=torch.zeros_like(y))[0]
print(grad)

 

标签:inputs,autograd,torch,学习,outputs,求导,grad
来源: https://www.cnblogs.com/BlueBlueSea/p/15707840.html