首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >torch.no_grad如何工作,使内部张量没有毕业生?

torch.no_grad如何工作,使内部张量没有毕业生?
EN

Stack Overflow用户
提问于 2022-09-14 12:47:26
回答 1查看 109关注 0票数 0

例如:

代码语言:javascript
复制
x = torch.tensor([1.], requires_grad=True)
with torch.no_grad():
  b = torch.tensor([1.])
  y = x * 2 + b

yb如何知道应该用requires_grad=False初始化

来自源代码 for torch.no_grad()的AFAIK最终将调用torch._C._set_grad_enabled(False)。我被困在这里是因为我不知道这个电话发生了什么事。它是否在初始化时设置了一个张量可以访问的全局变量,因此张量知道它现在不需要梯度?

EN

回答 1

Stack Overflow用户

发布于 2022-09-26 16:43:33

仅仅因为从其他张量中计算出来的张量在默认情况下从不要求梯度,无论上下文(梯度还是无梯度)。torch._C._set_grad_enabled(False)只需关闭所有方法save_for_backward,这些方法可以保存必要的张量,以便稍后计算后端,并且不创建用于C++背靠背图的节点和边缘。

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

https://stackoverflow.com/questions/73717108

复制
相关文章

相似问题

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