a lot of training
This commit is contained in:
+11
-1
@@ -19,16 +19,22 @@ nohup python auto_encoder_curv.py --name="lhunor_curv_iccv_1_10p" > nohup/iccv/e
|
|||||||
nohup python auto_encoder_curv.py --name="lhunor_curv_iccv_1_25p" > nohup/iccv/encoders/curv_iccv_1_25p.out 2>&1 &
|
nohup python auto_encoder_curv.py --name="lhunor_curv_iccv_1_25p" > nohup/iccv/encoders/curv_iccv_1_25p.out 2>&1 &
|
||||||
nohup python cvae.py --name="lhunor_cvae_iccv_gnn_1" > nohup/iccv/cvae_iccv_gnn_1.out 2>&1 &
|
nohup python cvae.py --name="lhunor_cvae_iccv_gnn_1" > nohup/iccv/cvae_iccv_gnn_1.out 2>&1 &
|
||||||
|
|
||||||
nohup python cvae.py --name="lhunor_abl_all" > nohup/iccv/ablation/abl_all_2.out 2>&1 &
|
nohup python cvae.py --name="lhunor_abl_all" > nohup/iccv/ablation/abl_all_3.out 2>&1 &
|
||||||
nohup python cvae.py --name="lhunor_abl_all_gnn" > nohup/iccv/ablation/abl_all_gnn.out 2>&1 &
|
nohup python cvae.py --name="lhunor_abl_all_gnn" > nohup/iccv/ablation/abl_all_gnn.out 2>&1 &
|
||||||
nohup python cvae.py --name="lhunor_abl_all_gnn_2" > nohup/iccv/ablation/abl_all_gnn.out 2>&1 &
|
nohup python cvae.py --name="lhunor_abl_all_gnn_2" > nohup/iccv/ablation/abl_all_gnn.out 2>&1 &
|
||||||
|
|
||||||
nohup python cvae.py --name="lhunor_abl_all_skirt" > nohup/iccv/ablation/abl_all_skirt.out 2>&1 &
|
nohup python cvae.py --name="lhunor_abl_all_skirt" > nohup/iccv/ablation/abl_all_skirt.out 2>&1 &
|
||||||
nohup python cvae.py --name="lhunor_abl_curv" > nohup/iccv/ablation/abl_curv.out 2>&1 &
|
nohup python cvae.py --name="lhunor_abl_curv" > nohup/iccv/ablation/abl_curv.out 2>&1 &
|
||||||
|
nohup python cvae.py --name="lhunor_abl_curv_skirt" > nohup/iccv/ablation/abl_curv_skirt.out 2>&1 &
|
||||||
nohup python cvae.py --name="lhunor_abl_skin" > nohup/iccv/ablation/abl_skin.out 2>&1 &
|
nohup python cvae.py --name="lhunor_abl_skin" > nohup/iccv/ablation/abl_skin.out 2>&1 &
|
||||||
|
nohup python cvae.py --name="lhunor_abl_skin_skirt" > nohup/iccv/ablation/abl_skin_skirt.out 2>&1 &
|
||||||
nohup python cvae.py --name="lhunor_abl_reg" > nohup/iccv/ablation/abl_reg.out 2>&1 &
|
nohup python cvae.py --name="lhunor_abl_reg" > nohup/iccv/ablation/abl_reg.out 2>&1 &
|
||||||
|
nohup python cvae.py --name="lhunor_abl_reg_skirt" > nohup/iccv/ablation/abl_reg_skirt.out 2>&1 &
|
||||||
nohup python cvae.py --name="lhunor_abl_off" > nohup/iccv/ablation/abl_off.out 2>&1 &
|
nohup python cvae.py --name="lhunor_abl_off" > nohup/iccv/ablation/abl_off.out 2>&1 &
|
||||||
nohup python cvae.py --name="lhunor_abl_skin_curv" > nohup/iccv/ablation/abl_skin_curv.out 2>&1 &
|
nohup python cvae.py --name="lhunor_abl_skin_curv" > nohup/iccv/ablation/abl_skin_curv.out 2>&1 &
|
||||||
|
nohup python cvae.py --name="lhunor_abl_skin_curv_skirt" > nohup/iccv/ablation/abl_skin_curv_skirt.out 2>&1 &
|
||||||
|
nohup python cvae.py --name="lhunor_abl_skin_reg" > nohup/iccv/ablation/abl_skin_reg.out 2>&1 &
|
||||||
|
nohup python cvae.py --name="lhunor_abl_skin_reg_skirt" > nohup/iccv/ablation/abl_skin_reg_skirt.out 2>&1 &
|
||||||
|
|
||||||
nohup python upscale_test.py --name="iccv_32_2" > nohup/iccv/upscale/iccv_32_2.out 2>&1 &
|
nohup python upscale_test.py --name="iccv_32_2" > nohup/iccv/upscale/iccv_32_2.out 2>&1 &
|
||||||
nohup python upscale_test.py --name="iccv_64_2" > nohup/iccv/upscale/iccv_64_2.out 2>&1 &
|
nohup python upscale_test.py --name="iccv_64_2" > nohup/iccv/upscale/iccv_64_2.out 2>&1 &
|
||||||
@@ -53,6 +59,10 @@ nohup python upscale_test.py --name="iccv_256_2_cape_m" > nohup/iccv/upscale/icc
|
|||||||
nohup python cvae_pyramid.py --name="lhunor_iccv_pyr_32" > nohup/iccv/pyr/iccv_pyr_32.out 2>&1 &
|
nohup python cvae_pyramid.py --name="lhunor_iccv_pyr_32" > nohup/iccv/pyr/iccv_pyr_32.out 2>&1 &
|
||||||
nohup python cvae_pyramid.py --name="lhunor_iccv_pyr_32_skirt" > nohup/iccv/pyr/iccv_pyr_32_skirt_2.out 2>&1 &
|
nohup python cvae_pyramid.py --name="lhunor_iccv_pyr_32_skirt" > nohup/iccv/pyr/iccv_pyr_32_skirt_2.out 2>&1 &
|
||||||
nohup python cvae_pyramid.py --name="lhunor_iccv_pyr_32_skin" > nohup/iccv/pyr/iccv_pyr_32_skin.out 2>&1 &
|
nohup python cvae_pyramid.py --name="lhunor_iccv_pyr_32_skin" > nohup/iccv/pyr/iccv_pyr_32_skin.out 2>&1 &
|
||||||
|
nohup python cvae_pyramid.py --name="lhunor_iccv_pyr_32_skin_skirt" > nohup/iccv/pyr/iccv_pyr_32_skin_skirt.out 2>&1 &
|
||||||
|
|
||||||
|
nohup python cvae_pyramid.py --name="lhunor_iccv_pyr_32_64" > nohup/iccv/pyr/iccv_pyr_32_64.out 2>&1 &
|
||||||
|
nohup python cvae_pyramid.py --name="lhunor_iccv_pyr_32_64_skin" > nohup/iccv/pyr/iccv_pyr_32_64_skin.out 2>&1 &
|
||||||
|
|
||||||
nohup python cvae_pyramid.py --name="lhunor_iccv_pyr_64_cape_f" > nohup/iccv/pyr/iccv_pyr_64_cape_f.out 2>&1 &
|
nohup python cvae_pyramid.py --name="lhunor_iccv_pyr_64_cape_f" > nohup/iccv/pyr/iccv_pyr_64_cape_f.out 2>&1 &
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ ablation_count = [config['use_skinning'], config['remove_global_orientation'], c
|
|||||||
assert ablation_count == 1 or ablation_count == 0
|
assert ablation_count == 1 or ablation_count == 0
|
||||||
|
|
||||||
config['gpu'] = '6'
|
config['gpu'] = '6'
|
||||||
config['name'] = 'abl_all_2'
|
config['name'] = 'abl_all_3'
|
||||||
config['notes'] = ''
|
config['notes'] = ''
|
||||||
config['tags'] = ['iccv', 'abl_all']
|
config['tags'] = ['iccv', 'abl_all']
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ config['use_norm_loss'] = True
|
|||||||
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
||||||
assert ablation_count == 1 or ablation_count == 0
|
assert ablation_count == 1 or ablation_count == 0
|
||||||
|
|
||||||
config['gpu'] = '3'
|
config['gpu'] = '6'
|
||||||
config['name'] = 'abl_all_skirt'
|
config['name'] = 'abl_all_skirt'
|
||||||
config['notes'] = ''
|
config['notes'] = ''
|
||||||
config['tags'] = ['iccv', 'abl_all', 'skirt']
|
config['tags'] = ['iccv', 'abl_all', 'skirt']
|
||||||
@@ -35,8 +35,8 @@ config['is_skirt'] = True
|
|||||||
config['dataset_in_memory'] = False
|
config['dataset_in_memory'] = False
|
||||||
config['is_cape'] = False
|
config['is_cape'] = False
|
||||||
|
|
||||||
config['train_dir'] = '/home/workspace/data/dataset/local-cache/train_skirt'
|
config['train_dir'] = '/home/workspace/local-data/train_skirt'
|
||||||
config['valid_dir'] = '/home/workspace/local-data/valid_skirt'
|
config['valid_dir'] = '/home/workspace/local-data_127/valid_skirt'
|
||||||
config['test_dir'] = '/home/workspace/data/dataset/test_skirt_ready_2'
|
config['test_dir'] = '/home/workspace/data/dataset/test_skirt_ready_2'
|
||||||
|
|
||||||
config['static_model'] = 'checkpoints/iccv/static_iccv_1_skirt'
|
config['static_model'] = 'checkpoints/iccv/static_iccv_1_skirt'
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ config['use_norm_loss'] = True
|
|||||||
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
||||||
assert ablation_count == 1 or ablation_count == 0
|
assert ablation_count == 1 or ablation_count == 0
|
||||||
|
|
||||||
config['gpu'] = '4'
|
config['gpu'] = '0'
|
||||||
config['name'] = 'abl_curv'
|
config['name'] = 'abl_curv'
|
||||||
config['notes'] = ''
|
config['notes'] = ''
|
||||||
config['tags'] = ['iccv', 'abl_curv']
|
config['tags'] = ['iccv', 'abl_curv']
|
||||||
|
|||||||
@@ -0,0 +1,125 @@
|
|||||||
|
config = 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['use_skinning'] = True # and deshaping
|
||||||
|
config['remove_global_orientation'] = True
|
||||||
|
config['use_curvature'] = False
|
||||||
|
config['use_extra_losses'] = True # edge, collision, 3d mesh
|
||||||
|
config['use_offsets'] = True
|
||||||
|
|
||||||
|
config['use_norm_loss'] = True
|
||||||
|
|
||||||
|
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
||||||
|
assert ablation_count == 1 or ablation_count == 0
|
||||||
|
|
||||||
|
config['gpu'] = '3'
|
||||||
|
config['name'] = 'abl_curv_skirt'
|
||||||
|
config['notes'] = ''
|
||||||
|
config['tags'] = ['iccv', 'abl_curv', 'skirt']
|
||||||
|
|
||||||
|
config['avg_garment_path'] = 'custom_data/train_no_shape_skirt_avg_uv.npy' #custom_data/train_no_shape_avg_uv.npy # train_no_shape_avg_uv train_no_shape_one_hot_avg_uv
|
||||||
|
if config['use_skinning']:
|
||||||
|
assert (config['use_offsets'] and config['avg_garment_path'] != '') or (not config['use_offsets'] and config['avg_garment_path'] == '')
|
||||||
|
|
||||||
|
config['reg_loss_coeff'] = 0.1 # set to 0 if don't want to use edge+collision
|
||||||
|
|
||||||
|
config['batch_size'] = 4
|
||||||
|
config['resolution'] = 512
|
||||||
|
config['is_skirt'] = True
|
||||||
|
config['dataset_in_memory'] = False
|
||||||
|
config['is_cape'] = False
|
||||||
|
|
||||||
|
config['train_dir'] = '/home/workspace/local-data_128/train_skirt'
|
||||||
|
config['valid_dir'] = '/home/workspace/local-data/valid_skirt'
|
||||||
|
config['test_dir'] = '/home/workspace/data/dataset/test_skirt_ready_2'
|
||||||
|
|
||||||
|
config['static_model'] = 'checkpoints/iccv/static_iccv_1_skirt'
|
||||||
|
config['body_model'] = 'checkpoints/iccv/body_iccv_1_skirt'
|
||||||
|
config['curvature_model'] = 'checkpoints/iccv/curv_iccv_1_skirt'
|
||||||
|
|
||||||
|
|
||||||
|
config['smpl_res'] = 14475
|
||||||
|
if config['is_cape']:
|
||||||
|
config['smpl_res'] = 3638
|
||||||
|
|
||||||
|
config['latent_dim'] = 128
|
||||||
|
|
||||||
|
config['pretrained_model'] = ''
|
||||||
|
|
||||||
|
###############
|
||||||
|
config['lr'] = 0.0001# 0.0001
|
||||||
|
###############
|
||||||
|
config['starting_balancing_coeff'] = 0.0001
|
||||||
|
|
||||||
|
config['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['signature_static'] = { 'uv_static': (512, 256, 3),
|
||||||
|
'mesh_mask': (14475,),
|
||||||
|
'uv_mask': (512, 256,),
|
||||||
|
}
|
||||||
|
|
||||||
|
if config['use_skinning']:
|
||||||
|
config['signature_dynamic']['uv_unposed'] = (512, 256, 3)
|
||||||
|
config['signature_dynamic']['mesh_unposed'] = (14475, 3,)
|
||||||
|
else:
|
||||||
|
config['signature_dynamic']['uv_posed'] = (512, 256, 3)
|
||||||
|
|
||||||
|
|
||||||
|
config['upscale_enhancer'] = ''
|
||||||
|
config['freeze_encoders'] = True
|
||||||
|
config['use_one_hot'] = False
|
||||||
|
config['bottleneck_scale'] = 2
|
||||||
|
|
||||||
|
config['cvae'] = dict()
|
||||||
|
config['cvae']['is_label'] = False
|
||||||
|
config['cvae']['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
config['cvae']['add_noise'] = False
|
||||||
|
config['cvae']['noise_amount'] = 0.0
|
||||||
|
|
||||||
|
config['cvae']['kernel_size'] = 7
|
||||||
|
config['cvae']['encoder_depths'] = [3, 3, 3, 9, 3]
|
||||||
|
config['cvae']['encoder_dims'] = [32, 64, 128, 256, config['cvae']['latent_dim']]
|
||||||
|
config['cvae']['decoder_depths'] = config['cvae']['encoder_depths']
|
||||||
|
config['cvae']['decoder_dims'] = config['cvae']['encoder_dims']
|
||||||
|
|
||||||
|
|
||||||
|
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['bottleneck_scale']
|
||||||
|
config['cond_ae_static']['encoder_depths'] = [3, 3, 3, 27, 3]
|
||||||
|
config['cond_ae_static']['encoder_dims'] = [8, 16, 32, 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['bottleneck_scale']
|
||||||
|
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['bottleneck_scale']
|
||||||
|
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'
|
||||||
@@ -0,0 +1,188 @@
|
|||||||
|
config = dict()
|
||||||
|
|
||||||
|
config['gpu'] = '3'
|
||||||
|
config['name'] = 'iccv_pyr_32_64'
|
||||||
|
config['notes'] = ''
|
||||||
|
config['tags'] = ['pyr', 'iccv']
|
||||||
|
|
||||||
|
# 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'] = [32, 64]
|
||||||
|
config['pyramid']['pretrained_pyramid'] = 'checkpoints/iccv/iccv_pyr_32_170k'
|
||||||
|
config['pyramid']['final_upscale_enhancer'] = ''
|
||||||
|
|
||||||
|
config['train_dir'] = '/home/workspace/local-data_127/train'
|
||||||
|
config['valid_dir'] = '/home/workspace/local-data_127/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['bottleneck_scale'] = 2
|
||||||
|
|
||||||
|
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'] = False
|
||||||
|
config['pyramid']['noise_amount'] = 0.0
|
||||||
|
|
||||||
|
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/iccv/static_iccv_1'
|
||||||
|
config['pyramid']['body_model'] = 'checkpoints/iccv/body_iccv_1'
|
||||||
|
config['pyramid']['curvature_model'] = 'checkpoints/iccv/curv_iccv_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'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 7
|
||||||
|
level['encoder_depths'] = [3, 3, 9, 3]
|
||||||
|
level['encoder_dims'] = [32, 64, 128, level['latent_dim']]
|
||||||
|
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'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 5
|
||||||
|
level['encoder_depths'] = [9, 9, 9, 9]
|
||||||
|
level['encoder_dims'] = [32, 64, 128, level['latent_dim']]
|
||||||
|
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/iccv/iccv_'#'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['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 5
|
||||||
|
level['encoder_depths'] = [16, 9, 9, 9]
|
||||||
|
level['encoder_dims'] = [64, 128, 128, 64]
|
||||||
|
level['decoder_input'] = (4, 2, 128)
|
||||||
|
level['decoder_depths'] = [16, 9, 9, 9]
|
||||||
|
level['decoder_dims'] = [256, 128, 128, level['latent_dim']]
|
||||||
|
level['avg_garment_path'] = ''
|
||||||
|
level['upscale_enhancer'] = 'checkpoints/iccv/iccv_'#'checkpoints/up_3_d128_256_2'
|
||||||
|
level['upscale_enhancer_freeze'] = True
|
||||||
|
config['pyramid']['levels'].append(level)
|
||||||
|
elif res == 64:
|
||||||
|
level = dict()
|
||||||
|
level['resolution'] = 64
|
||||||
|
level['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 3
|
||||||
|
level['encoder_depths'] = [9, 9]
|
||||||
|
level['encoder_dims'] = [64, level['latent_dim']]
|
||||||
|
level['decoder_depths'] = level['encoder_depths']
|
||||||
|
level['decoder_dims'] = level['encoder_dims']
|
||||||
|
level['avg_garment_path'] = ''
|
||||||
|
level['upscale_enhancer'] = 'checkpoints/iccv/iccv_64_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'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 3
|
||||||
|
level['encoder_depths'] = [16]
|
||||||
|
level['encoder_dims'] = [level['latent_dim']]
|
||||||
|
level['decoder_depths'] = level['encoder_depths']
|
||||||
|
level['decoder_dims'] = level['encoder_dims']
|
||||||
|
level['avg_garment_path'] = ''
|
||||||
|
level['upscale_enhancer'] = 'checkpoints/iccv/iccv_32_2'#'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['bottleneck_scale']
|
||||||
|
config['cond_ae_static']['encoder_depths'] = [3, 3, 3, 27, 3]
|
||||||
|
config['cond_ae_static']['encoder_dims'] = [8, 16, 32, 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['bottleneck_scale']
|
||||||
|
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['bottleneck_scale']
|
||||||
|
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'
|
||||||
@@ -0,0 +1,195 @@
|
|||||||
|
config = dict()
|
||||||
|
|
||||||
|
config['gpu'] = '4'
|
||||||
|
config['name'] = 'iccv_pyr_32_64_skin'
|
||||||
|
config['notes'] = ''
|
||||||
|
config['tags'] = ['pyr', 'iccv']
|
||||||
|
|
||||||
|
# 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'] = False # 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'] = [32, 64]
|
||||||
|
config['pyramid']['pretrained_pyramid'] = 'checkpoints/iccv/iccv_pyr_32_skin_165k'
|
||||||
|
config['pyramid']['final_upscale_enhancer'] = ''
|
||||||
|
|
||||||
|
config['train_dir'] = '/home/workspace/local-data_127/train'
|
||||||
|
config['valid_dir'] = '/home/workspace/local-data_127/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['bottleneck_scale'] = 2
|
||||||
|
|
||||||
|
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),
|
||||||
|
}
|
||||||
|
if config['use_skinning']:
|
||||||
|
config['signature_dynamic']['uv_unposed'] = (512, 256, 3)
|
||||||
|
config['signature_dynamic']['mesh_unposed'] = (config['smpl_res'], 3,)
|
||||||
|
else:
|
||||||
|
config['signature_dynamic']['uv_posed'] = (512, 256, 3)
|
||||||
|
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'] = False
|
||||||
|
config['pyramid']['noise_amount'] = 0.0
|
||||||
|
|
||||||
|
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)
|
||||||
|
if config['use_skinning']:
|
||||||
|
config['signature_dynamic']['uv_unposed' + res_modifier] = (res, res//2, 3)
|
||||||
|
else:
|
||||||
|
config['signature_dynamic']['uv_posed' + 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/iccv/static_iccv_1'
|
||||||
|
config['pyramid']['body_model'] = 'checkpoints/iccv/body_iccv_1'
|
||||||
|
config['pyramid']['curvature_model'] = 'checkpoints/iccv/curv_iccv_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'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 7
|
||||||
|
level['encoder_depths'] = [3, 3, 9, 3]
|
||||||
|
level['encoder_dims'] = [32, 64, 128, level['latent_dim']]
|
||||||
|
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'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 5
|
||||||
|
level['encoder_depths'] = [9, 9, 9, 9]
|
||||||
|
level['encoder_dims'] = [32, 64, 128, level['latent_dim']]
|
||||||
|
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/iccv/iccv_'#'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['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 5
|
||||||
|
level['encoder_depths'] = [16, 9, 9, 9]
|
||||||
|
level['encoder_dims'] = [64, 128, 128, 64]
|
||||||
|
level['decoder_input'] = (4, 2, 128)
|
||||||
|
level['decoder_depths'] = [16, 9, 9, 9]
|
||||||
|
level['decoder_dims'] = [256, 128, 128, level['latent_dim']]
|
||||||
|
level['avg_garment_path'] = ''
|
||||||
|
level['upscale_enhancer'] = 'checkpoints/iccv/iccv_'#'checkpoints/up_3_d128_256_2'
|
||||||
|
level['upscale_enhancer_freeze'] = True
|
||||||
|
config['pyramid']['levels'].append(level)
|
||||||
|
elif res == 64:
|
||||||
|
level = dict()
|
||||||
|
level['resolution'] = 64
|
||||||
|
level['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 3
|
||||||
|
level['encoder_depths'] = [9, 9]
|
||||||
|
level['encoder_dims'] = [64, level['latent_dim']]
|
||||||
|
level['decoder_depths'] = level['encoder_depths']
|
||||||
|
level['decoder_dims'] = level['encoder_dims']
|
||||||
|
level['avg_garment_path'] = ''
|
||||||
|
level['upscale_enhancer'] = 'checkpoints/iccv/iccv_64_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'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 3
|
||||||
|
level['encoder_depths'] = [16]
|
||||||
|
level['encoder_dims'] = [level['latent_dim']]
|
||||||
|
level['decoder_depths'] = level['encoder_depths']
|
||||||
|
level['decoder_dims'] = level['encoder_dims']
|
||||||
|
level['avg_garment_path'] = ''
|
||||||
|
level['upscale_enhancer'] = 'checkpoints/iccv/iccv_32_2'#'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['bottleneck_scale']
|
||||||
|
config['cond_ae_static']['encoder_depths'] = [3, 3, 3, 27, 3]
|
||||||
|
config['cond_ae_static']['encoder_dims'] = [8, 16, 32, 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['bottleneck_scale']
|
||||||
|
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['bottleneck_scale']
|
||||||
|
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'
|
||||||
@@ -0,0 +1,195 @@
|
|||||||
|
config = dict()
|
||||||
|
|
||||||
|
config['gpu'] = '2'
|
||||||
|
config['name'] = 'iccv_pyr_32_skin_skirt'
|
||||||
|
config['notes'] = ''
|
||||||
|
config['tags'] = ['pyr', 'iccv']
|
||||||
|
|
||||||
|
# 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'] = False # 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'] = [32]
|
||||||
|
config['pyramid']['pretrained_pyramid'] = ''
|
||||||
|
config['pyramid']['final_upscale_enhancer'] = ''
|
||||||
|
|
||||||
|
config['train_dir'] = '/home/workspace/local-data_128/train_skirt'
|
||||||
|
config['valid_dir'] = '/home/workspace/local-data_127/valid_skirt'
|
||||||
|
config['test_dir'] = '/home/workspace/data/dataset/test_skirt_ready_2'
|
||||||
|
config['batch_size'] = 4
|
||||||
|
config['is_skirt'] = True
|
||||||
|
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['bottleneck_scale'] = 2
|
||||||
|
|
||||||
|
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),
|
||||||
|
}
|
||||||
|
if config['use_skinning']:
|
||||||
|
config['signature_dynamic']['uv_unposed'] = (512, 256, 3)
|
||||||
|
config['signature_dynamic']['mesh_unposed'] = (config['smpl_res'], 3,)
|
||||||
|
else:
|
||||||
|
config['signature_dynamic']['uv_posed'] = (512, 256, 3)
|
||||||
|
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'] = False
|
||||||
|
config['pyramid']['noise_amount'] = 0.0
|
||||||
|
|
||||||
|
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)
|
||||||
|
if config['use_skinning']:
|
||||||
|
config['signature_dynamic']['uv_unposed' + res_modifier] = (res, res//2, 3)
|
||||||
|
else:
|
||||||
|
config['signature_dynamic']['uv_posed' + 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/iccv/static_iccv_1_skirt'
|
||||||
|
config['pyramid']['body_model'] = 'checkpoints/iccv/body_iccv_1_skirt'
|
||||||
|
config['pyramid']['curvature_model'] = 'checkpoints/iccv/curv_iccv_1_skirt'
|
||||||
|
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'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 7
|
||||||
|
level['encoder_depths'] = [3, 3, 9, 3]
|
||||||
|
level['encoder_dims'] = [32, 64, 128, level['latent_dim']]
|
||||||
|
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'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 5
|
||||||
|
level['encoder_depths'] = [9, 9, 9, 9]
|
||||||
|
level['encoder_dims'] = [32, 64, 128, level['latent_dim']]
|
||||||
|
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/iccv/iccv_'#'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['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 5
|
||||||
|
level['encoder_depths'] = [16, 9, 9, 9]
|
||||||
|
level['encoder_dims'] = [64, 128, 128, 64]
|
||||||
|
level['decoder_input'] = (4, 2, 128)
|
||||||
|
level['decoder_depths'] = [16, 9, 9, 9]
|
||||||
|
level['decoder_dims'] = [256, 128, 128, level['latent_dim']]
|
||||||
|
level['avg_garment_path'] = ''
|
||||||
|
level['upscale_enhancer'] = 'checkpoints/iccv/iccv_'#'checkpoints/up_3_d128_256_2'
|
||||||
|
level['upscale_enhancer_freeze'] = True
|
||||||
|
config['pyramid']['levels'].append(level)
|
||||||
|
elif res == 64:
|
||||||
|
level = dict()
|
||||||
|
level['resolution'] = 64
|
||||||
|
level['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 3
|
||||||
|
level['encoder_depths'] = [9, 9]
|
||||||
|
level['encoder_dims'] = [64, level['latent_dim']]
|
||||||
|
level['decoder_depths'] = level['encoder_depths']
|
||||||
|
level['decoder_dims'] = level['encoder_dims']
|
||||||
|
level['avg_garment_path'] = ''
|
||||||
|
level['upscale_enhancer'] = 'checkpoints/iccv/iccv_'#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'] = 64 * config['bottleneck_scale']
|
||||||
|
level['kernel_size'] = 3
|
||||||
|
level['encoder_depths'] = [16]
|
||||||
|
level['encoder_dims'] = [level['latent_dim']]
|
||||||
|
level['decoder_depths'] = level['encoder_depths']
|
||||||
|
level['decoder_dims'] = level['encoder_dims']
|
||||||
|
level['avg_garment_path'] = ''
|
||||||
|
level['upscale_enhancer'] = 'checkpoints/iccv/iccv_32_2_skirt'#'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['bottleneck_scale']
|
||||||
|
config['cond_ae_static']['encoder_depths'] = [3, 3, 3, 27, 3]
|
||||||
|
config['cond_ae_static']['encoder_dims'] = [8, 16, 32, 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['bottleneck_scale']
|
||||||
|
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['bottleneck_scale']
|
||||||
|
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'
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
config = dict()
|
config = dict()
|
||||||
|
|
||||||
config['gpu'] = '5'
|
config['gpu'] = '1'
|
||||||
config['name'] = 'iccv_pyr_32_skirt_2'
|
config['name'] = 'iccv_pyr_32_skirt_3'
|
||||||
config['notes'] = ''
|
config['notes'] = ''
|
||||||
config['tags'] = ['pyr', 'iccv']
|
config['tags'] = ['pyr', 'iccv']
|
||||||
|
|
||||||
@@ -29,8 +29,8 @@ config['pyramid']['resolutions'] = [32]
|
|||||||
config['pyramid']['pretrained_pyramid'] = ''
|
config['pyramid']['pretrained_pyramid'] = ''
|
||||||
config['pyramid']['final_upscale_enhancer'] = ''
|
config['pyramid']['final_upscale_enhancer'] = ''
|
||||||
|
|
||||||
config['train_dir'] = '/home/workspace/data/dataset/local-cache/train_skirt'
|
config['train_dir'] = '/home/workspace/local-data_128/train_skirt'
|
||||||
config['valid_dir'] = '/home/workspace/local-data/valid_skirt'
|
config['valid_dir'] = '/home/workspace/local-data_127/valid_skirt'
|
||||||
config['test_dir'] = '/home/workspace/data/dataset/test_skirt_ready_2'
|
config['test_dir'] = '/home/workspace/data/dataset/test_skirt_ready_2'
|
||||||
config['batch_size'] = 4
|
config['batch_size'] = 4
|
||||||
config['is_skirt'] = True
|
config['is_skirt'] = True
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ config['use_norm_loss'] = False
|
|||||||
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
||||||
assert ablation_count == 1 or ablation_count == 0
|
assert ablation_count == 1 or ablation_count == 0
|
||||||
|
|
||||||
config['gpu'] = '0'
|
config['gpu'] = '5'
|
||||||
config['name'] = 'abl_reg'
|
config['name'] = 'abl_reg'
|
||||||
config['notes'] = ''
|
config['notes'] = ''
|
||||||
config['tags'] = ['iccv', 'abl_reg']
|
config['tags'] = ['iccv', 'abl_reg']
|
||||||
|
|||||||
@@ -0,0 +1,125 @@
|
|||||||
|
config = 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['use_skinning'] = True # and deshaping
|
||||||
|
config['remove_global_orientation'] = True
|
||||||
|
config['use_curvature'] = True
|
||||||
|
config['use_extra_losses'] = False # edge, collision, 3d mesh
|
||||||
|
config['use_offsets'] = True
|
||||||
|
|
||||||
|
config['use_norm_loss'] = False
|
||||||
|
|
||||||
|
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
||||||
|
assert ablation_count == 1 or ablation_count == 0
|
||||||
|
|
||||||
|
config['gpu'] = '1'
|
||||||
|
config['name'] = 'abl_reg_skirt'
|
||||||
|
config['notes'] = ''
|
||||||
|
config['tags'] = ['iccv', 'abl_reg', 'skirt']
|
||||||
|
|
||||||
|
config['avg_garment_path'] = 'custom_data/train_no_shape_skirt_avg_uv.npy' #custom_data/train_no_shape_avg_uv.npy # train_no_shape_avg_uv train_no_shape_one_hot_avg_uv
|
||||||
|
if config['use_skinning']:
|
||||||
|
assert (config['use_offsets'] and config['avg_garment_path'] != '') or (not config['use_offsets'] and config['avg_garment_path'] == '')
|
||||||
|
|
||||||
|
config['reg_loss_coeff'] = 0.1 # set to 0 if don't want to use edge+collision
|
||||||
|
|
||||||
|
config['batch_size'] = 4
|
||||||
|
config['resolution'] = 512
|
||||||
|
config['is_skirt'] = True
|
||||||
|
config['dataset_in_memory'] = False
|
||||||
|
config['is_cape'] = False
|
||||||
|
|
||||||
|
config['train_dir'] = '/home/workspace/local-data_128/train_skirt'
|
||||||
|
config['valid_dir'] = '/home/workspace/local-data_127/valid_skirt'
|
||||||
|
config['test_dir'] = '/home/workspace/data/dataset/test_skirt_ready_2'
|
||||||
|
|
||||||
|
config['static_model'] = 'checkpoints/iccv/static_iccv_1_skirt'
|
||||||
|
config['body_model'] = 'checkpoints/iccv/body_iccv_1_skirt'
|
||||||
|
config['curvature_model'] = 'checkpoints/iccv/curv_iccv_1_skirt'
|
||||||
|
|
||||||
|
|
||||||
|
config['smpl_res'] = 14475
|
||||||
|
if config['is_cape']:
|
||||||
|
config['smpl_res'] = 3638
|
||||||
|
|
||||||
|
config['latent_dim'] = 128
|
||||||
|
|
||||||
|
config['pretrained_model'] = ''
|
||||||
|
|
||||||
|
###############
|
||||||
|
config['lr'] = 0.0001# 0.0001
|
||||||
|
###############
|
||||||
|
config['starting_balancing_coeff'] = 0.0001
|
||||||
|
|
||||||
|
config['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['signature_static'] = { 'uv_static': (512, 256, 3),
|
||||||
|
'mesh_mask': (14475,),
|
||||||
|
'uv_mask': (512, 256,),
|
||||||
|
}
|
||||||
|
|
||||||
|
if config['use_skinning']:
|
||||||
|
config['signature_dynamic']['uv_unposed'] = (512, 256, 3)
|
||||||
|
config['signature_dynamic']['mesh_unposed'] = (14475, 3,)
|
||||||
|
else:
|
||||||
|
config['signature_dynamic']['uv_posed'] = (512, 256, 3)
|
||||||
|
|
||||||
|
|
||||||
|
config['upscale_enhancer'] = ''
|
||||||
|
config['freeze_encoders'] = True
|
||||||
|
config['use_one_hot'] = False
|
||||||
|
config['bottleneck_scale'] = 2
|
||||||
|
|
||||||
|
config['cvae'] = dict()
|
||||||
|
config['cvae']['is_label'] = False
|
||||||
|
config['cvae']['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
config['cvae']['add_noise'] = False
|
||||||
|
config['cvae']['noise_amount'] = 0.0
|
||||||
|
|
||||||
|
config['cvae']['kernel_size'] = 7
|
||||||
|
config['cvae']['encoder_depths'] = [3, 3, 3, 9, 3]
|
||||||
|
config['cvae']['encoder_dims'] = [32, 64, 128, 256, config['cvae']['latent_dim']]
|
||||||
|
config['cvae']['decoder_depths'] = config['cvae']['encoder_depths']
|
||||||
|
config['cvae']['decoder_dims'] = config['cvae']['encoder_dims']
|
||||||
|
|
||||||
|
|
||||||
|
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['bottleneck_scale']
|
||||||
|
config['cond_ae_static']['encoder_depths'] = [3, 3, 3, 27, 3]
|
||||||
|
config['cond_ae_static']['encoder_dims'] = [8, 16, 32, 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['bottleneck_scale']
|
||||||
|
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['bottleneck_scale']
|
||||||
|
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'
|
||||||
@@ -18,7 +18,7 @@ config['use_norm_loss'] = True
|
|||||||
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
||||||
# assert ablation_count == 1 or ablation_count == 0
|
# assert ablation_count == 1 or ablation_count == 0
|
||||||
|
|
||||||
config['gpu'] = '5'
|
config['gpu'] = '4'
|
||||||
config['name'] = 'abl_skin_curv'
|
config['name'] = 'abl_skin_curv'
|
||||||
config['notes'] = ''
|
config['notes'] = ''
|
||||||
config['tags'] = ['iccv', 'abl_skin_curv']
|
config['tags'] = ['iccv', 'abl_skin_curv']
|
||||||
@@ -35,8 +35,8 @@ config['is_skirt'] = False
|
|||||||
config['dataset_in_memory'] = False
|
config['dataset_in_memory'] = False
|
||||||
config['is_cape'] = False
|
config['is_cape'] = False
|
||||||
|
|
||||||
config['train_dir'] = '/home/workspace/local-data/train'
|
config['train_dir'] = '/home/workspace/local-data_127/train'
|
||||||
config['valid_dir'] = '/home/workspace/local-data/valid'
|
config['valid_dir'] = '/home/workspace/local-data_127/valid'
|
||||||
config['test_dir'] = '/home/workspace/data/dataset/test_ready'
|
config['test_dir'] = '/home/workspace/data/dataset/test_ready'
|
||||||
|
|
||||||
config['static_model'] = 'checkpoints/iccv/static_iccv_1'
|
config['static_model'] = 'checkpoints/iccv/static_iccv_1'
|
||||||
|
|||||||
@@ -0,0 +1,125 @@
|
|||||||
|
config = 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['use_skinning'] = False # and deshaping
|
||||||
|
config['remove_global_orientation'] = True
|
||||||
|
config['use_curvature'] = False
|
||||||
|
config['use_extra_losses'] = True # edge, collision, 3d mesh
|
||||||
|
config['use_offsets'] = True
|
||||||
|
|
||||||
|
config['use_norm_loss'] = True
|
||||||
|
|
||||||
|
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
||||||
|
# assert ablation_count == 1 or ablation_count == 0
|
||||||
|
|
||||||
|
config['gpu'] = '6'
|
||||||
|
config['name'] = 'abl_skin_curv_skirt'
|
||||||
|
config['notes'] = ''
|
||||||
|
config['tags'] = ['iccv', 'abl_skin_curv', 'skirt']
|
||||||
|
|
||||||
|
config['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['use_skinning']:
|
||||||
|
assert (config['use_offsets'] and config['avg_garment_path'] != '') or (not config['use_offsets'] and config['avg_garment_path'] == '')
|
||||||
|
|
||||||
|
config['reg_loss_coeff'] = 0.1 # set to 0 if don't want to use edge+collision
|
||||||
|
|
||||||
|
config['batch_size'] = 4
|
||||||
|
config['resolution'] = 512
|
||||||
|
config['is_skirt'] = True
|
||||||
|
config['dataset_in_memory'] = False
|
||||||
|
config['is_cape'] = False
|
||||||
|
|
||||||
|
config['train_dir'] = '/home/workspace/local-data_128/train_skirt'
|
||||||
|
config['valid_dir'] = '/home/workspace/local-data_127/valid_skirt'
|
||||||
|
config['test_dir'] = '/home/workspace/data/dataset/test_skirt_ready_2'
|
||||||
|
|
||||||
|
config['static_model'] = 'checkpoints/iccv/static_iccv_1_skirt'
|
||||||
|
config['body_model'] = 'checkpoints/iccv/body_iccv_1_skirt'
|
||||||
|
config['curvature_model'] = 'checkpoints/iccv/curv_iccv_1_skirt'
|
||||||
|
|
||||||
|
|
||||||
|
config['smpl_res'] = 14475
|
||||||
|
if config['is_cape']:
|
||||||
|
config['smpl_res'] = 3638
|
||||||
|
|
||||||
|
config['latent_dim'] = 128
|
||||||
|
|
||||||
|
config['pretrained_model'] = ''
|
||||||
|
|
||||||
|
###############
|
||||||
|
config['lr'] = 0.0001# 0.0001
|
||||||
|
###############
|
||||||
|
config['starting_balancing_coeff'] = 0.0001
|
||||||
|
|
||||||
|
config['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['signature_static'] = { 'uv_static': (512, 256, 3),
|
||||||
|
'mesh_mask': (14475,),
|
||||||
|
'uv_mask': (512, 256,),
|
||||||
|
}
|
||||||
|
|
||||||
|
if config['use_skinning']:
|
||||||
|
config['signature_dynamic']['uv_unposed'] = (512, 256, 3)
|
||||||
|
config['signature_dynamic']['mesh_unposed'] = (14475, 3,)
|
||||||
|
else:
|
||||||
|
config['signature_dynamic']['uv_posed'] = (512, 256, 3)
|
||||||
|
|
||||||
|
|
||||||
|
config['upscale_enhancer'] = ''
|
||||||
|
config['freeze_encoders'] = True
|
||||||
|
config['use_one_hot'] = False
|
||||||
|
config['bottleneck_scale'] = 2
|
||||||
|
|
||||||
|
config['cvae'] = dict()
|
||||||
|
config['cvae']['is_label'] = False
|
||||||
|
config['cvae']['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
config['cvae']['add_noise'] = False
|
||||||
|
config['cvae']['noise_amount'] = 0.0
|
||||||
|
|
||||||
|
config['cvae']['kernel_size'] = 7
|
||||||
|
config['cvae']['encoder_depths'] = [3, 3, 3, 9, 3]
|
||||||
|
config['cvae']['encoder_dims'] = [32, 64, 128, 256, config['cvae']['latent_dim']]
|
||||||
|
config['cvae']['decoder_depths'] = config['cvae']['encoder_depths']
|
||||||
|
config['cvae']['decoder_dims'] = config['cvae']['encoder_dims']
|
||||||
|
|
||||||
|
|
||||||
|
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['bottleneck_scale']
|
||||||
|
config['cond_ae_static']['encoder_depths'] = [3, 3, 3, 27, 3]
|
||||||
|
config['cond_ae_static']['encoder_dims'] = [8, 16, 32, 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['bottleneck_scale']
|
||||||
|
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['bottleneck_scale']
|
||||||
|
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'
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
config = 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['use_skinning'] = False # and deshaping
|
||||||
|
config['remove_global_orientation'] = True
|
||||||
|
config['use_curvature'] = True
|
||||||
|
config['use_extra_losses'] = False # edge, collision, 3d mesh
|
||||||
|
config['use_offsets'] = True
|
||||||
|
|
||||||
|
config['use_norm_loss'] = False
|
||||||
|
|
||||||
|
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
||||||
|
# assert ablation_count == 1 or ablation_count == 0
|
||||||
|
|
||||||
|
config['gpu'] = '5'
|
||||||
|
config['name'] = 'abl_skin_reg'
|
||||||
|
config['notes'] = ''
|
||||||
|
config['tags'] = ['iccv', 'abl_skin_reg']
|
||||||
|
|
||||||
|
config['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['use_skinning']:
|
||||||
|
assert (config['use_offsets'] and config['avg_garment_path'] != '') or (not config['use_offsets'] and config['avg_garment_path'] == '')
|
||||||
|
|
||||||
|
config['reg_loss_coeff'] = 0.1 # set to 0 if don't want to use edge+collision
|
||||||
|
|
||||||
|
config['batch_size'] = 4
|
||||||
|
config['resolution'] = 512
|
||||||
|
config['is_skirt'] = False
|
||||||
|
config['dataset_in_memory'] = False
|
||||||
|
config['is_cape'] = False
|
||||||
|
|
||||||
|
config['train_dir'] = '/home/workspace/local-data_127/train'
|
||||||
|
config['valid_dir'] = '/home/workspace/local-data_127/valid'
|
||||||
|
config['test_dir'] = '/home/workspace/data/dataset/test_ready'
|
||||||
|
|
||||||
|
config['static_model'] = 'checkpoints/iccv/static_iccv_1'
|
||||||
|
config['body_model'] = 'checkpoints/iccv/body_iccv_1'
|
||||||
|
config['curvature_model'] = 'checkpoints/iccv/curv_iccv_1'
|
||||||
|
|
||||||
|
|
||||||
|
config['smpl_res'] = 14475
|
||||||
|
if config['is_cape']:
|
||||||
|
config['smpl_res'] = 3638
|
||||||
|
|
||||||
|
config['latent_dim'] = 128
|
||||||
|
|
||||||
|
config['pretrained_model'] = ''
|
||||||
|
|
||||||
|
###############
|
||||||
|
config['lr'] = 0.0001# 0.0001
|
||||||
|
###############
|
||||||
|
config['starting_balancing_coeff'] = 0.0001
|
||||||
|
|
||||||
|
config['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['signature_static'] = { 'uv_static': (512, 256, 3),
|
||||||
|
'mesh_mask': (14475,),
|
||||||
|
'uv_mask': (512, 256,),
|
||||||
|
}
|
||||||
|
|
||||||
|
if config['use_skinning']:
|
||||||
|
config['signature_dynamic']['uv_unposed'] = (512, 256, 3)
|
||||||
|
config['signature_dynamic']['mesh_unposed'] = (14475, 3,)
|
||||||
|
else:
|
||||||
|
config['signature_dynamic']['uv_posed'] = (512, 256, 3)
|
||||||
|
|
||||||
|
|
||||||
|
config['upscale_enhancer'] = ''
|
||||||
|
config['freeze_encoders'] = True
|
||||||
|
config['use_one_hot'] = False
|
||||||
|
config['bottleneck_scale'] = 2
|
||||||
|
|
||||||
|
config['cvae'] = dict()
|
||||||
|
config['cvae']['is_label'] = False
|
||||||
|
config['cvae']['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
config['cvae']['add_noise'] = False
|
||||||
|
config['cvae']['noise_amount'] = 0.0
|
||||||
|
|
||||||
|
config['cvae']['kernel_size'] = 7
|
||||||
|
config['cvae']['encoder_depths'] = [3, 3, 3, 9, 3]
|
||||||
|
config['cvae']['encoder_dims'] = [32, 64, 128, 256, config['cvae']['latent_dim']]
|
||||||
|
config['cvae']['decoder_depths'] = config['cvae']['encoder_depths']
|
||||||
|
config['cvae']['decoder_dims'] = config['cvae']['encoder_dims']
|
||||||
|
|
||||||
|
|
||||||
|
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['bottleneck_scale']
|
||||||
|
config['cond_ae_static']['encoder_depths'] = [3, 3, 3, 27, 3]
|
||||||
|
config['cond_ae_static']['encoder_dims'] = [8, 16, 32, 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['bottleneck_scale']
|
||||||
|
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['bottleneck_scale']
|
||||||
|
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'
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
config = 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['use_skinning'] = False # and deshaping
|
||||||
|
config['remove_global_orientation'] = True
|
||||||
|
config['use_curvature'] = True
|
||||||
|
config['use_extra_losses'] = False # edge, collision, 3d mesh
|
||||||
|
config['use_offsets'] = True
|
||||||
|
|
||||||
|
config['use_norm_loss'] = False
|
||||||
|
|
||||||
|
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
||||||
|
# assert ablation_count == 1 or ablation_count == 0
|
||||||
|
|
||||||
|
config['gpu'] = '7'
|
||||||
|
config['name'] = 'abl_skin_reg_skirt'
|
||||||
|
config['notes'] = ''
|
||||||
|
config['tags'] = ['iccv', 'abl_skin_reg', 'skirt']
|
||||||
|
|
||||||
|
config['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['use_skinning']:
|
||||||
|
assert (config['use_offsets'] and config['avg_garment_path'] != '') or (not config['use_offsets'] and config['avg_garment_path'] == '')
|
||||||
|
|
||||||
|
config['reg_loss_coeff'] = 0.1 # set to 0 if don't want to use edge+collision
|
||||||
|
|
||||||
|
config['batch_size'] = 4
|
||||||
|
config['resolution'] = 512
|
||||||
|
config['is_skirt'] = True
|
||||||
|
config['dataset_in_memory'] = False
|
||||||
|
config['is_cape'] = False
|
||||||
|
|
||||||
|
config['train_dir'] = '/home/workspace/local-data_128/train_skirt'
|
||||||
|
config['valid_dir'] = '/home/workspace/local-data_127/valid_skirt'
|
||||||
|
config['test_dir'] = '/home/workspace/data/dataset/test_skirt_ready_2'
|
||||||
|
|
||||||
|
config['static_model'] = 'checkpoints/iccv/static_iccv_1_skirt'
|
||||||
|
config['body_model'] = 'checkpoints/iccv/body_iccv_1_skirt'
|
||||||
|
config['curvature_model'] = 'checkpoints/iccv/curv_iccv_1_skirt'
|
||||||
|
|
||||||
|
|
||||||
|
config['smpl_res'] = 14475
|
||||||
|
if config['is_cape']:
|
||||||
|
config['smpl_res'] = 3638
|
||||||
|
|
||||||
|
config['latent_dim'] = 128
|
||||||
|
|
||||||
|
config['pretrained_model'] = ''
|
||||||
|
|
||||||
|
###############
|
||||||
|
config['lr'] = 0.0001# 0.0001
|
||||||
|
###############
|
||||||
|
config['starting_balancing_coeff'] = 0.0001
|
||||||
|
|
||||||
|
config['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['signature_static'] = { 'uv_static': (512, 256, 3),
|
||||||
|
'mesh_mask': (14475,),
|
||||||
|
'uv_mask': (512, 256,),
|
||||||
|
}
|
||||||
|
|
||||||
|
if config['use_skinning']:
|
||||||
|
config['signature_dynamic']['uv_unposed'] = (512, 256, 3)
|
||||||
|
config['signature_dynamic']['mesh_unposed'] = (14475, 3,)
|
||||||
|
else:
|
||||||
|
config['signature_dynamic']['uv_posed'] = (512, 256, 3)
|
||||||
|
|
||||||
|
|
||||||
|
config['upscale_enhancer'] = ''
|
||||||
|
config['freeze_encoders'] = True
|
||||||
|
config['use_one_hot'] = False
|
||||||
|
config['bottleneck_scale'] = 2
|
||||||
|
|
||||||
|
config['cvae'] = dict()
|
||||||
|
config['cvae']['is_label'] = False
|
||||||
|
config['cvae']['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
config['cvae']['add_noise'] = False
|
||||||
|
config['cvae']['noise_amount'] = 0.0
|
||||||
|
|
||||||
|
config['cvae']['kernel_size'] = 7
|
||||||
|
config['cvae']['encoder_depths'] = [3, 3, 3, 9, 3]
|
||||||
|
config['cvae']['encoder_dims'] = [32, 64, 128, 256, config['cvae']['latent_dim']]
|
||||||
|
config['cvae']['decoder_depths'] = config['cvae']['encoder_depths']
|
||||||
|
config['cvae']['decoder_dims'] = config['cvae']['encoder_dims']
|
||||||
|
|
||||||
|
|
||||||
|
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['bottleneck_scale']
|
||||||
|
config['cond_ae_static']['encoder_depths'] = [3, 3, 3, 27, 3]
|
||||||
|
config['cond_ae_static']['encoder_dims'] = [8, 16, 32, 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['bottleneck_scale']
|
||||||
|
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['bottleneck_scale']
|
||||||
|
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'
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
config = 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['use_skinning'] = False # and deshaping
|
||||||
|
config['remove_global_orientation'] = True
|
||||||
|
config['use_curvature'] = True
|
||||||
|
config['use_extra_losses'] = True # edge, collision, 3d mesh
|
||||||
|
config['use_offsets'] = True
|
||||||
|
|
||||||
|
config['use_norm_loss'] = True
|
||||||
|
|
||||||
|
ablation_count = [config['use_skinning'], config['remove_global_orientation'], config['use_curvature'], config['use_extra_losses'], config['use_offsets']].count(False)
|
||||||
|
assert ablation_count == 1 or ablation_count == 0
|
||||||
|
|
||||||
|
config['gpu'] = '4'
|
||||||
|
config['name'] = 'abl_skin_skirt'
|
||||||
|
config['notes'] = ''
|
||||||
|
config['tags'] = ['iccv', 'abl_skin', 'skirt']
|
||||||
|
|
||||||
|
config['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['use_skinning']:
|
||||||
|
assert (config['use_offsets'] and config['avg_garment_path'] != '') or (not config['use_offsets'] and config['avg_garment_path'] == '')
|
||||||
|
|
||||||
|
config['reg_loss_coeff'] = 0.1 # set to 0 if don't want to use edge+collision
|
||||||
|
|
||||||
|
config['batch_size'] = 4
|
||||||
|
config['resolution'] = 512
|
||||||
|
config['is_skirt'] = True
|
||||||
|
config['dataset_in_memory'] = False
|
||||||
|
config['is_cape'] = False
|
||||||
|
|
||||||
|
config['train_dir'] = '/home/workspace/local-data_128/train_skirt'
|
||||||
|
config['valid_dir'] = '/home/workspace/local-data/valid_skirt'
|
||||||
|
config['test_dir'] = '/home/workspace/data/dataset/test_skirt_ready_2'
|
||||||
|
|
||||||
|
config['static_model'] = 'checkpoints/iccv/static_iccv_1_skirt'
|
||||||
|
config['body_model'] = 'checkpoints/iccv/body_iccv_1_skirt'
|
||||||
|
config['curvature_model'] = 'checkpoints/iccv/curv_iccv_1_skirt'
|
||||||
|
|
||||||
|
|
||||||
|
config['smpl_res'] = 14475
|
||||||
|
if config['is_cape']:
|
||||||
|
config['smpl_res'] = 3638
|
||||||
|
|
||||||
|
config['latent_dim'] = 128
|
||||||
|
|
||||||
|
config['pretrained_model'] = ''
|
||||||
|
|
||||||
|
###############
|
||||||
|
config['lr'] = 0.0001# 0.0001
|
||||||
|
###############
|
||||||
|
config['starting_balancing_coeff'] = 0.0001
|
||||||
|
|
||||||
|
config['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['signature_static'] = { 'uv_static': (512, 256, 3),
|
||||||
|
'mesh_mask': (14475,),
|
||||||
|
'uv_mask': (512, 256,),
|
||||||
|
}
|
||||||
|
|
||||||
|
if config['use_skinning']:
|
||||||
|
config['signature_dynamic']['uv_unposed'] = (512, 256, 3)
|
||||||
|
config['signature_dynamic']['mesh_unposed'] = (14475, 3,)
|
||||||
|
else:
|
||||||
|
config['signature_dynamic']['uv_posed'] = (512, 256, 3)
|
||||||
|
|
||||||
|
|
||||||
|
config['upscale_enhancer'] = ''
|
||||||
|
config['freeze_encoders'] = True
|
||||||
|
config['use_one_hot'] = False
|
||||||
|
config['bottleneck_scale'] = 2
|
||||||
|
|
||||||
|
config['cvae'] = dict()
|
||||||
|
config['cvae']['is_label'] = False
|
||||||
|
config['cvae']['latent_dim'] = 64 * config['bottleneck_scale']
|
||||||
|
config['cvae']['add_noise'] = False
|
||||||
|
config['cvae']['noise_amount'] = 0.0
|
||||||
|
|
||||||
|
config['cvae']['kernel_size'] = 7
|
||||||
|
config['cvae']['encoder_depths'] = [3, 3, 3, 9, 3]
|
||||||
|
config['cvae']['encoder_dims'] = [32, 64, 128, 256, config['cvae']['latent_dim']]
|
||||||
|
config['cvae']['decoder_depths'] = config['cvae']['encoder_depths']
|
||||||
|
config['cvae']['decoder_dims'] = config['cvae']['encoder_dims']
|
||||||
|
|
||||||
|
|
||||||
|
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['bottleneck_scale']
|
||||||
|
config['cond_ae_static']['encoder_depths'] = [3, 3, 3, 27, 3]
|
||||||
|
config['cond_ae_static']['encoder_dims'] = [8, 16, 32, 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['bottleneck_scale']
|
||||||
|
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['bottleneck_scale']
|
||||||
|
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'
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from configs.iccv.config_abl_skin import config
|
from configs.iccv.config_abl_skin_reg_skirt import config
|
||||||
|
|
||||||
os.environ["CUDA_VISIBLE_DEVICES"] = config['gpu']
|
os.environ["CUDA_VISIBLE_DEVICES"] = config['gpu']
|
||||||
import tensorflow as tf
|
import tensorflow as tf
|
||||||
@@ -546,7 +546,7 @@ if __name__ == '__main__':
|
|||||||
train_loss = train_step(batch)
|
train_loss = train_step(batch)
|
||||||
train_accumulator.update(train_loss)
|
train_accumulator.update(train_loss)
|
||||||
|
|
||||||
if step % 50 == 0:
|
if step % 25 == 0:
|
||||||
data_valid = valid_iterator.get_next()
|
data_valid = valid_iterator.get_next()
|
||||||
data_valid = static_dataset_valid.expand_batch(batch_to_dict(data_valid, config['signature_dynamic']))
|
data_valid = static_dataset_valid.expand_batch(batch_to_dict(data_valid, config['signature_dynamic']))
|
||||||
valid_loss = valid_step(data_valid)
|
valid_loss = valid_step(data_valid)
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
from configs.iccv.config_abl_pyr_32 import config
|
from configs.iccv.config_abl_pyr_32_64_skin import config
|
||||||
|
|
||||||
os.environ["CUDA_VISIBLE_DEVICES"] = config['gpu']
|
os.environ["CUDA_VISIBLE_DEVICES"] = config['gpu']
|
||||||
import tensorflow as tf
|
import tensorflow as tf
|
||||||
|
|||||||
+4
-4
@@ -187,14 +187,14 @@ def downscale_uv_maps_mask(folder, type, size):
|
|||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument("-f", "--folder", help = "end of range", default='/home/workspace/local-data/train')
|
parser.add_argument("-f", "--folder", help = "end of range", default='/home/workspace/local-data/train_skirt')
|
||||||
parser.add_argument("-s", "--start", help = "start of range", default=30700)
|
parser.add_argument("-s", "--start", help = "start of range", default=0)
|
||||||
parser.add_argument("-e", "--end", help = "end of range", default=45000)
|
parser.add_argument("-e", "--end", help = "end of range", default=1e6)
|
||||||
parser.add_argument("-n", "--name", help = "end of range", default='lhunor')
|
parser.add_argument("-n", "--name", help = "end of range", default='lhunor')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
# sizes = [32, 64, 128, 256]
|
# sizes = [32, 64, 128, 256]
|
||||||
sizes = [32]
|
sizes = [64, 128, 256]
|
||||||
folder = args.folder
|
folder = args.folder
|
||||||
|
|
||||||
is_skirt = True
|
is_skirt = True
|
||||||
|
|||||||
+6
-6
@@ -4,26 +4,26 @@ import os
|
|||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
||||||
folder = '/home/workspace/data/dataset/test_skirt_ready_2'
|
# folder = '/home/workspace/data/dataset/test_skirt_ready_2'
|
||||||
# folder = '/home/workspace/local-data/cape_processed/train/male'
|
# folder = '/home/workspace/local-data/cape_processed/train/male'
|
||||||
# folder = '/home/workspace/local-data/valid_skirt'
|
folder = '/home/workspace/local-data/train_skirt'
|
||||||
# folder = '/home/workspace/local-data/valid'
|
# folder = '/home/workspace/local-data/valid'
|
||||||
# ids = os.listdir(folder)
|
# ids = os.listdir(folder)
|
||||||
ids = os.listdir(folder + '/mesh_posed_no_orient')#[280000:]
|
ids = os.listdir(folder + '/mesh_posed_no_orient')#[280000:]
|
||||||
skirt = 0
|
skirt = 0
|
||||||
|
|
||||||
count = 0
|
count = 0
|
||||||
step = 2000
|
step = 20000
|
||||||
|
|
||||||
# !!!!!!! change skirt parameter in script
|
# !!!!!!! change skirt parameter in script
|
||||||
|
|
||||||
while count < len(ids):
|
while count < 200000:
|
||||||
# os.system('nohup python convert_to_uv_cape.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_2_cape_train_male_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_2_cape_train_male_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
# os.system('nohup python convert_to_uv_cape.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_2_cape_train_male_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_2_cape_train_male_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
||||||
# os.system('nohup python convert_to_uv.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_train_unposed_onehot_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_train_unposed_onehot_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
# os.system('nohup python convert_to_uv.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_train_unposed_onehot_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_train_unposed_onehot_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
||||||
# os.system('nohup python convert_to_uv_local.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_train_local_unposed_onehot_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_train_local_unposed_onehot_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
# os.system('nohup python convert_to_uv_local.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_train_local_unposed_onehot_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_train_local_unposed_onehot_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
||||||
os.system('nohup python convert_to_uv_local_single.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_posed_no_orient_test_skirt_ready_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_posed_no_orient_test_skirt_ready_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
# os.system('nohup python convert_to_uv_local_single.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_posed_no_orient_test_skirt_ready_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_posed_no_orient_test_skirt_ready_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
||||||
# os.system('nohup python convert_to_uv_local_single.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_train_skirt_local_unposed_onehot_3_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_train_skirt_local_unposed_onehot_3_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
# os.system('nohup python convert_to_uv_local_single.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_train_skirt_local_unposed_onehot_3_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_train_skirt_local_unposed_onehot_3_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
||||||
# os.system('nohup python convert_to_uv_local_single.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_valid_skirt_local_unposed_onehot_3_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_valid_skirt_local_unposed_onehot_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
# os.system('nohup python convert_to_uv_local_single.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'to_uv_valid_skirt_local_unposed_onehot_3_' + str(count) + '_' + str(count+step) + ' > nohup/to_uv_valid_skirt_local_unposed_onehot_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
||||||
# os.system('nohup python downscale.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'downscale_valid_posed_no_orient_' + str(count) + '_' + str(count+step) + ' > nohup/downscale_valid_posed_no_orient_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
os.system('nohup python downscale.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + ' -n ' + 'downscale_train_skirt_posed_no_orient_' + str(count) + '_' + str(count+step) + ' > nohup/downscale_train_skirt_posed_no_orient_' + str(count) + '_' + str(count+step) + '.out' + ' 2>&1 &')
|
||||||
# os.system('python Data/convert_to_uv.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + '')
|
# os.system('python Data/convert_to_uv.py -f ' + folder + ' -s ' + str(count) + ' -e ' + str(count + step) + '')
|
||||||
count += step
|
count += step
|
||||||
|
|||||||
Reference in New Issue
Block a user