首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyTorch导数无度

PyTorch导数无度
EN

Stack Overflow用户
提问于 2018-10-05 09:13:25
回答 1查看 88关注 0票数 0

我正在学习PyTorch官方文档的教程。我在试着理解内容。从You can do many crazy things with autograd!开始

代码语言:javascript
复制
x = torch.randn(3, requires_grad=True)
y = x * 2

i = 0
while y.data.norm() < 100:
    y = y * 2
    i+= 1

print(x)
print(y)
print(i)

输出:

代码语言:javascript
复制
tensor([-0.6933,  0.1126,  0.3913], requires_grad=True)
tensor([-88.7455,  14.4082,  50.0871], grad_fn=<MulBackward>)
6

x点找到[0.1, 1.0, 0.0001]的导数w.r.t

代码语言:javascript
复制
gradients = torch.tensor([0.1, 1.0, 0.0001], dtype=torch.float)
y.backward(gradients)
print(x.grad)

输出:

代码语言:javascript
复制
tensor([ 12.8000, 128.0000,   0.0128])

按照我的理解,i等于6。然后y = (2x)^7和导数与PyTorch不同。当将值替换为我的导数时,它将7作为一个因子。

来自PyTorch的答案只是简单地用给定的dy/dx = 2^7 * x点来代替dy/dx = 2^7 * x

问题:

如何推导出导数?

参考资料:

如何利用PyTorch计算偏导数?

PyTorch自动分异特征

EN

回答 1

Stack Overflow用户

发布于 2018-10-05 15:24:49

如果你仔细看一下表达式,会发现y = x * (2^7),它的导数是2^7 * x

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52662197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档