import wandb from src import dataloaders, model, train, utils import pytorch_lightning as pl import logging def run_pipeline(): config = utils.load_config("gbl_config.yaml") model_config = utils.load_model_config() utils.setup_logging(config["log_level"]) logger = logging.getLogger(__name__) pl.seed_everything(model_config["seed"], workers=True) logger.info("--- Iniciando pipeline de entrenamiento ---") logger.debug("iniciando Weights & Biases...") wandb.init(project="mdl-mlops", name=f"{model_config['model_name']}-v{model_config['model_version']}", config=model_config, job_type="training") logger.debug("Weights & Biases iniciado") logger.debug("Definiendo dataloaders y modelo...") dataloader = dataloaders.define_dataloaders(batch_size=model_config["data_batch_size"]) conv_model = model.ConvCVAE(latent_dim=model_config["latent_dim"], lr=model_config["learning_rate"]) logger.debug("Dataloaders y modelo definidos correctamente") logger.debug("Iniciando entrenamiento...") train.train_model(conv_model, dataloader, batch_size=model_config["train_batch_size"], max_epochs=model_config["epochs"], model_name=model_config["model_name"], version=model_config["model_version"]) logger.debug("Entrenamiento finalizado correctamente") logger.info("--- Pipeline de entrenamiento finalizado ---") run_pipeline()