在整个PyTorch框架中,所有的神经网络本质上都是一个outograd package(自动求导工具包)
autograd package提供了一个对Tensors上所有的操作进行自动微分的功能。
关于torch.Tensor
关于torch.Function:
import torch
x1=torch.ones(3,3)
print(x1)
x=torch.ones(2,2,requires_grad=True)
print("x=",x)
y=x+2
print(y)
z=y*y*3
out=z.mean()
print(z,out)
print(x.grad_fn)
print(y.grad_fn)
print(z.grad_fn)
关于这些方法.require_grad_():该方法可以原地改变Tensor的属性.requires_grad的值。如果没有主动设定默认False.
a=torch.randn(2,2)
a=((a*3)/(a-1))
print(a.requires_grad)
a.requires_grad_(True)
print(a.requires_grad)
b=(a*a).sum()
print(b)
print(b.grad_fn)
原文:https://www.cnblogs.com/jacobshuo/p/14760399.html