LightningModule and Pytorch Models should really be decoupled.
Not a feature per se, but a design suggestion for the LightningModule to discuss.
I think a lot of people already using PL the way so that they build the model in other classes. For example filling a Generator and Discriminator class and only initialize them within the LightningModule init method. The motivation is to have a modular design and more plug and play nature.
I am actually wondering if a specific feature obligates this coupling (like DDP support or some logging) or it was one of initial simple paths that is now difficult to refactor since the project got larger. By the way, I was thinking similar about usage of datasets and DataModule update just really solved my (hypothetical) problem about it. I appreciate the update and wonder; can a similar thing done with "nn.Module"s?