Should have mentioned the obvious: torch.nn built-in modules initialize their own parameters (with initializers hardcoded in reset_parameters()), so your code is only useful if you’re not happy with default initializers, or create parameters manually, but then again - you would probably want to fine-tune them locally.