
    Αi                        S SK Jr  S SKrS SKrS SKJr  S SKrS SKrS SKJ	r	  S SK
Jr  \(       a  S SKJr  S SKJr  S SKJr   " S	 S
5      rg)    )annotationsN)TYPE_CHECKING)static)core)Sequence)CompiledProgram)Programc                  v    \ rS rSrSS jrSS jrSS/4         SS jjrSS jr S       SS jjrS	r	g
)	CostModel!   c                    g )N )selfs    \/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/cost_model/cost_model.py__init__CostModel.__init__"   s        c                   [         R                  " 5         [        R                  " 5       n[        R                  " 5       n[        R                  " XS9   [         R                  R                  SS S/SS9n[         R                  R                  R                  US5      n[         R                  " U5      n[         R                  R                  SS9R                  U5        S S S 5        [        S	U 35        X!4$ ! , (       d  f       N= f)
N)main_programstartup_programX   float32)nameshapedtype
   g{Gz?)learning_ratezmain program is: )paddleenable_staticr   r	   program_guarddatannfcmean	optimizerSGDminimizeprint)r   r   r   r"   hiddenlosss         r   build_programCostModel.build_program%   s    ~~' ..*!!%
 ==%%q	 & D ]]%%((r2F;;v&D  t 4==dC
 	!,01,,
 
s   BC;;
D	gputimec                   [         R                  " S5      n[        R                  R                  SS9R	                  S5      n[         R
                  R                  U5      nUR                  U5        [         R                  R                  5       nUR                  5         UR                  USU0/ S9  [        R                  " 5       n	U	R                  U5      n
g )Nr.   )r   r   )sizer   r   )feed
fetch_list)r   
set_devicenprandomastyper   ExecutorrunprofilerProfilerstartr   r   ProfileMeasure)r   r   r   devicefetch_cost_listplacexexep
cost_model	cost_datas              r   profile_measureCostModel.profile_measure8   s     !!%(II'*11)<mm$$U+ OO$$&		C8;^^%
--f5	r   c                   [         R                  R                  [         R                  R                  [        5      S5      n[        US5       n[        R                  " U5      nS S S 5        WU l        U$ ! , (       d  f       N= f)Nzstatic_op_benchmark.jsonr)	ospathjoindirname__file__openjsonload_static_cost_data)r   static_cost_data_pathload_f	load_dicts       r   static_cost_dataCostModel.static_cost_dataK   sa     "GGOOH%'A!
 '-		&)I .!*	 .-s   A66
Bc                    Uc  [        S5      e0 nU R                   H8  nUS   U:X  d  M  X5S   ;   d  M  U(       a	  US   US'   OUS   US'   US   US'   M:     U$ )Nz?op_name should not be empty when you want to get static op timeopconfigpaddle_gpu_timeop_timepaddle_gpu_time_backward)
ValueErrorrR   )r   op_nameforwardr   op_costop_datas         r   get_static_op_timeCostModel.get_static_op_timeU   s     ?Q  --G(u8I/I)01B)CGI&)01K)LGI&$+H$5! . r   )rR   N)returnNone)re   ztuple[Program, Program])
r   Program | CompiledProgramr   rg   r>   strr?   zSequence[str]re   rf   )re   dict[str, str | float])Tr   )r_   rh   r`   boolr   rh   re   ri   )
__name__
__module____qualname____firstlineno__r   r,   rF   rV   rc   __static_attributes__r   r   r   r   r   !   s    -. *0626 06 	6
 '6 
6& @I%)9<	 r   r   )
__future__r   rP   rJ   typingr   numpyr5   r   r   paddle.baser   collections.abcr   paddle.base.compilerr   paddle.base.frameworkr	   r   r   r   r   <module>rw      s7    #  	      (4-F Fr   