通过数学公式验证pytorch中autograd

≡放荡痞女 提交于 2019-12-06 16:36:12

一 code:

import torch

x = torch.ones(2, 2, requires_grad=True)
y = x + 2
z = y * y * 3
out = z.mean()
out.backward()
print(x.grad)

输出结果:
tensor([[4.5000, 4.5000],
[4.5000, 4.5000]])

二 数学公式来验算

\(out = \frac{1}{4}\sum_i z_i = \frac{1}{4}(z_1 + z_2 + z_3 + z_4)\)

\(z_i = 3(x_i+2)^2\)

\(z_i\bigr\rvert_{x_i=1} = 27\)

\(\frac{\partial out}{\partial x_i} = \frac{3}{2}(x_i+2)\)

\(\frac{\partial out}{\partial x_i}\bigr\rvert_{x_i=1} = \frac{9}{2} = 4.5\)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!