Expanding on @imy’s reply…
model.parameters()  returns a generator which can only be iterated over once before it is exhausted. It has to be re-instantiated every time you want to iterate over it. The proposed code is faster because it is only grad clipping your parameters once, the first time you call  torch.nn.utils.clip_grad_norm . Successive calls to  torch.nn.utils.clip_grad_norm  are operating on an exhausted iterator which effectively does nothing, and so is faster.