pytorch入门(二)——自动求导函数

1、定义变量

import torch
from torch.autograd import Variable
x = Variable(torch.ones(2,2),requires_grad=True)

其中变量x会有一个grad空间

y = x+1
print(y.grad_fn)

y会有一个grad_fn空间

2、反向传播求导

1)输出结果为一维时

z = y * y * 3
out = z.mean()

out.backward()
print(x.grad)

直接运行out.backward()即可

2)最终输出为多维时

x = torch.randn(3)
x = Variable(x, requires_grad=True)

y = x * 2
while y.data.norm() < 1000:
    y = y * 2

print(y)

# define gradients
gradients = torch.FloatTensor([0.1, 1.0, 0.0001])

#calculate grad
y.backward(gradients)

print(x.grad)

你可能感兴趣的:(python,机器学习,深度学习)