Spaces:
Running
Running
File size: 2,362 Bytes
a0d91d3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
_base_ = ['../_base_/datasets/human_ml3d_bs128.py']
# checkpoint saving
checkpoint_config = dict(interval=1)
dist_params = dict(backend='nccl')
log_level = 'INFO'
load_from = None
resume_from = None
workflow = [('train', 1)]
# optimizer
optimizer = dict(type='Adam', lr=2e-4)
optimizer_config = dict(grad_clip=None)
# learning policy
lr_config = dict(policy='step', step=[])
runner = dict(type='EpochBasedRunner', max_epochs=50)
log_config = dict(
interval=50,
hooks=[
dict(type='TextLoggerHook'),
# dict(type='TensorboardLoggerHook')
])
input_feats = 263
max_seq_len = 196
latent_dim = 512
time_embed_dim = 2048
text_latent_dim = 256
ff_size = 1024
num_heads = 8
dropout = 0
# model settings
model = dict(
type='MotionDiffusion',
model=dict(
type='MotionDiffuseTransformer',
input_feats=input_feats,
max_seq_len=max_seq_len,
latent_dim=latent_dim,
time_embed_dim=time_embed_dim,
num_layers=8,
sa_block_cfg=dict(
type='EfficientSelfAttention',
latent_dim=latent_dim,
num_heads=num_heads,
dropout=dropout,
time_embed_dim=time_embed_dim
),
ca_block_cfg=dict(
type='EfficientCrossAttention',
latent_dim=latent_dim,
text_latent_dim=text_latent_dim,
num_heads=num_heads,
dropout=dropout,
time_embed_dim=time_embed_dim
),
ffn_cfg=dict(
latent_dim=latent_dim,
ffn_dim=ff_size,
dropout=dropout,
time_embed_dim=time_embed_dim
),
text_encoder=dict(
pretrained_model='clip',
latent_dim=text_latent_dim,
num_layers=4,
num_heads=4,
ff_size=2048,
dropout=dropout,
use_text_proj=True
)
),
loss_recon=dict(type='MSELoss', loss_weight=1, reduction='none'),
diffusion_train=dict(
beta_scheduler='linear',
diffusion_steps=1000,
model_mean_type='epsilon',
model_var_type='fixed_small',
),
diffusion_test=dict(
beta_scheduler='linear',
diffusion_steps=1000,
model_mean_type='epsilon',
model_var_type='fixed_small',
),
inference_type='ddpm'
)
data = dict(samples_per_gpu=128) |