关于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>
"""
相关推荐
JH灰色2 分钟前
【大模型】-AutoGen Studio的搭建
python·语言模型
趁月色小酌***3 分钟前
JAVA 知识点总结3
java·开发语言·python
智航GIS8 分钟前
6.1 for循环
开发语言·python·算法
冬至喵喵8 分钟前
FLINK故障重启策略
大数据·python·flink
JHC0000008 分钟前
推特(X)平台推文自动保存(支持保存所有推文相关数据到服务器)
运维·服务器·爬虫·python·dreamweaver
znhy_238 分钟前
day45打卡
python·深度学习·机器学习
尋找記憶的魚12 分钟前
pytorch——神经网络框架的搭建以及网络的训练
人工智能·pytorch·神经网络
不要em0啦13 分钟前
从0开始学python:python环境的安装和一些基础知识
开发语言·python
小熊熊知识库16 分钟前
Pytorch介绍以及AI模型 window 安装下载详解
人工智能·pytorch·python
Warren9820 分钟前
MySQL 8 中的保留关键字陷阱:当表名“lead”引发 SQL 语法错误
linux·数据库·python·sql·mysql·django·virtualenv