Hi, I am interested in gradients for some parameters after applying a loss function. Hence, I do as follows:

```
x = torch.autograd.Variable(torch.Tensor(nna.scalar_dot), requires_grad=True)
w = torch.autograd.Variable(torch.Tensor(nna.W_out), requires_grad=True)
out = torch.matmul(x, w)
loss_fn = nn.BCEWithLogitsLoss()
loss = loss_fn(out, y_tensor)
loss.backward(retain_graph=True)
out.grad --> returns None
```

However, if I detach the tensor `out`

and have it as `torch.autograd.Variable(torch.Tensor(torch.matmul(x, w)), requires_grad=True) `

, I get the correct result for it, however, `x.grad`

now turns None (which is understandable as we â€śunpinâ€ť it).

Could someone explain me, why `out.grad`

is `None`

and how can I get it? Thanks in advance!