o
    ^i                     @   s   d Z ddlZddlZddlZddlZddlmZ ddlZddlm	Z	 ddlm
Z
 ejdedd ddlZd	ejv rBejejd	 d
 ejdeeejddddefddZedkrxeej ejD ]Zdev rreje qfe  dS dS )zQ
Usage:
Training:
python train.py --config-name=train_diffusion_lowdim_workspace
    N)	OmegaConf)BaseWorkspace)	open_dictevalT)replaceWANDB_API_KEY)keyunified_video_actionconfig)Zversion_baseconfig_pathcfgc                 C   s   t |  | jjjjdkrd| jj_d| jj_	d| jj_
t|  tj | _| jj| jj_W d    n1 s8w   Y  | jjrgd| j_d| j_d| j_d| j_d| jv r[d| jj_d| jjv rgd| jjj_tj| jj}|| }|  d S )	NFZ	video_fvdz0epoch={epoch:04d}-video_fvd={video_fvd:.3f}.ckptmin   
env_runner   dataloader_cfg) r   resolvemodelpolicyZaction_model_paramsZpredict_action
checkpointtopkZmonitor_key
format_strmoder   torchcudadevice_countZn_gpustrainingdebug
dataloader
batch_sizeZval_dataloadershuffletaskr   	max_stepsdatasetr   hydrautils	get_classZ_target_run)r   cls	workspace r*   ?/data/cameron/para/video_training/unified_video_action/train.pymain   s,   





r,   __main__
local_rank)__doc__r   ossysr$   	omegaconfr   pathlibZ-unified_video_action.workspace.base_workspacer   r   register_new_resolverr   wandbenvironloginr,   strPath__file__parentjoinpath__name__printargvargremover*   r*   r*   r+   <module>   s8    



