config_a = dict() # 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 AVG GARMENT USED config_a['use_skinning'] = False # and deshaping config_a['remove_global_orientation'] = True config_a['use_curvature'] = True config_a['use_extra_losses'] = True # edge, collision, 3d mesh config_a['use_offsets'] = True config_a['use_norm_loss'] = False ablation_count = [config_a['use_skinning'], config_a['remove_global_orientation'], config_a['use_curvature'], config_a['use_extra_losses'], config_a['use_offsets']].count(False) config_a['gpu'] = '4' config_a['name'] = 'abl_skin_skirt' config_a['notes'] = '' config_a['avg_garment_path'] = '' #custom_data/train_no_shape_avg_uv.npy # train_no_shape_avg_uv train_no_shape_one_hot_avg_uv if config_a['use_skinning']: assert (config_a['use_offsets'] and config_a['avg_garment_path'] != '') or (not config_a['use_offsets'] and config_a['avg_garment_path'] == '') config_a['reg_loss_coeff'] = 0.1 # set to 0 if don't want to use edge+collision config_a['batch_size'] = 4 config_a['resolution'] = 512 config_a['is_skirt'] = True config_a['dataset_in_memory'] = False config_a['is_cape'] = False config_a['train_dir'] = '/home/workspace/local-data/train_skirt' config_a['valid_dir'] = '/home/workspace/local-data/valid_skirt' config_a['test_dir'] = '/home/workspace/data/dataset/test_skirt_ready_2' config_a['static_model'] = 'checkpoints/static_1_skirt' config_a['body_model'] = 'checkpoints/body_1_skirt_2_2' config_a['curvature_model'] = 'checkpoints/curv_1_skirt' config_a['smpl_res'] = 14475 if config_a['is_cape']: config_a['smpl_res'] = 3638 config_a['latent_dim'] = 128 config_a['pretrained_model'] = '' ############### config_a['lr'] = 0.0001# 0.0001 ############### config_a['starting_balancing_coeff'] = 0.0001 config_a['signature_dynamic'] = { 'id': (), 'frame_nr': (), 'pose_shape': (72 + 11,), 'uv_body_posed': (512, 256, 3), 'mesh_body_posed': (14475, 3,), 'mesh_posed': (14475, 3,), 'uv_curvature': (512, 256, 7), } config_a['signature_static'] = { 'uv_static': (512, 256, 3), 'mesh_mask': (14475,), 'uv_mask': (512, 256,), } if config_a['use_skinning']: config_a['signature_dynamic']['uv_unposed'] = (512, 256, 3) config_a['signature_dynamic']['mesh_unposed'] = (14475, 3,) else: config_a['signature_dynamic']['uv_posed'] = (512, 256, 3) config_a['upscale_enhancer'] = '' config_a['freeze_encoders'] = True config_a['use_one_hot'] = False config_a['cvae'] = dict() config_a['cvae']['is_label'] = False config_a['cvae']['latent_dim'] = config_a['latent_dim'] config_a['cvae']['add_noise'] = True config_a['cvae']['noise_amount'] = 0.025 config_a['cvae']['kernel_size'] = 7 config_a['cvae']['encoder_depths'] = [3, 3, 9, 3] config_a['cvae']['encoder_dims'] = [32, 64, 128, 256] config_a['cvae']['decoder_input'] = (16, 8, 80) config_a['cvae']['decoder_depths'] = [3, 3, 9, 3] config_a['cvae']['decoder_dims'] = [256, 128, 64, 16] config_a['cond_ae'] = dict() config_a['cond_ae']['is_label'] = False config_a['cond_ae']['upscale_output'] = False config_a['cond_ae']['latent_dim'] = config_a['latent_dim'] config_a['cond_ae']['kernel_size'] = 7 config_a['cond_ae']['bottleneck_size'] = 64 config_a['cond_ae']['encoder_depths'] = [3, 3, 9, 9, 3] config_a['cond_ae']['encoder_dims'] = [32, 64, 128, 256, config_a['cond_ae']['bottleneck_size']] config_a['cond_ae']['decoder_input'] = (8, 4, config_a['cond_ae']['bottleneck_size']) config_a['cond_ae']['decoder_depths'] = [3, 3, 9, 3, 3] config_a['cond_ae']['decoder_dims'] = [config_a['cond_ae']['bottleneck_size'], 256, 128, 64, 16] config_a['cond_ae_body'] = dict() config_a['cond_ae_body']['latent_dim'] = config_a['latent_dim'] config_a['cond_ae_body']['kernel_size'] = 7 config_a['cond_ae_body']['upscale_output'] = True config_a['cond_ae_body']['bottleneck_size'] = 512 config_a['cond_ae_body']['encoder_depths'] = [3, 3, 9, 9, 3, 3] config_a['cond_ae_body']['encoder_dims'] = [32, 64, 128, 256, 256, config_a['cond_ae_body']['bottleneck_size']] config_a['cond_ae_body']['decoder_input'] = (4, 2, config_a['cond_ae_body']['bottleneck_size']) config_a['cond_ae_body']['decoder_depths'] = [3, 3, 9, 3] config_a['cond_ae_body']['decoder_dims'] = [config_a['cond_ae_body']['bottleneck_size'], 128, 64, 16]