Hi,
This is because only the Tensors for which you want the .grad field to be populated needs the user to call requires_grad_().
When working with nn, this is done automatically for nn.Parameters.
So if you use nn.Parameters, you never need to call this explicitely.
Unless you want extra gradients to be computed for things that are not nn.Parameters.