o
    ߥig                     @   s<   d dl mZ d dlmZ d dlmZmZ dd Zdd Z	dS )	   )gaussian_diffusion)MDM)SpacedDiffusionspace_timestepsc                 C   s<   | j |dd\}}t|dksJ tdd |D sJ d S )NF)strict    c                 S   s   g | ]}| d qS )zclip_model.)
startswith).0k r   `/home/ubuntu/.local/lib/python3.10/site-packages/modelscope/models/cv/motion_generation/model.py
<listcomp>   s    z&load_model_wo_clip.<locals>.<listcomp>)load_state_dictlenall)model
state_dictmissing_keysunexpected_keysr   r   r   load_model_wo_clip	   s
   
r   c                 C   s   t 	dddddddddd| jdd	d
ddddd}d}| j}d}d}d}d}td||}tjj}	|s8|g}tt||||sDtj	j
ntj	j|sO		 tjjntjj|	|dddd	}
||
fS )N i  r   Trot6di   i   hml_vechumanmlzViT-B/32)njointsnfeatsnum_actionstranslationpose_repglobglob_rot
latent_dimff_sizesmpl_data_pathdata_repdatasetclip_versiontextg?tensor)	cond_modecond_mask_prob
action_embg      ?Fcosineg        )	use_timestepsbetasmodel_mean_typemodel_var_type	loss_typerescale_timesteps
lambda_vellambda_rcxyz	lambda_fc)r   )r   r#   sample_stepsgdget_named_beta_scheduleLossTypeMSEr   r   ModelMeanTypeEPSILONSTART_XModelVarTypeFIXED_LARGEFIXED_SMALLLEARNED_RANGE)cfgr   predict_xstartsteps
scale_betatimestep_respacinglearn_sigmar2   r.   r1   	diffusionr   r   r   create_model   sf   
rI   N)
modulesr   r7   modules.mdmr   modules.respacer   r   r   rI   r   r   r   r   <module>   s
   