特殊的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

太坑了

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

相关推荐
540_5404 分钟前
ADVANCE Day35
人工智能·python·深度学习
DeepVis Research7 分钟前
【2025深度学习全家桶】Android Studio Otter + CUDA 11.8/12.1 离线安装包 | AI开发环境一键搞定
pytorch·深度学习·android studio·cuda·stablediffusion
郑泰科技19 分钟前
python深度学习报错:Original error was: No module named ‘numpy.core._multiarray_umath‘
python·深度学习·numpy
不要em0啦40 分钟前
从0开始学python:函数与数据容器
开发语言·python
无限码力1 小时前
华为OD技术面真题 - Python开发 -3
python·华为od·华为od技术面真题·华为od面试八股文·华为od面试python八股文·华为od技术面八股真题
0思必得01 小时前
[Web自动化] Requests模块响应的内容
运维·前端·python·自动化·html·web自动化
XLYcmy1 小时前
高级密码猜测生成器AdvancedPasswordGenerator密码生成器程序详细分析
开发语言·python·算法·网络安全·开发工具·源代码·口令安全
才不做选择1 小时前
基于 YOLOv8 的水果智能识别系统
python·yolo·目标检测·机器学习·计算机视觉
Edward.W2 小时前
Python实现人物剪影转ASCII艺术生成器
开发语言·python
天天进步20152 小时前
Python全栈项目--校园智能停车管理系统
开发语言·python