关于with torch.no_grad:的一些小问题

with torch.no_grad:是截断梯度记录的,新生成的数据的都不记录梯度,但是今天产生了一点小疑惑,如果存在多层函数嵌入,是不是函数内所有的数据都不记录梯度,验证了一下,确实是的。

python 复制代码
import torch
x = torch.randn(10, 5, requires_grad = True)
y = torch.randn(10, 5, requires_grad = True)
z = torch.randn(10, 5, requires_grad = True)
def add(x,y,z):
    w = x + y + z
    print(w.requires_grad)
    print(w.grad_fn)
def add2(x,y,z):
    add(x,y,z)
with torch.no_grad():
    add2(x,y,z)
    
add2(x,y,z)
"""
输出:
False
None
True
<AddBackward0 object at 0x00000250371BED68>
"""
相关推荐
徐先生 @_@|||35 分钟前
(Wheel 格式) Python 的标准分发格式的生成规则规范
开发语言·python
weixin_4093831244 分钟前
在kaggle训练Qwen/Qwen2.5-1.5B-Instruct 通过中二时期qq空间记录作为训练数据 训练出中二的模型为目标 第一次训练 好像太二了
人工智能·深度学习·机器学习·qwen
Mqh1807621 小时前
day45 简单CNN
python
学习者0071 小时前
python 下载离线库方法
python
声声codeGrandMaster2 小时前
AI之模型提升
人工智能·pytorch·python·算法·ai
魔镜前的帅比2 小时前
多 Agent 架构:Coordinator + Worker 模式
python·ai
路长冬2 小时前
深度学习评估指标:
深度学习
路长冬2 小时前
python基本语法
python
superman超哥2 小时前
仓颉语言中错误恢复策略的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
海上飞猪2 小时前
【Python基础】python判空
python