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