o
    TÃi§  ã                   @   s,   d dl mZmZ d dlT G dd„ deƒZdS )é    )Úget_scalar_paramÚDeepSpeedConfigObject)Ú*c                       s$   e Zd Z‡ fdd„Zdd„ Z‡  ZS )ÚDeepSpeedFlopsProfilerConfigc                    sT   t t| ƒ ¡  d | _d | _d | _d | _d | _t| 	¡ v r!|t }ni }|  
|¡ d S ©N)Úsuperr   Ú__init__ÚenabledÚrecompute_fwd_factorÚprofile_stepÚmodule_depthÚtop_modulesÚFLOPS_PROFILERÚkeysÚ_initialize)ÚselfÚ
param_dictÚflops_profiler_dict©Ú	__class__© úN/home/ubuntu/.local/lib/python3.10/site-packages/deepspeed/profiling/config.pyr      s   
z%DeepSpeedFlopsProfilerConfig.__init__c                 C   sf   t |ttƒ| _t |ttƒ| _t |ttƒ| _	t |t
tƒ| _t |ttƒ| _t |ttƒ| _t |ttƒ| _d S r   )r   ÚFLOPS_PROFILER_ENABLEDÚFLOPS_PROFILER_ENABLED_DEFAULTr	   Ú#FLOPS_PROFILER_RECOMPUTE_FWD_FACTORÚ+FLOPS_PROFILER_RECOMPUTE_FWD_FACTOR_DEFAULTr
   ÚFLOPS_PROFILER_PROFILE_STEPÚ#FLOPS_PROFILER_PROFILE_STEP_DEFAULTr   ÚFLOPS_PROFILER_MODULE_DEPTHÚ#FLOPS_PROFILER_MODULE_DEPTH_DEFAULTr   ÚFLOPS_PROFILER_TOP_MODULESÚ"FLOPS_PROFILER_TOP_MODULES_DEFAULTr   ÚFLOPS_PROFILER_DETAILEDÚFLOPS_PROFILER_DETAILED_DEFAULTÚdetailedÚFLOPS_PROFILER_OUTPUT_FILEÚ"FLOPS_PROFILER_OUTPUT_FILE_DEFAULTÚoutput_file)r   r   r   r   r   r      s"   ÿÿÿÿ
ÿz(DeepSpeedFlopsProfilerConfig._initialize)Ú__name__Ú
__module__Ú__qualname__r   r   Ú__classcell__r   r   r   r   r   
   s    r   N)Údeepspeed.runtime.config_utilsr   r   Údeepspeed.profiling.constantsr   r   r   r   r   Ú<module>   s   