Files
cvpr/configs/config_pyramid.py
T
2022-09-27 21:26:15 +00:00

109 lines
4.0 KiB
Python

from configs.config_base import config
config['gpu'] = '1'
config['name'] = 'cvae_pyr_4_4'
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 and 512\
try loading weights from previous trainings\
'
config['dataset_in_memory'] = False
config['resolution'] = None
config['lr'] = 0.0001
config['starting_balancing_coeff'] = 0.0001
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,),
'uv_unposed': (512, 256, 3),
'uv_curvature': (512, 256, 7),
}
config['signature_static'] = { 'uv_static': (512, 256, 3),
'mesh_mask': (14475,),
'uv_mask': (512, 256,),
}
config['pyramid'] = dict()
config['pyramid']['is_label'] = False
config['pyramid']['latent_dim'] = config['latent_dim']
config['pyramid']['resolutions'] = [32, 512]
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/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']['freeze_encoders'] = True
config['avg_garment_path'] = ''
config['pyramid']['levels'] = []
for res in config['pyramid']['resolutions']:
if res == 512:
level = dict()
level['resolution'] = 512
level['latent_dim'] = config['latent_dim']
level['kernel_size'] = 7
level['encoder_depths'] = [3, 3, 9, 3]
level['encoder_dims'] = [32, 64, 128, 256]
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 == 128:
level = dict()
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['decoder_input'] = (4, 2, 128)
level['decoder_depths'] = [16, 16, 9, 9]
level['decoder_dims'] = [256, 256, 128, 64]
level['avg_garment_path'] = ''
level['upscale_enhancer'] = 'checkpoints/up_2_3_d128'
config['pyramid']['levels'].append(level)
elif res == 32:
level = dict()
level['resolution'] = 32
level['latent_dim'] = config['latent_dim']
level['kernel_size'] = 3
level['encoder_depths'] = [27, 27]
level['encoder_dims'] = [256, 256]
level['decoder_input'] = (4, 2, 256)
level['decoder_depths'] = [27, 27]
level['decoder_dims'] = [256, 256]
level['avg_garment_path'] = ''
level['upscale_enhancer'] = 'checkpoints/up_2_3'
config['pyramid']['levels'].append(level)
else:
raise NotImplementedError