Spaces:
Running
Running
| import torch.backends.cudnn as cudnn | |
| from torch.utils.tensorboard import SummaryWriter | |
| import os | |
| import random | |
| import torch | |
| import numpy as np | |
| def setup_seed(seed): | |
| torch.manual_seed(seed) | |
| torch.cuda.manual_seed(seed) | |
| torch.cuda.manual_seed_all(seed) | |
| np.random.seed(seed) | |
| random.seed(seed) | |
| torch.backends.cudnn.deterministic = True | |
| torch.backends.cudnn.benchmark = False | |
| def setup_paths(args): | |
| save_root = args.save_path | |
| model_root = os.path.join(save_root, 'models') | |
| log_root = os.path.join(save_root, 'logs') | |
| csv_root = os.path.join(save_root, 'csvs') | |
| image_root = os.path.join(save_root, 'images') | |
| tensorboard_root = os.path.join(save_root, 'tensorboard') | |
| os.makedirs(model_root, exist_ok=True) | |
| os.makedirs(log_root, exist_ok=True) | |
| os.makedirs(csv_root, exist_ok=True) | |
| os.makedirs(image_root, exist_ok=True) | |
| os.makedirs(tensorboard_root, exist_ok=True) | |
| if args.use_hsf: | |
| # prepare model name | |
| model_name = f'{args.exp_indx}s-pretrained-{args.training_data}-{args.model}-' \ | |
| f'{args.prompting_type}-{args.prompting_branch}-' \ | |
| f'D{args.prompting_depth}-L{args.prompting_length}-HSF-K{args.k_clusters}' | |
| else: | |
| # prepare model name | |
| model_name = f'{args.exp_indx}s-pretrained-{args.training_data}-{args.model}-' \ | |
| f'{args.prompting_type}-{args.prompting_branch}-' \ | |
| f'D{args.prompting_depth}-L{args.prompting_length}-WO-HSF' | |
| # prepare model path | |
| ckp_path = os.path.join(model_root, model_name) | |
| # prepare tensorboard dir | |
| tensorboard_dir = os.path.join(tensorboard_root, f'{model_name}-{args.testing_data}') | |
| if os.path.exists(tensorboard_dir): | |
| import shutil | |
| shutil.rmtree(tensorboard_dir) | |
| tensorboard_logger = SummaryWriter(log_dir=tensorboard_dir) | |
| # prepare csv path | |
| csv_path = os.path.join(csv_root, f'{model_name}-{args.testing_data}.csv') | |
| # prepare image path | |
| image_dir = os.path.join(image_root, f'{model_name}-{args.testing_data}') | |
| os.makedirs(image_dir, exist_ok=True) | |
| # prepare log path | |
| log_path = os.path.join(log_root, f'{model_name}-{args.testing_data}.txt') | |
| return model_name, image_dir, csv_path, log_path, ckp_path, tensorboard_logger | |