working pyramid pipeline

This commit is contained in:
2022-09-27 21:26:15 +00:00
parent 1da83294ee
commit fa8f24f0c5
10 changed files with 997 additions and 213 deletions
+24 -3
View File
@@ -1,8 +1,21 @@
from configs.config_base import config
config['gpu'] = '0'
config['gpu'] = '1'
config['lr'] = 0.0001
config['name'] = 'ae_body_9'
config['name'] = 'ae_body_10_3'
config['notes'] = 'convnext + convnext, add dense with tanh at the end of reverse convnext,\
flattened bottleneck with 128 latent_dim\ remove global orientation\
fixed gender issue with deoriented bodies, again, aaand again\
trained on 100 garments\
remove multiplications with garment uv mask\
larger bottleneck, low res output upscaled\
larger batch size, 32 instead of 4\
'
config['dataset_in_memory'] = False
config['batch_size'] = 32
config['signature_dynamic'] = { 'id': (),
'pose_shape': (72 + 11,),
@@ -11,4 +24,12 @@ config['signature_dynamic'] = { 'id': (),
}
config['signature_static'] = {
'mesh_mask': (14475,),
}
}
config['cond_ae']['upscale_output'] = True
config['cond_ae']['bottleneck_size'] = 512
config['cond_ae']['encoder_depths'] = [3, 3, 9, 9, 3, 3]
config['cond_ae']['encoder_dims'] = [32, 64, 128, 256, 256, config['cond_ae']['bottleneck_size']]
config['cond_ae']['decoder_input'] = (4, 2, config['cond_ae']['bottleneck_size'])
config['cond_ae']['decoder_depths'] = [3, 3, 9, 3]
config['cond_ae']['decoder_dims'] = [config['cond_ae']['bottleneck_size'], 128, 64, 16]
+4 -2
View File
@@ -2,12 +2,14 @@ from configs.config_base import config
config['gpu'] = '2'
config['lr'] = 0.001
config['name'] = 'ae_curv_9'
config['name'] = 'x' #'ae_curv_9'
config['cond_ae']['is_label'] = True
config['cond_ae']['upscale_output'] = False
config['signature_dynamic'] = { 'id': (),
'uv_curvature': (512, 256),
'uv_curvature': (512, 256, 7),
'mesh_curvature': (14475)
}
config['signature_static'] = { 'mesh_mask': (14475,),
+3
View File
@@ -4,6 +4,9 @@ config['gpu'] = '1'
config['lr'] = 0.0005
config['name'] = 'ae_static_7_2'
config['cond_ae']['upscale_output'] = False
config['signature_dynamic'] = { 'id': (), }
config['signature_static'] = { 'uv_static': (512, 256, 3),
'mesh_static': (14475, 3,),
+7 -5
View File
@@ -1,7 +1,7 @@
from configs.config_base import config
config['gpu'] = '0'
config['name'] = 'cvae_19_2'
config['gpu'] = '4'
config['name'] = 'cvae_low_4_3_d32'
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 \
@@ -11,10 +11,12 @@ remove shape from unposed garment\
training on 100 garments with offsets over the average of these\
fixed autoencoders!!!!!!!!!\
cvae only loads encoders instead AEs\
with edge and collision loss\
full res loss\
'
config['dataset_in_memory'] = False
# config['resolution'] = 32
config['resolution'] = 32
if config['resolution'] != 512:
@@ -32,7 +34,7 @@ config['signature_dynamic'] = { 'id': (),
'mesh_posed': (14475, 3,),
'mesh_unposed': (14475, 3,),
'uv_unposed': (512, 256, 3),
'uv_curvature': (512, 256),
'uv_curvature': (512, 256, 7),
}
config['signature_static'] = { 'uv_static': (512, 256, 3),
'mesh_mask': (14475,),
+108
View File
@@ -0,0 +1,108 @@
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