Exemple #1
0
def parse_args():
    """Parse arguments.

    Parses the args from argparse. If hydra is installed, uses hydra based args
    (experimental).
    """
    if hydra_available:
        global args, config
        _parse_hydra_args()
        return args, config
    else:
        args = parse_train_arguments()
        config = load_json(args.config_file)
        return args, config
Exemple #2
0
    @hydra.main(config_path="hydra_configs", config_name="args")
    def hydra_main(cfg):
        args = cfg
        check_generic_args(cfg)
        config = omegaconf.OmegaConf.to_container(cfg.config)
        main(args, config)


# run all the things:
if __name__ == "__main__":
    logger = logging.getLogger()
    logger.setLevel(logging.INFO)

    logging.info("Classy Vision's default training script.")

    # This imports all modules in the same directory as classy_train.py
    # Because of the way Classy Vision's registration decorators work,
    # importing a module has a side effect of registering it with Classy
    # Vision. This means you can give classy_train.py a config referencing your
    # custom module (e.g. my_dataset) and it'll actually know how to
    # instantiate it.
    file_root = Path(__file__).parent
    import_all_packages_from_directory(file_root)

    if hydra_available:
        hydra_main()
    else:
        args = parse_train_arguments()
        config = load_json(args.config_file)
        main(args, config)