Confusion about when gradients are recorded

IMO, gradients are recorded only when the tensor is initialized with requires_grad=True.

In addition to this, if a tensor is initialized with requires_grad=False, then the gradients are not recorded even w/o the with torch.no_grad() context or/nor model.eval().

Am I wrong?

No you’re right.
Did you saw a different behaviour?

No, I didn’t but I’m just curious because I’m not used to python context manager nor 0.4.0