config = dict() config['gpu'] = '3' config['name'] = 'abl_pyr_64_128_2' config['notes'] = 'use offsets as input for higher levels' config['tags'] = ['pyr_post'] # DON'T FORGET TO RESET SSIM LOSS USAGE # DON'T FORGET TO CHECK MODEL LOADING # DON'T FORGET TO CHECK IF STORE IN MEMORY # DON'T FORGET TO CHECK REG LOSS COEFF # DON'T FORGET TO LOAD FINAL UPSCALER UNLESS HAVE LEVEL 512 # DON'T FORGET TO CHECK IF SKIRT # DON'T FORGET TO CHECK IF CAPE # DON'T FORGET TO CHECK IF USING DOWNSCALE NONE OR _2 # DON'T FORGET TO CHECK UPSCALING and ENCODER CHECKPOINTS config['use_skinning'] = True # and deshaping config['remove_global_orientation'] = True config['use_extra_losses'] = True # edge, collision, 3d mesh config['use_offsets'] = False config['use_norm_loss'] = True config['pretrained_model'] = '' config['pretrained_model_iteration'] = '' config['pyramid'] = dict() config['pyramid']['resolutions'] = [64, 128] config['pyramid']['pretrained_pyramid'] = 'checkpoints/postabl_pyr_64' config['pyramid']['final_upscale_enhancer'] = '' config['train_dir'] = '/home/workspace/local-data/train' config['valid_dir'] = '/home/workspace/local-data/valid' config['test_dir'] = '/home/workspace/data/dataset/test_ready' config['batch_size'] = 4 config['is_skirt'] = False config['is_cape'] = False config['dataset_in_memory'] = False config['resolution'] = None config['smpl_res'] = 14475 if config['is_cape']: config['smpl_res'] = 3638 config['lr'] = 0.0001 config['starting_balancing_coeff'] = 0.001 config['reg_loss_coeff'] = 0.1 # set to 0 if don't want to use edge+collision config['avg_garment_path'] = '' config['signature_dynamic'] = { 'id': (), 'frame_nr': (), 'pose_shape': (72 + 11,), 'uv_body_posed': (512, 256, 3), 'mesh_body_posed': (config['smpl_res'], 3,), 'mesh_posed': (config['smpl_res'], 3,), 'mesh_unposed': (config['smpl_res'], 3,), 'uv_unposed': (512, 256, 3), 'uv_curvature': (512, 256, 7), } config['signature_static'] = { 'uv_static': (512, 256, 3), 'mesh_mask': (config['smpl_res'],), 'uv_mask': (512, 256,), } config['pyramid']['is_label'] = False config['pyramid']['add_noise'] = True config['pyramid']['noise_amount'] = 0.001 config['pyramid']['loss_weights'] = [1,1,1,1,1] for res in config['pyramid']['resolutions']: if res != 512: res_modifier = '_' + str(res) config['signature_dynamic']['uv_body_posed' + res_modifier] = (res, res//2, 3) config['signature_dynamic']['uv_unposed' + res_modifier] = (res, res//2, 3) config['signature_dynamic']['uv_curvature' + res_modifier] = (res, res//2, 7) config['signature_static']['uv_static' + res_modifier] = (res, res//2, 3) config['signature_static']['uv_mask' + res_modifier] = (res, res//2) config['pyramid']['static_model'] = 'checkpoints/post/static_post_2' config['pyramid']['body_model'] = 'checkpoints/post/body_post_2' config['pyramid']['curvature_model'] = 'checkpoints/post/curv_post_1' config['pyramid']['freeze_encoders'] = True config['pyramid']['levels'] = [] for res in config['pyramid']['resolutions']: if res == 512: level = dict() level['resolution'] = 512 level['latent_dim'] = config['latent_dim'] level['kernel_size'] = 7 level['encoder_depths'] = [3, 3, 9, 3] level['encoder_dims'] = [32, 64, 128, 64] level['decoder_input'] = (16, 8, 80) level['decoder_depths'] = [3, 3, 9, 3] level['decoder_dims'] = [256, 128, 64, 16] level['avg_garment_path'] = '' level['upscale_enhancer'] = '' config['pyramid']['levels'].append(level) elif res == 256: level = dict() level['resolution'] = 256 level['latent_dim'] = config['latent_dim'] level['kernel_size'] = 7 level['encoder_depths'] = [9, 9, 9, 9] level['encoder_dims'] = [32, 64, 128, 64] level['decoder_input'] = (8, 4, 128) level['decoder_depths'] = [9, 9, 9, 9] level['decoder_dims'] = [256, 128, 64, 16] level['avg_garment_path'] = '' level['upscale_enhancer'] = ''#'checkpoints/up_3_d256_512_2' level['upscale_enhancer_freeze'] = True config['pyramid']['levels'].append(level) elif res == 128: level = dict() level['resolution'] = 128 level['kernel_size'] = 5 level['encoder_depths'] = [9, 9, 9] level['encoder_dims'] = [32, 64, 64] level['decoder_depths'] = level['encoder_depths'] level['decoder_dims'] = level['encoder_dims'] level['avg_garment_path'] = '' level['upscale_enhancer'] = 'checkpoints/128_512_3'#'checkpoints/up_3_d128_256_2' level['upscale_enhancer_freeze'] = True level['upscale_enhancer_kernel_size'] = 3 config['pyramid']['levels'].append(level) elif res == 64: level = dict() level['resolution'] = 64 level['kernel_size'] = 5 level['encoder_depths'] = [9, 9] level['encoder_dims'] = [64, 64] level['decoder_depths'] = level['encoder_depths'] level['decoder_dims'] = level['encoder_dims'] level['avg_garment_path'] = '' level['upscale_enhancer'] = 'checkpoints/64_512_2'#checkpoints/up_3_d64_128_2' level['upscale_enhancer_freeze'] = True config['pyramid']['levels'].append(level) # elif res == 32: # level = dict() # level['resolution'] = 32 # level['latent_dim'] = config['latent_dim'] # level['kernel_size'] = 3 # level['encoder_depths'] = [9, 9] # level['encoder_dims'] = [256, 256] # level['decoder_input'] = (4, 2, 256) # level['decoder_depths'] = [9, 9] # level['decoder_dims'] = [256, 256] # level['avg_garment_path'] = '' # level['upscale_enhancer'] = ''#'checkpoints/up_3_d32_64_2' # level['upscale_enhancer_freeze'] = True # config['pyramid']['levels'].append(level) else: raise NotImplementedError config['cond_ae_static'] = dict() config['cond_ae_static']['is_label'] = False config['cond_ae_static']['kernel_size'] = 7 config['cond_ae_static']['bottleneck_size'] = 8 config['cond_ae_static']['encoder_depths'] = [3, 3, 3, 9, 3] config['cond_ae_static']['encoder_dims'] = [16, 32, 64, 64, config['cond_ae_static']['bottleneck_size']] config['cond_ae_static']['decoder_depths'] = config['cond_ae_static']['encoder_depths'] config['cond_ae_static']['decoder_dims'] = config['cond_ae_static']['encoder_dims'] config['cond_ae_static']['activation'] = 'tanh' config['cond_ae_curv'] = dict() config['cond_ae_curv']['is_label'] = True config['cond_ae_curv']['kernel_size'] = 7 config['cond_ae_curv']['bottleneck_size'] = 40 config['cond_ae_curv']['encoder_depths'] = [3, 3, 9, 9, 3] config['cond_ae_curv']['encoder_dims'] = [16, 32, 64, 128, config['cond_ae_curv']['bottleneck_size']] config['cond_ae_curv']['decoder_depths'] = config['cond_ae_curv']['encoder_depths'] config['cond_ae_curv']['decoder_dims'] = config['cond_ae_curv']['encoder_dims'] config['cond_ae_curv']['activation'] = 'tanh' config['cond_ae_body'] = dict() config['cond_ae_body']['is_label'] = False config['cond_ae_body']['kernel_size'] = 7 config['cond_ae_body']['bottleneck_size'] = 16 config['cond_ae_body']['encoder_depths'] = [3, 3, 9, 9, 3] config['cond_ae_body']['encoder_dims'] = [16, 32, 64, 128, config['cond_ae_body']['bottleneck_size']] config['cond_ae_body']['decoder_depths'] = config['cond_ae_body']['encoder_depths'] config['cond_ae_body']['decoder_dims'] = config['cond_ae_body']['encoder_dims'] config['cond_ae_body']['activation'] = 'tanh'