o
    vi                     @   s   d dl mZmZ d dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z  d dl!m"Z# ej$ddG dd dej%Z&dd Z'dS )    )AnyListN)config)import_all_modules_from_package)register_checkpoint)register_ckpt_type)register_ema)register_optimizer)register_scheduler)register_tokenizer)register_callbacks)register_model)register_net)register_conditioner)register_policy_model)register_policy_tokenizer)CosmosPolicyTrainerF)slotsc                   @   s*   e Zd ZU ejdd dZee ed< dS )ConfigV2c                   C   sT   dddiddiddiddid	d
iddidd iddiddiddiddiddidd igS )N_self_
data_trainmockdata_val	optimizerZ
fusedadamw	schedulerZlambdalinearmodelZpolicy_fsdp	callbacksbasicnetZconditionerZvideo_prediction_conditioneremapower	tokenizerZpolicy_wan2pt1_tokenizer
checkpoints3Z	ckpt_typedummy
experiment r&   r&   r&   D/data/cameron/vidgen/cosmos-policy/cosmos_policy/config/config_v2.py<lambda>/   s   zConfigV2.<lambda>)factorydefaultsN)	__name__
__module____qualname__attrsfieldr*   r   r   __annotations__r&   r&   r&   r'   r   *   s   
 r   c                  C   s6  t d d d d d d} d| j_d| j_d| j_t| j_d| jj_	d| j_
d| j_d| j_d	| j_d | j_d | _t  t  t  t  t  t  t  t  t  t  t  t  td
d	d tdd	d ddlm} |  ddlm} |  ddl m!} ddl"m#} |$ }|j%ddd|d |j%ddd|d | S )N)r   r   r   dataloader_traindataloader_valcosmos_policytrainz${now:%Y-%m-%d}_${now:%H-%M-%S}Fi 
   d   Tz:cosmos_policy._src.predict2.configs.video2world.experiment)reloadzcosmos_policy.config.experimentr   )register_configs)ConfigStore)MOCK_DATA_INTERLEAVE_CONFIGr   r1   r   )grouppackagenamenoder   r2   )&r   jobprojectr;   r=   Trainertrainertypestraggler_detectionenabledmax_iterlogging_itervalidation_iterrun_validationr   r"   r	   r
   r   r   r   r   register_policy_conditionerr   r   r   r   r   r   Z@cosmos_policy.config.experiment.cosmos_policy_experiment_configsr8   Zcosmos_policy.config.callbackshydra.core.config_storer9   Z4cosmos_policy._src.predict2.configs.common.mock_datar:   instancestore)crcr9   r:   csr&   r&   r'   make_config_v2C   sT   	
rQ   )(typingr   r   r.   Zcosmos_policy._src.imaginairer   1cosmos_policy._src.imaginaire.utils.config_helperr   Z>cosmos_policy._src.predict2.configs.common.defaults.checkpointr   Z=cosmos_policy._src.predict2.configs.common.defaults.ckpt_typer   Z7cosmos_policy._src.predict2.configs.common.defaults.emar   Z=cosmos_policy._src.predict2.configs.common.defaults.optimizerr	   Z=cosmos_policy._src.predict2.configs.common.defaults.schedulerr
   Z=cosmos_policy._src.predict2.configs.common.defaults.tokenizerr   ZBcosmos_policy._src.predict2.configs.video2world.defaults.callbacksr   Z>cosmos_policy._src.predict2.configs.video2world.defaults.modelr   Z<cosmos_policy._src.predict2.configs.video2world.defaults.netr   Z8cosmos_policy.config.conditioner.video2world_conditionerr   rJ   Z#cosmos_policy.config.defaults.modelr   Z'cosmos_policy.config.defaults.tokenizerr   Zcosmos_policy.trainerr   rA   defineConfigr   rQ   r&   r&   r&   r'   <module>   s(   
