首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PyTroch,渐变计算

PyTroch,渐变计算
EN

Stack Overflow用户
提问于 2019-07-05 15:14:34
回答 1查看 68关注 0票数 0

https://colab.research.google.com/github/pytorch/tutorials/blob/gh-pages/_downloads/neural_networks_tutorial.ipynb

嗨,我正在尝试用pytorch来理解神经网络。我对梯度计算有疑问..

将torch.optim作为选项导入

代码语言:javascript
运行
复制
create your optimizer
optimizer = optim.SGD(net.parameters(), lr=0.01)

在你的训练循环中:

optimizer.zero_grad() #将渐变缓冲区清零

输出=net(输入)

损失=标准(输出,目标)

loss.backward()

optimizer.step() #执行更新

代码语言:javascript
运行
复制

从关于代码中,我了解到loss.backward()计算渐变。我不确定,这些信息如何与optimizer共享以更新渐变。

有没有人能解释一下..

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2019-07-05 17:42:09

当您在该行中创建优化器时

代码语言:javascript
运行
复制
optimizer = optim.SGD(net.parameters(), lr=0.01)

您为net.parameters()提供了所有可学习的参数,这些参数将根据渐变进行更新。

模型和优化器之所以连接在一起,只是因为它们共享相同的参数。

PyTorch参数是张量。它们不再被称为变量。

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

https://stackoverflow.com/questions/56898239

复制
相关文章

相似问题

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