Source code for mtrl.app.run

# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved
"""This is the main entry point for the running the experiments."""

import hydra
from ml_logger.logbook import LogBook

from mtrl.experiment import utils as experiment_utils
from mtrl.utils import config as config_utils
from mtrl.utils.types import ConfigType


[docs]def run(config: ConfigType) -> None: """Create and run the experiment. Args: config (ConfigType): config for the experiment. """ config_utils.pretty_print(config, resolve=False) config_id = config.setup.id logbook_config = hydra.utils.call(config.logbook) if "mongo" in logbook_config["loggers"] and ( config_id.startswith("pytest_") or config_id in ["sample", "sample_config"] or config_id.startswith("test_") # or is_debug_job ): # do not write the job to mongo db. print(logbook_config["loggers"].pop("mongo")) logbook = LogBook(logbook_config) config_to_write = config_utils.to_dict(config) config_to_write["status"] = "RUNNING" logbook.write_metadata(config_to_write) experiment_utils.prepare_and_run(config=config) config_to_write["status"] = "COMPLETED" logbook.write_metadata(config_to_write)