Tensorflow Pytorch Autograd:运行时错误是什么;grad只能为标量输出隐式创建;意思是
我试图深入地理解Pytorch autograd;我想在通过一个S形函数后观察一个简单张量的梯度,如下所示:Tensorflow Pytorch Autograd:运行时错误是什么;grad只能为标量输出隐式创建;意思是,tensorflow,neural-network,pytorch,autograd,automatic-differentiation,Tensorflow,Neural Network,Pytorch,Autograd,Automatic Differentiation,我试图深入地理解Pytorch autograd;我想在通过一个S形函数后观察一个简单张量的梯度,如下所示: import torch from torch import autograd D = torch.arange(-8, 8, 0.1, requires_grad=True) with autograd.set_grad_enabled(True): S = D.sigmoid() S.backward() 我的目标是获取D.grad(),但即使在调用它之前,我也会得到
import torch
from torch import autograd
D = torch.arange(-8, 8, 0.1, requires_grad=True)
with autograd.set_grad_enabled(True):
S = D.sigmoid()
S.backward()
我的目标是获取D.grad(),但即使在调用它之前,我也会得到运行时错误:
RuntimeError: grad can be implicitly created only for scalar outputs
我看到另一个有类似问题的人,但那边的答案不适用于我的问题。谢谢该错误意味着您只能在幺正/标量张量上运行
.backward
(无参数)。也就是说,一个单元素张量
例如,你可以
T = torch.sum(S)
T.backward()
因为T
将是标量输出
我发布了更多关于使用pytorch计算中张量导数的信息。@jodag-谢谢你的回答