torch版本:2.3.0+cpu
python: 3.9.11
错误消息:RuntimeError: One of the differentiated Tensors appears to not have been used in the graph. Set allow_unused=True if this is the desired behavior.
求解惑,谢谢
import torch
import torch.nn as nn
mdl = nn.Linear(1,1)
x = torch.linspace(0,1,5,requires_grad=True).view(-1,1)
y1 = torch.tanh(mdl(x))
y2 = mdl(x)
dy1 = torch.autograd.grad(y1,x,torch.ones_like(y1),create_graph=True,retain_graph=True)[0]
ddy1 = torch.autograd.grad(dy1,x,grad_outputs=torch.ones_like(dy1),create_graph=True,retain_graph=True)[0]
dy2 = torch.autograd.grad(y2,x,torch.ones_like(y2),create_graph=True,retain_graph=True)[0]
# 以上都正确,但下面这行为什么会报错?
ddy2 = torch.autograd.grad(dy2,x,grad_outputs=torch.ones_like(dy2),create_graph=True,retain_graph=True)[0]