o
    …wÖiF  ã                   @   s$  d dl mZ d dlmZ d dlmZ d dlmZ edƒ d dl	m
Z
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mZmZmZmZ d dlmZmZ d dlmZ  d dl!m"Z"m#Z#m$Z$ d dl%m&Z& d dl'm(Z(m)Z) d dl*m+Z+ dd„ Z,e,e_,eej-e j.f e_-g d¢Z/dS )é    )ÚUnion)Úslurm)Úplugins)Úsafe_importÚtransformer_engine)Úget_vocab_sizeÚteardown)ÚFabric)ÚFabricMegatronMixedPrecision)ÚFabricMegatronStrategy)Ú
NeMoLogger)ÚModelCheckpoint)ÚLRSchedulerModuleÚMegatronOptimizerModuleÚOptimizerModuleÚPytorchOptimizerModuleÚlr_scheduler)ÚMegatronDataSamplerÚMegatronMixedPrecision)Údata_sampler)ÚFSDP2StrategyÚFSDPStrategyÚMegatronStrategy)ÚRestoreConfig)ÚTrainerÚ-configure_no_restart_validation_training_loop)Ú
AutoResumec                  C   s&   t j ¡ } | d u p|  d¡p|  d¡S )NÚbashÚinteractive)r   ÚSLURMEnvironmentÚjob_nameÚendswith)r    © r"   úT/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/nemo/lightning/__init__.pyÚ_is_slurm_interactive_mode/   s   
r$   )r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   N)0Útypingr   Ú%lightning.fabric.plugins.environmentsr   Úlightning.pytorchr   Ú_pl_pluginsÚnemo.utils.import_utilsr   Únemo.lightning.baser   r   Únemo.lightning.fabric.fabricr	   Únemo.lightning.fabric.pluginsr
   Ú nemo.lightning.fabric.strategiesr   Únemo.lightning.nemo_loggerr   Ú1nemo.lightning.pytorch.callbacks.model_checkpointr   Únemo.lightning.pytorch.optimr   r   r   r   r   Únemo.lightning.pytorch.pluginsr   r   r   Ú_data_samplerÚ!nemo.lightning.pytorch.strategiesr   r   r   Ú'nemo.lightning.pytorch.strategies.utilsr   Únemo.lightning.pytorch.trainerr   r   Únemo.lightning.resumer   r$   Ú_PLUGIN_INPUTÚDataSamplerÚ__all__r"   r"   r"   r#   Ú<module>   s,   