关于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>
"""
相关推荐
鲸屿19535 分钟前
python之socket网络编程
开发语言·网络·python
却道天凉_好个秋35 分钟前
深度学习(四):数据集划分
人工智能·深度学习·数据集
里昆39 分钟前
【AI】Tensorflow在jupyterlab中运行要注意的问题
人工智能·python·tensorflow
AI视觉网奇41 分钟前
pycharm 最新版上一次编辑位置
python
2401_828890641 小时前
使用 BERT 实现意图理解和实体识别
人工智能·python·自然语言处理·bert·transformer
AI人工智能+2 小时前
炫光活体检测技术:通过光学技术实现高效、安全的身份验证,有效防御多种伪造手段。
人工智能·深度学习·人脸识别·活体检测
多恩Stone2 小时前
【3DV 进阶-2】Hunyuan3D2.1 训练代码详细理解下-数据读取流程
人工智能·python·算法·3d·aigc
xiaopengbc2 小时前
在 Python 中实现观察者模式的具体步骤是什么?
开发语言·python·观察者模式
Python大数据分析@3 小时前
python用selenium怎么规避检测?
开发语言·python·selenium·网络爬虫