Spaces:
Running
on
Zero
Running
on
Zero
| import importlib | |
| import os | |
| from collections import OrderedDict | |
| def create_default_local_file(): | |
| """ Contains the path to all necessary datasets or useful folders (like workspace, pretrained models..)""" | |
| path = os.path.join(os.path.dirname(__file__), 'local.py') | |
| empty_str = '\'\'' | |
| default_settings = OrderedDict({ | |
| 'workspace_dir': empty_str, | |
| 'tensorboard_dir': 'self.workspace_dir', | |
| 'pretrained_networks': 'self.workspace_dir', | |
| 'pre_trained_models_dir' : empty_str, | |
| 'hp': empty_str, | |
| 'eth3d': empty_str, | |
| 'training_cad_520': empty_str, | |
| 'validation_cad_520': empty_str, | |
| 'coco': empty_str, | |
| 'dataset_name': empty_str, | |
| 'nbr_objects': 4, | |
| 'min_area_objects': 1300, | |
| 'compute_object_reprojection_mask': True, | |
| 'n_threads': 16, | |
| 'initial_pretrained_model': None, | |
| 'data_dir': empty_str, | |
| 'schedule_sampler': "'uniform'", | |
| 'lr': empty_str, | |
| 'weight_decay': 0.0, | |
| 'lr_anneal_steps': 0, | |
| 'batch_size': 18, | |
| 'microbatch': -1, | |
| 'ema_rate': 0.9999, | |
| 'log_interval': 10, | |
| 'save_interval': 5000, | |
| 'resume_checkpoint': empty_str, | |
| 'train_mode': empty_str, | |
| 'use_fp16': False, | |
| 'fp16_scale_growth': 1e-3, | |
| 'image_size': 64, | |
| 'flow_size': (64,64), | |
| 'num_channels': 128, | |
| 'num_res_blocks': 3, | |
| 'num_heads': 4, | |
| 'num_heads_upsample': -1, | |
| 'attention_resolutions': '"16,8"', | |
| 'dropout': 0.0, | |
| 'learn_sigma': False, | |
| 'sigma_small': False, | |
| 'class_cond': False, | |
| 'diffusion_steps': 5, | |
| 'noise_schedule': "'cosine'", | |
| 'use_kl': False, | |
| 'predict_xstart': True, | |
| 'rescale_timesteps': True, | |
| 'rescale_learned_sigmas': True, | |
| 'use_checkpoint': False, | |
| 'use_scale_shift_norm': True, | |
| 'clip_denoised': False, | |
| 'num_samples': 10000, | |
| 'val_batch_size': 1, | |
| 'use_ddim': False, | |
| 'model_path': empty_str, | |
| 'model_path_sr': empty_str, | |
| 'timestep_respacing': "''", | |
| 'eval_dataset': empty_str, | |
| 'n_batch': empty_str, | |
| 'visualize': empty_str | |
| }) | |
| comment = {'workspace_dir': 'Base directory for saving network checkpoints.', | |
| 'tensorboard_dir': 'Directory for tensorboard files.', | |
| 'dataset_name': 'Training dataset name ("DPED" or "COCO2014")', | |
| 'lr': 'learning rate for training (recommendation: 3e-5 for DPED and 1e-4 for COCO)', | |
| 'train_mode': 'Training mode ("stage_1" or "sr")', | |
| 'model_path': 'Pre-trained model path for evaluation', | |
| 'model_path_sr': 'Pre-trained super-resolution model path for evaluation', | |
| 'eval_dataset': 'Evaluation dataset ("hp" or "eth3d")', | |
| 'n_batch': 'The number of multiple hypotheses', | |
| 'visualize': 'Set True, if you want qualitative results.'} | |
| with open(path, 'w') as f: | |
| f.write('class EnvironmentSettings:\n') | |
| f.write(' def __init__(self):\n') | |
| for attr, attr_val in default_settings.items(): | |
| comment_str = None | |
| if attr in comment: | |
| comment_str = comment[attr] | |
| if comment_str is None: | |
| f.write(' self.{} = {}\n'.format(attr, attr_val)) | |
| else: | |
| f.write(' self.{} = {} # {}\n'.format(attr, attr_val, comment_str)) | |
| def env_settings(): | |
| env_module_name = 'admin.local' | |
| # env_module_name = 'admin.example_coco' | |
| try: | |
| env_module = importlib.import_module(env_module_name) | |
| return env_module.EnvironmentSettings() | |
| except: | |
| env_file = os.path.join(os.path.dirname(__file__), 'local.py') | |
| create_default_local_file() | |
| raise RuntimeError('YOU HAVE NOT SETUP YOUR local.py!!!\n Go to "{}" and set all the paths you need. ' | |
| 'Then try to run again.'.format(env_file)) | |