乐趣区

关于pytorch:pytorch前向传播和反向传播

如下程序

import torch

a = torch.tensor(1.0, requires_grad=True)
b = torch.tensor(1.0, requires_grad=True)
print(a.grad)
y = (a ** 2) * (b ** 3)
z = y ** 100
print(z)
z.backward()
print(a.grad.data)
print(b.grad.data)

将会打印

None
tensor(1., grad_fn=<PowBackward0>)
tensor(200.)
tensor(300.)
前向流传就是 z 的值是从 a b 计算 y 的值 再从 y 计算 z 的值
反向流传就是从 z 对 a b 的表达式中计算对应的偏导

退出移动版