Harsha909's picture
Upload 47 files
6dc7c27 verified
Raw
History Blame Contribute Delete
1.69 kB
import omegaconf
import hydra
from comet_ml import Experiment # must be here for comet documentation
from pytorch_lightning.loggers import CometLogger
import pytorch_lightning as pl
from src.pl_data_modules import ConsecDataModule
from src.pl_modules import ConsecPLModule
from src.utils.hydra import fix
def train(conf: omegaconf.DictConfig) -> None:
# reproducibility
pl.seed_everything(conf.train.seed)
# data module declaration
pl_data_module = ConsecDataModule(conf)
# main module declaration
pl_module = ConsecPLModule(conf)
# callbacks declaration
callbacks_store = []
if conf.train.early_stopping_callback is not None:
early_stopping = hydra.utils.instantiate(conf.train.early_stopping_callback)
callbacks_store.append(early_stopping)
if conf.train.model_checkpoint_callback is not None:
model_checkpoint = hydra.utils.instantiate(
conf.train.model_checkpoint_callback,
filename="{epoch:02d}-{" + conf.train.callbacks_monitor + ":.2f}",
)
callbacks_store.append(model_checkpoint)
for callback in conf.callbacks.callbacks:
callbacks_store.append(hydra.utils.instantiate(callback, _recursive_=False))
# trainer
trainer = hydra.utils.instantiate(
conf.train.pl_trainer,
callbacks=callbacks_store,
logger=False,
)
# module fit
trainer.fit(pl_module, datamodule=pl_data_module)
@hydra.main(config_path="../../../conf", config_name="root")
def main(conf: omegaconf.DictConfig):
fix(conf)
train(conf)
if __name__ == "__main__":
main()