def create_repo()

in data_augmentation/my_training.py [0:0]


def create_repo(args, repo):
    if repo is None:
        # Initialize the Repo
        print("Creating repo..")
        exp_repo = repository.ExperimentRepo(
            local_dir_name="json_files", root_dir=args.result_dir
        )

        # Create new experiment
        cfg_copy = copy.deepcopy(dict(args))
        for i in cfg_copy.keys():
            if type(cfg_copy[i]) == omegaconf.listconfig.ListConfig:
                cfg_copy[i] = list(cfg_copy[i])
                # in case of nested list
                for j, el in enumerate(cfg_copy[i]):
                    if type(el) == omegaconf.listconfig.ListConfig:
                        cfg_copy[i][j] = list(el)
        exp_id = exp_repo.create_new_experiment(cfg_copy)
        cfg_copy["id"] = exp_id

        # Set up model directory
        current_time = datetime.datetime.now().strftime(r"%y%m%d_%H%M")
        ckpt_dir = os.path.join(args.result_dir, "checkpoints")
        os.makedirs(ckpt_dir, exist_ok=True)
        model_dir = os.path.join(ckpt_dir, "ckpt_{}_{}".format(current_time, exp_id))

        # Save hyperparameter settings
        os.makedirs(model_dir, exist_ok=True)
        if not os.path.exists(os.path.join(model_dir, "hparams.json")):
            with open(os.path.join(model_dir, "hparams.json"), "w") as f:
                json.dump(cfg_copy, f, indent=2, sort_keys=True)
            with open(os.path.join(model_dir, "hparams.pkl"), "wb") as f:
                pickle.dump(cfg_copy, f)
    else:
        model_dir = repo
    return model_dir