Hi,
Yes this is kind of a grey area for the optimizers: they handle differently a gradient of None vs a Tensor full of 0s.
The first will perform no update at all.
The second will perform the update with a gradient of 0, which can be non-zero if there is weight decay for example.