首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Add_graph“不能插入要求梯度作为常量的张量”

Add_graph“不能插入要求梯度作为常量的张量”
EN

Stack Overflow用户
提问于 2022-01-17 21:13:33
回答 1查看 627关注 0票数 1

我正在尝试使用torch.utils.tensorboard记录我的神经网络结构。但是,当我使用作者的add_graph函数时,出现了以下错误:

代码语言:javascript
运行
复制
Cannot insert a Tensor that requires grad as a constant. Consider making a parameter or input, or detaching the gradient.

然后打印一个形状张量(512,512),它等于模型输入和输出维的一个隐藏层。

我使用的代码如下:

代码语言:javascript
运行
复制
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter()
input_tensor = torch.Tensor(...., require_grads=False)
writer.add_graph(model, input_tensor)

我在谷歌上搜索了一下,但只找到了几个错误信息相同但原因完全不同的帖子。

这些图书馆的版本如下:

代码语言:javascript
运行
复制
Python 3.8.12
pytorch                   1.10.1     py3.8_cuda11.3_cudnn8.2.0_0    pytorch
cudatoolkit               11.3.1
tensorboard                   2.7.0
CUDA Version: 11.2
EN

回答 1

Stack Overflow用户

发布于 2022-08-30 19:10:36

如果不看到你的模型,就很难回答这个问题。我相信正在发生的是,你的模型有悬挂层,其中有(例如)卷积张量,没有传递给gpu,所以不是参数。

试着跑:

代码语言:javascript
运行
复制
model.cuda()
model.parameters()

看看你能不能得到你想要的模型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70747578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档