o
    *jg                     @   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   m/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/modelscope/models/cv/motion_generation/model.py
<listcomp>   s    z&load_model_wo_clip.<locals>.<listcomp>)Zload_state_dictlenall)modelZ
state_dictZmissing_keysZ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   TZrot6di   i   Zhml_vecZhumanmlzViT-B/32)ZnjointsZnfeatsZnum_actionstranslationZpose_repglobZglob_rotZ
latent_dimZff_sizesmpl_data_pathZdata_repZdatasetZclip_versiontextg?Ztensor)Z	cond_modeZcond_mask_probZ
action_embg      ?FZcosineg        )	Zuse_timestepsbetasZmodel_mean_typeZmodel_var_type	loss_typerescale_timestepsZ
lambda_velZlambda_rcxyzZ	lambda_fc)r   )r   r   Zsample_stepsgdZget_named_beta_scheduleZLossTypeZMSEr   r   ZModelMeanTypeZEPSILONZSTART_XZModelVarTypeZFIXED_LARGEZFIXED_SMALLZLEARNED_RANGE)cfgr   Zpredict_xstartZstepsZ
scale_betaZtimestep_respacingZlearn_sigmar   r   r   Z	diffusionr   r   r   create_model   sf   
r   N)
modulesr   r   Zmodules.mdmr   Zmodules.respacer   r   r   r   r   r   r   r   <module>   s
   