特殊的bug:element 0 of tensors does not require grad and does not have a grad_fn

很多帖子都说了,设置requires_grad_()就行。

但是我这次遇到的不一样,设置了都不行。

我是这种情况,在前面设置了torch.no_grad():,又在这个的作用域下进行了requires_grad_(),这是不起作用的。

简单版:

py 复制代码
with torch.no_grad():
            model.eval()
            pos_embed = model(homo_data.x, homo_data.edge_index)
						....            
            pos_embed.requires_grad_()# 不起作用
            ....

这样子直接看,傻瓜都不会犯错。而我这个就比较隐蔽了。。。

我的:

py 复制代码
# file1.py
with torch.no_grad():
    pos_embed = model(homo_data.x, homo_data.edge_index)
    ...
    fun_A(pos_embed)
    ...
# file2.py
def fun_A(x):
    ...
    fun_B(x)
    ...
# file3.py
def fun_B(x):
	...
  x.requires_grad_() # 由于x是在torch.no_grad中传过来的,所以不起作用
  ...

就这样一直会报错element 0 of tensors does not require grad and does not have a grad_fn

太坑了

大家引以为鉴,看看出现这个情况没。

相关推荐
人工智能AI技术2 分钟前
【Agent从入门到实践】20 LLM的基础使用:API调用(OpenAI、国产大模型),程序员快速上手
人工智能·python
云上凯歌3 分钟前
01_AI工具平台项目概述.md
人工智能·python·uni-app
R-sz4 分钟前
app登录接口实现,基于JWT的APP登录认证系统实现方案
java·开发语言·python
WangYaolove13148 分钟前
基于图像取证技术研究与实现(源码+文档)
python·django·毕业设计·源码·计算机源码
程序员敲代码吗11 分钟前
用Python监控系统日志并发送警报
jvm·数据库·python
qwerasda12385214 分钟前
YOLO13-SEG-RFAConv:隧道围岩病理缺陷识别的改进方法与底层逻辑
python
Python大数据分析@15 分钟前
Claude Code、Cursor、Trae、OpenCode怎么选?
python
q_354888515318 分钟前
机器学习:python共享单车数据分析系统 可视化 Flask框架 单车数据 骑行数据 大数据 机器学习 计算机毕业设计✅
人工智能·python·机器学习·数据分析·flask·推荐算法·共享单车
小北方城市网21 分钟前
接口性能优化实战:从秒级到毫秒级
java·spring boot·redis·后端·python·性能优化
人工智能AI技术23 分钟前
【Agent从入门到实践】22 LLM的局限性:Agent开发中需要规避的坑
人工智能·python