
    Fg                        S SK Jr  S SK7  S SK7  SSKJrJrJr  \" \R                  5      \" S5      :  a(  \
R                  SR                  \R                  S95        \R                  r0 \R                   \_\R$                  \_\R(                  \_\R*                  \_\R,                  \_\R.                  \_\R0                  \_\R2                  \_\R6                  \_\R8                  \_\R:                  \_\R<                  \_\R>                  \_\R@                  \_\RB                  \"_\RF                  \$_\RJ                  \_0 \RL                  \_\RN                  \(_\RR                  \_\RT                  \_\RV                  \_\RX                  \_\RZ                  \_\R\                  \_\R^                  \0_\Rb                  \0_\Rd                  \0_\Rf                  \4_\Rj                  \4_\Rl                  \4_\Rn                  \8_\Rr                  \_\Rt                  \;_E\Rx                  \;\Rz                  \;\R|                  \?\R                  \A\R                  \C\R                  \E\R                  \G\R                  \I\R                  \\R                  \0
ErL\" \R                  5      \" S5      :  a  \LR                  \R                  \05        SS
 jrO    SS\R                  4S jjrQg	)    )LooseVersion)*   )prGreenprRedprYellowz1.0.0zLYou are using an old version PyTorch {version}, which THOP does NOT support.)versionz1.1.0Nc                   ^^^^^ / m[        5       mTc  0 mT(       a  SmUUUUU4S jnU R                  nU R                  5         U R                  U5        [        R                  5          U " U6   S S S 5        SnSnU R                  5        HG  n	[        [        U	R                  5       5      5      S:  a  M+  XyR                  -  nXR                  -  nMI     UR                  5       nUR                  5       nU R                  U5        T H  n
U
R                  5         M     U R                  5        H  u  p[        [        U	R                  5       5      5      S:  a  M-  SU	R                   ;   a  U	R                   R#                  S5        SU	R                   ;   d  Mj  U	R                   R#                  S5        M     Xx4$ ! , (       d  f       GNT= f)NTc                   > [        [        U R                  5       5      5      S:  a  g [        U S5      (       d  [        U S5      (       a!  [        R                  S[        U 5      -  5        U R                  S[        R                  S[        S95        U R                  S[        R                  S[        S95        U R                  5        H:  nU =R                  [        R                  UR                  5       /5      -  sl        M<     [        U 5      nS nUT;   a1  TU   nUT;  a%  T	(       a  [!        SUR"                  < SU< S	35        OZU[$        ;   a5  [$        U   nUT;  a%  T	(       a  [!        S
UR"                  < SU< S	35        OUT;  a  T(       a  ['        SU-  5        Ub"  U R)                  U5      nTR+                  U5        TR-                  U5        g )Nr   	total_opstotal_paramsznEither .total_ops or .total_params is already defined in %s. Be careful, it might change your code's behavior.r   dtype[INFO] Customize rule () .[INFO] Register () for F[WARN] Cannot find rule for %s. Treat it as zero Macs and zero Params.)lenlistchildrenhasattrloggingwarningstrregister_buffertorchzerosdefault_dtype
parametersr   DoubleTensornumeltypeprint__qualname__register_hooksr   register_forward_hookappendadd)
mpm_typefnhandler
custom_opshandler_collectionreport_missingtypes_collectionverboses
        ]/Users/admin/workspace/ai/PDFMathTranslate/myenv/lib/python3.13/site-packages/thop/profile.py	add_hooks!profile_origin.<locals>.add_hooksP   s   tAJJL!"Q&1k""ga&@&@OODFI!fM
 	
+u{{1M{'JK	.%++a}+*MNANNe00!'')==N   aj F#B--'"//6RS~%'B--'PQ--.\
 >--b1G%%g.V$    r   r   r   )settrainingevalapplyr   no_gradmodulesr   r   r   r   r   itemtrainremovenamed_modules_bufferspop)modelinputsr0   r4   r2   r6   r:   r   r   r+   r/   nr1   r3   s     ```       @@r5   profile_originrH   H   sn   u
'% '%R ~~H	JJL	KK		v 
 IL]]_tAJJL!"Q&[[ 	&	   I$$&L 
KK% & ##%tAJJL!"Q&!**$JJNN;'QZZ'JJNN>* & ""9 
s   +F>>
GrE   c                   ^^^^^^ 0 m[        5       mTc  0 mT(       a  SmS[        R                  4UUUUU4S jjnU R                  nU R	                  5         U R                  U5        [        R                  5          U " U6   S S S 5        S	S[        R                  S[        [        44UU4S jjjmT" U 5      u  pn
U R                  U5        TR                  5        H^  u  nu  pUR                  5         UR                  5         UR                  R                  S5        UR                  R                  S5        M`     U(       a  XU
4$ X4$ ! , (       d  f       N= f)
NTr+   c                   > U R                  S[        R                  S[        R                  S95        U R                  S[        R                  S[        R                  S95        [	        U 5      nS nUT;   a1  TU   nUT;  a%  T(       a  [        SUR                  < SU< S35        OZU[        ;   a5  [        U   nUT;  a%  T(       a  [        SUR                  < S	U< S35        OUT;  a  T(       a  [        S
U-  5        Ub)  U R                  U5      U R                  [        5      4TU '   TR                  U5        g )Nr   r   r   r   r   r   r   r   r   r   )r   r   r   float64r$   r%   r&   r'   r   r(   count_parametersr*   )r+   r-   r.   r0   r1   r2   r3   r4   s      r5   r6   profile.<locals>.add_hooks   s   	+u{{1EMM{'JK	.%++au}}+*MN
 aZF#B--'"//6RS~%'B--'PQ--.\
 >''+''(89%q! 	V$r8   modulereturnc                   > U R                   R                  5       Sp20 nU R                  5        H  u  pV0 nUT;   ac  [        U[        R
                  [        R                  45      (       d4  UR                   R                  5       UR                  R                  5       pOT
" XaS-   S9u  pnXU4XE'   X(-  nX9-  nM     X#U4$ )Nr   	)prefix)r   r?   named_children
isinstancenn
Sequential
ModuleListr   )rN   rR   r   r   ret_dictrG   r+   	next_dictm_opsm_params	dfs_countr1   s             r5   r\   profile.<locals>.dfs_count   s    "("2"2"7"7"91<))+DA
 I&&zBMM2==10 0 #$++"2"2"4ann6I6I6Kx-6q$-O* I6HKI$L ,  00r8   r   r   )rQ   )r9   rU   Moduler:   r;   r<   r   r=   intr@   itemsrA   rC   rD   )rE   rF   r0   r4   ret_layer_infor2   r6   prev_training_statusr   r   rX   r+   
op_handlerparams_handlerr\   r1   r3   s     `` `        @@@r5   profilere      s(    u
%RYY % %B !>>	JJL	KK		v 
1")) 1c3Z 1 1* )2%(8%IX 
KK$%+=+C+C+E''J	

{#	

~&	 ,F 00""I 
s   >E
E)NTF)NTFF)Rdistutils.versionr   thop.vision.basic_hooksthop.rnn_hooksutilsr   r   r   r   __version__r   r   formatrK   r    rU   	ZeroPad2dzero_opsConv1dcount_convNdConv2dConv3dConvTranspose1dConvTranspose2dConvTranspose3dBatchNorm1dcount_normalizationBatchNorm2dBatchNorm3d	LayerNormInstanceNorm1dInstanceNorm2dInstanceNorm3dPReLUcount_preluSoftmaxcount_softmaxReLUReLU6	LeakyReLU
count_relu	MaxPool1d	MaxPool2d	MaxPool3dAdaptiveMaxPool1dAdaptiveMaxPool2dAdaptiveMaxPool3d	AvgPool1dcount_avgpool	AvgPool2d	AvgPool3dAdaptiveAvgPool1dcount_adap_avgpoolAdaptiveAvgPool2dAdaptiveAvgPool3dLinearcount_linearDropoutUpsamplecount_upsampleUpsamplingBilinear2dUpsamplingNearest2dRNNCellcount_rnn_cellGRUCellcount_gru_cellLSTMCellcount_lstm_cellRNN	count_rnnGRU	count_gruLSTM
count_lstmrV   PixelShuffler'   updateSyncBatchNormrH   r^   re    r8   r5   <module>r      sq   * %  , +!!"\'%::OOV]]%% 	^ 	
 -LL(-II|- II|- II|	-
 - - - NN'- NN'- NN'- LL%- *- *- *- HHk-  JJ!-" GGX#-$ HHh%-& LL*'-( LL()-* LL(+-, LL(--. (/-0 (1-2 (3-4 LL-5-6 LL-7-8 LL-9-: ,;-< ,=-> ,?-@ II|A-B JJC-D KKE-F ^NJJJJKKFFIFFIGGZMM8OOXY-^ !!"l7&;;2++-@ABR#p Z#99Z#r8   