Hi,

I have this toy example and trying to take the second order derivative. I was able to use .grad to compute the first order derivative, but I was having trouble with the second order derivative. The error was something about one of the differentiate tensors has not been used in the graph. I tried to set allow_unused to True and it returned None. Can someone help explain what is wrong in this toy example? Thank you!

```
class TOY_NN(torch.nn.Module):
def __init__(self):
super().__init__()
self.layer1 = torch.nn.Linear(1,3)
self.layer2 = torch.nn.Linear(3,2)
def forward(self, x):
x = self.layer1(x)
x = self.layer2(x)
return x
nn = TOY_NN()
x = torch.tensor([3.]).requires_grad_(True)
out = nn(x)
d_out_d_in = torch.autograd.grad(outputs = out, inputs = x, retain_graph = True,
create_graph = True, grad_outputs=torch.ones(out.size()[0]))[0]
d_out_d_in_2 = torch.autograd.grad(outputs = d_out_d_in, inputs = x, retain_graph = True,
create_graph = False, allow_unused=False, grad_outputs=torch.ones(d_out_d_in.size()[0]))[0]
```