关于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>
"""
相关推荐
科学最TOP14 小时前
IJCAI25|如何平衡文本与时序信息的融合适配?
人工智能·深度学习·神经网络·机器学习·时间序列
黑客思维者14 小时前
突破 Python 多线程限制:GIL 问题的 4 种实战解法
服务器·数据库·python·gil
谷粒.15 小时前
自动化测试覆盖率从30%到80%的演进历程:策略、挑战与未来展望
运维·网络·深度学习·架构·自动化·transformer·测试覆盖率
FY_201815 小时前
Stable Baselines3中调度函数转换器get_schedule_fn 函数
开发语言·人工智能·python·算法
Coder_Boy_16 小时前
【物联网技术】- 基础理论-0001
java·python·物联网·iot
FY_201816 小时前
SubprocVecEnv 原理、详细使用方法
人工智能·python·机器学习
czliutz16 小时前
使用pdfplumber库处理pdf文件获取文本图片作者等信息
python·pdf
Sunhen_Qiletian16 小时前
《Python开发之语言基础》第七集:库--时间库
前端·数据库·python
smile_Iris16 小时前
Day 30 函数定义与参数
开发语言·python
PixelMind16 小时前
【LUT技术专题】LLFLUT++: 基于拉普拉斯金字塔的LUT方法
图像处理·深度学习·图像增强·3dlut