Open clemoule opened 2 weeks ago
@clemoule Is this PR ready for review or is it a draft ? BTW, after a quick review, I find the code would be more readable.
@clemoule Is this PR ready for review or is it a draft ? BTW, after a quick review, I find the code would be more readable
The code can be executed but i need to verify the plot/log method. We will discuss of the way to redesign the trainers, parsers, lightningmodule and datamodule this afternoon. So this is more of a draft even though it works. We will be set this afternoon.
storing functions in classes (ex: PlotLightningModule) is a bit of over engineering but it helps to group functions and methods by purpose. It makes the code easier to map and understand => quicker to pick up the code => quicker to implement additions to the code and quicker to tinker
I think it's also a good thing to decouple computing metrics and making plots. I'll make some comments on the code if improvement is needed.
implementation of :
cli.py for executing the lightning cli
config_cli.yaml for parsing cli arguments
a lightningmodule.py which propose a standard structure for lightningmodule
a datamodule.py which propose a standard structure for datamodule
a utils.py in which are created utils class that are specialized in one task each. The idea is to create function and override methods methodically during the execution of lightningmodules. (ex: class dummylightningmodule(utils1, utils2, pl.LightningModule) (--> see method resolution order for more details)
refacto of the old version of lightning.py for autoregressive lightning module/config/cli
same for a masked auto encoder version (without autoregressive steps)
A faire:
(certain)
(peut etre)
pas encore de autoencoderDataModule donc pour l'instant comportement encoder-decoder (x!=y) et pas autoencoder(x=y).