diff --git a/configs/config_pyramid.py b/configs/config_pyramid.py index 0f935e9..c5087dd 100644 --- a/configs/config_pyramid.py +++ b/configs/config_pyramid.py @@ -1,27 +1,25 @@ from configs.config_base import config -config['gpu'] = '3' -config['name'] = 'pyr_1_32_64_128' +config['gpu'] = '2' +config['name'] = 'pyr_4_32_2_64_2' config['notes'] = '\ offsets over average unposed garment. remove global orientation (in posed body input and in pose_shape parameters. | \ retrained body encoder with deoriented bodies | \ use mean l2 loss. small batch. l2 * 1000, balancing to 1 from 0.01 | \ fixed gender issue and retrained body encoder, FINAL | \ remove shape from unposed garment | \ -training on 100 garments with offsets over the average of these | \ -fixed autoencoders!!!!!!!!! | \ common condition encoders for all levels, only run once | \ full res loss on each level | \ all higher levels are added to the output of first level | \ using custom MLP upscale enhancement | \ -layers 32 | \ -testing plotting | \ only train highest level, all other use from pretrained pyramids with one less level | \ maybe upscale enhancer was not frozen? --> fixed pretrained approach | \ upscale from level to level, not to final res, only at the end to final res | \ updated upscale enhancers | \ try with l2 loss | \ - \ +fixed low res body inputs | \ +with 3d loss | \ +continued from pyr_4_32_2, changed encoders, upscaler, added tanh to cond_encoder | \ ' # DON'T FORGET TO RESET SSIM LOSS USAGE @@ -29,6 +27,10 @@ try with l2 loss | \ # 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['dataset_in_memory'] = False @@ -36,29 +38,30 @@ config['resolution'] = None config['lr'] = 0.0001 config['starting_balancing_coeff'] = 0.0001 -config['reg_loss_coeff'] = 0 # set to 0 if don't want to use edge+collision +config['reg_loss_coeff'] = 0.1 # set to 0 if don't want to use edge+collision config['signature_dynamic'] = { 'id': (), 'pose_shape': (72 + 11,), 'uv_body_posed': (512, 256, 3), - 'mesh_body_posed': (14475, 3,), - 'mesh_posed': (14475, 3,), - 'mesh_unposed': (14475, 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': (14475,), + 'mesh_mask': (config['smpl_res'],), 'uv_mask': (512, 256,), } config['pyramid'] = dict() config['pyramid']['is_label'] = False config['pyramid']['latent_dim'] = config['latent_dim'] +config['pyramid']['add_noise'] = True -config['pyramid']['resolutions'] = [32, 64, 128] +config['pyramid']['resolutions'] = [32] config['pyramid']['loss_weights'] = [1,1,1,1,1] -config['pyramid']['pretrained_pyramid'] = 'checkpoints/pyr_1_32_64' +config['pyramid']['pretrained_pyramid'] = 'checkpoints/pyr_4_32_2' for res in config['pyramid']['resolutions']: if res != 512: @@ -70,19 +73,22 @@ for res in config['pyramid']['resolutions']: config['signature_static']['uv_mask' + res_modifier] = (res, res//2) -# config['pyramid']['static_model'] = 'checkpoints/ae_static_7_2_x' -# config['pyramid']['body_model'] = 'checkpoints/ae_body_9_x' -# config['pyramid']['curvature_model'] = 'checkpoints/ae_curv_9_x' -# config['pyramid']['static_model'] = 'checkpoints/static_1' -# config['pyramid']['body_model'] = 'checkpoints/body_1' -# config['pyramid']['curvature_model'] = 'checkpoints/curv_1' -config['pyramid']['static_model'] = '' -config['pyramid']['body_model'] = '' -config['pyramid']['curvature_model'] = '' +# config['pyramid']['static_model'] = 'checkpoints/static_1_skirt' +# config['pyramid']['body_model'] = 'checkpoints/body_1_skirt_2_2' +# config['pyramid']['curvature_model'] = 'checkpoints/curv_1_skirt' +config['pyramid']['static_model'] = 'checkpoints/static_1' +config['pyramid']['body_model'] = 'checkpoints/body_1' +config['pyramid']['curvature_model'] = 'checkpoints/curv_1' +# config['pyramid']['static_model'] = 'checkpoints/static_1_cape_f' +# config['pyramid']['body_model'] = 'checkpoints/body_1_cape_f' +# config['pyramid']['curvature_model'] = 'checkpoints/curv_1_cape_f' +# config['pyramid']['static_model'] = '' +# config['pyramid']['body_model'] = '' +# config['pyramid']['curvature_model'] = '' config['pyramid']['freeze_encoders'] = True config['avg_garment_path'] = '' -config['pyramid']['final_upscale_enhancer'] = 'checkpoints/128_512_3' +config['pyramid']['final_upscale_enhancer'] = 'checkpoints/32_512_4' config['pyramid']['levels'] = [] @@ -119,13 +125,13 @@ for res in config['pyramid']['resolutions']: level['resolution'] = 128 level['latent_dim'] = config['latent_dim'] level['kernel_size'] = 5 - level['encoder_depths'] = [16, 16, 9, 9] - level['encoder_dims'] = [64, 128, 256, 256] + level['encoder_depths'] = [16, 9, 9, 9] + level['encoder_dims'] = [64, 128, 128, 256] level['decoder_input'] = (4, 2, 128) - level['decoder_depths'] = [16, 16, 9, 9] - level['decoder_dims'] = [256, 256, 128, 64] + level['decoder_depths'] = [16, 9, 9, 9] + level['decoder_dims'] = [256, 128, 128, 64] level['avg_garment_path'] = '' - level['upscale_enhancer'] = ''#'checkpoints/up_3_d128_256_2' + level['upscale_enhancer'] = 'checkpoints/128_512_cape_f'#'checkpoints/up_3_d128_256_2' level['upscale_enhancer_freeze'] = True config['pyramid']['levels'].append(level) elif res == 64: @@ -133,13 +139,13 @@ for res in config['pyramid']['resolutions']: level['resolution'] = 64 level['latent_dim'] = config['latent_dim'] level['kernel_size'] = 5 - level['encoder_depths'] = [27, 27, 16] - level['encoder_dims'] = [256, 256, 256] + level['encoder_depths'] = [9, 9, 9] + level['encoder_dims'] = [64, 128, 256] level['decoder_input'] = (4, 2, 256) - level['decoder_depths'] = [27, 27, 16] - level['decoder_dims'] = [256, 256, 256] + level['decoder_depths'] = [9, 9, 9] + level['decoder_dims'] = [256, 128, 64] level['avg_garment_path'] = '' - level['upscale_enhancer'] = 'checkpoints/64_512_2'#checkpoints/up_3_d64_128_2' + level['upscale_enhancer'] = ''#checkpoints/up_3_d64_128_2' level['upscale_enhancer_freeze'] = False config['pyramid']['levels'].append(level) elif res == 32: @@ -147,16 +153,14 @@ for res in config['pyramid']['resolutions']: level['resolution'] = 32 level['latent_dim'] = config['latent_dim'] level['kernel_size'] = 3 - level['encoder_depths'] = [27, 27] + level['encoder_depths'] = [9, 9] level['encoder_dims'] = [256, 256] level['decoder_input'] = (4, 2, 256) - level['decoder_depths'] = [27, 27] + level['decoder_depths'] = [9, 9] level['decoder_dims'] = [256, 256] level['avg_garment_path'] = '' - level['upscale_enhancer'] = 'checkpoints/32_512_4'#'checkpoints/up_3_d32_64_2' + level['upscale_enhancer'] = ''#'checkpoints/up_3_d32_64_2' level['upscale_enhancer_freeze'] = True config['pyramid']['levels'].append(level) else: - raise NotImplementedError - - + raise NotImplementedError \ No newline at end of file