
    i              	          S SK Jr  S SK Jr  S SK Jr  S SKrS SKr\R                  R                  \R                  R                  \	5      5      r
\R                  R                  S \
5        \R                  R                  S \R                  R                  \R                  R                  \
S5      5      5        S SKrS SKJrJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S r\S:X  a  \R:                  " 5       u  rrr r!\" 5         gg)    )absolute_import)division)print_functionNz..)build_dataloaderset_signal_handlers)build_model)build_post_process)build_metric)
load_modelc                     [         S   n [        5         [        [         S[        [        5      n[        [         S   U 5      n[        US5      (       Ga0  [        [        US5      5      n[         S   S   S;   a  [         S   S    H  n[         S   S   U   S	   S
   S:X  aW  0 n[         S   S
   S:X  a  US-
  n[         S   S
   S:X  a  US-
  nX5S'   US-   US'   US-   US'   U[         S   S   U   S	   S'   Ms  U[         S   S   U   S	   S'   M     Or[         S   S	   S
   S:X  aP  0 n[         S   S
   S:X  a  US-
  n[         S   S
   S:X  a  US-
  nX5S'   US-   US'   US-   US'   U[         S   S	   S'   OU[         S   S	   S'   [        [         S   5      n/ SQnSn[         S   S   S:X  a2  [         S   S    H!  nU=(       d    [         S   S   U   S   U;   nM#     O[         S   S   U;   nS[         S   R                  5       ;   a}  [         S   S   S:X  a  Sn	Ol[         S   S   S:X  a  Sn	S[         S   S'   OM[         S   S   S :X  a  S!n	S[         S   S'   O.[         S   S   S";   a  S#n	S[         S   S'   O[         S   S   n	OS n	[        [         S   5      n
[         S   R                  S$S5      n[         S   R                  S%S&5      n[         S   R                  S'/ 5      nU(       a  S(S)0n[        R                  " U5        [         S   R                  S*S+5      n[         S   R                  S,S5      n[        R                  R!                  UUS-9nUS&:X  a  [        R                  R#                  XlSS.9nOS n[%        [         U[         S   S   S/9n[        U5      (       aT  [        R'                  S05        UR)                  5        H+  u  nn[        R'                  S1R+                  UU5      5        M-     [,        R.                  " UUUU
U	UUUU5	      n[        R'                  S25        UR)                  5        H+  u  nn[        R'                  S1R+                  UU5      5        M-     g )3NGlobalEvalPostProcess	characterArchitecture	algorithm)DistillationModelsHeadname	MultiHeadDistillationSARLabelDecode   DistillationNRTRLabelDecode   CTCLabelDecodeSARLabelDecodeNRTRLabelDecodeout_channels_listout_channels)	SRNNRTRSARSEEDSVTR
SVTR_LCNet	VisionLANRobustScanner
SVTR_HGNetFr   
model_typeCANcanLaTeXOCRlatexocrTMetriccal_bleu_score	UniMERNet	unimernet)zPP-FormulaNet-SzPP-FormulaNet-Lpp_formulanetuse_amp	amp_levelO2amp_custom_black_list(FLAGS_cudnn_batchnorm_spatial_persistent   
scale_lossg      ?use_dynamic_loss_scaling)init_loss_scalingr;   )modelslevelmaster_weight)r*   zmetric in ckpt ***************z{}:{}zmetric eval ***************)configr   r   deviceloggerr	   hasattrlengetattrr   keysr
   getpaddle	set_flagsamp
GradScalerdecorater   infoitemsformatprogrameval)global_configvalid_dataloaderpost_process_classchar_numkeyr   modelextra_input_modelsextra_inputr*   
eval_classr4   r5   r7   AMP_RELATED_FLAGS_SETTINGr:   r;   scalerbest_model_dictkvmetrics                         T/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddleocr/tools/eval.pymainrb   #   s   8$M'G ,F=,A=Q !;//w1;?@.!+. 3
 
 n-h7>*84S9&A&I[X(*%m,V48TT#+a<m,V48UU#+a<:B&67:BQ,%&67;Ca<%&78 * >*84S9&A+ ! >*84S9&A&! 8& N#F+F3{B "m$V,0@@#a<m$V,0AA#a<2:./2:Q,./3;a</0BSF>"6*+>?=EF>"6*>:~./E
 Knk*n<.)(3C &.)(3C8E%&  4 ^,[9=OOvn-2244.!+.%7JN#K0J>#J15F8-.N#K0K?$J15F8-.N#K0 5
 
 )J15F8-./=J
 fX./JX""9e4Gx $$[$7I"8,001H"M6%
! 	23H%)),<
#)(#3#7#7&$
  &&(%= ' 
 JJ''T ( E  &"8"FO ?45#))+DAqKKq!,- , \\
F KK-.1GNN1a()     __main__)"
__future__r   r   r   ossyspathdirnameabspath__file____dir__insertjoinrH   
ppocr.datar   r   ppocr.modeling.architecturesr   ppocr.postprocessr	   ppocr.metricsr
   ppocr.utils.save_loadr   tools.programrP   rb   __name__
preprocessr@   rA   rB   
vdl_writer rc   ra   <module>ry      s    '  % 	 

''//"''//(3
4 7  277??277<<#>? @  < 4 0 & , J*Z z)0););)=&FFFJF rc   