
    i-$              	       D   S SK Jr  S SK Jr  S SK Jr  S SKrS SKrS SKrS SKr\R                  R                  \R                  R                  \5      5      r\R                  R                  \5        \R                  R                  S \R                  R                  \R                  R!                  \S5      5      5        S\R"                  S'   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  \RD                  " 5       u  r#r$r%r&\ " 5         gg)    )absolute_import)division)print_functionNz..auto_growthFLAGS_allocator_strategy)create_operators	transform)build_model)build_post_process)
load_model)get_image_file_listc            	         [         S   n [        [         S   U 5      n[        US5      (       GaE  [        [	        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X$S'   US-   US'   US-   US'   U[         S   S   U   S   S'   Ms  U[         S   S   U   S   S'   M     O[         S   S   S	   S
:X  ae  0 n[        [	        US5      5      n[         S   S	   S:X  a  US-
  n[         S   S	   S:X  a  US-
  nX$S'   US-   US'   US-   US'   U[         S   S   S'   OU[         S   S   S'   [         S   R                  S5      S;   a-  S[         S   S   S'   S[         S   S   S'   S[         S   S   S'   [        [         S   5      n[        [         U5        / n[         S   S   S    H  n[        U5      S   nSU;   a  M  US;   a  SXx   S'   O\US :X  aV  [         S   S   S!:X  a
  / S"QXx   S#'   O<[         S   S   S$:X  a
  S%S&/Xx   S#'   O"[         S   S   S':X  a
  / S(QXx   S#'   OS%/Xx   S#'   UR                  U5        M     SU S'   [        X`5      n	[         S   R                  S)S*5      n
[        R                  R                  [        R                  R                  U
5      5      (       d3  [        R                  " [        R                  R                  U
5      5        UR!                  5         [         S   S+   n[         S   R                  S,S 5      n[#        U
S-5       n[%        XS.9 GH.  n[&        R)                  S/R+                  U5      5        [#        US05       nUR-                  5       n[         S   S   S1;   a  UUS2.nOS%U0nS S S 5        [/        WU	5      n[         S   S   S!:X  a  [0        R2                  " US3   SS49n[0        R2                  " US   SS49n[0        R2                  " US   SS49n[0        R2                  " US5   SS49n[4        R6                  " U5      [4        R6                  " U5      [4        R6                  " U5      [4        R6                  " U5      /n[         S   S   S$:X  a/  [0        R2                  " US6   SS49n[4        R6                  " U5      /n[         S   S   S':X  a\  [0        R2                  " US3   SS49n[0        R2                  " US   SS49n[4        R6                  " U5      [4        R6                  " U5      /n[         S   S   S7:X  aJ  [4        R8                  " [0        R2                  " US   SS49R:                  S8S99n[4        R8                  " S:S;S99n[0        R2                  " US   SS49n[4        R6                  " U5      n[         S   S   S!:X  a
  U" UW5      nOX[         S   S   S$:X  a
  U" UW5      nO>[         S   S   S':X  a
  U" UW5      nO$[         S   S   S7:X  a  U" UWW/5      nOU" U5      nU" U5      nS n [=        U[>        5      (       ac  [?        5       n!U H=  n[        UU   S   5      S:  d  M  UU   S   S   [A        UU   S   S3   5      S<.U!U'   M?     [B        RD                  " U!S=S>9n O[=        U[        5      (       a'  [=        US   [F        5      (       a  [I        US   5      n ON[         S   S   S?;   a  [I        US   5      n O/[        US   5      S:  a  US   S   S@-   [I        US   S3   5      -   n U c  GM  [&        R)                  SAR+                  U 5      5        URK                  US@-   U -   SB-   5        GM1     S S S 5        [&        R)                  SC5        g ! , (       d  f       GN= f! , (       d  f       N6= f)DNGlobalPostProcess	characterArchitecture	algorithm)DistillationModelsHeadname	MultiHeadDistillationSARLabelDecode   DistillationNRTRLabelDecode   CTCLabelDecodeSARLabelDecodeNRTRLabelDecodeout_channels_listout_channels)LaTeXOCRTBackbone
is_predict	is_exportEvaldataset
transformsr   Label)RecResizeImg
infer_modeKeepKeysSRN)imageencoder_word_posgsrm_word_posgsrm_slf_attn_bias1gsrm_slf_attn_bias2	keep_keysSARr.   valid_ratioRobustScanner)r.   r5   word_positonssave_res_pathz./output/rec/predicts_rec.txt	infer_img
infer_listw)r:   zinfer_img: {}rb)	UniMERNetPP-FormulaNet-SPP-FormulaNet-L)r.   filename   )axis   CANfloat32)dtype)rA   $   int64)labelscoreF)ensure_ascii)r"   r=   r>   r?   	z	 result: {}
zsuccess!)&configr   hasattrlengetattrgetr
   r   listappendr   ospathexistsdirnamemakedirsevalopenr   loggerinfoformatreadr	   npexpand_dimspaddle	to_tensoronesshape
isinstancedictfloatjsondumpsintstrwrite)"global_configpost_process_classchar_numkeyr    modelr(   opop_nameopsr8   
infer_imgsr:   foutfilefimgdatabatchencoder_word_pos_listgsrm_word_pos_listgsrm_slf_attn_bias1_listgsrm_slf_attn_bias2_listothersr5   	img_metasr7   
image_maskrJ   imagespredspost_resultr^   rec_infos"                                     Y/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddleocr/tools/infer_rec.pymainr   )   s   8$M ,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 "7#5{CDHm$V,0@@#a<m$V,0AA#a<2:./2:Q,./3;a</0BSF>"6*+>?=EF>"6*>:n!!+.,>;?~z*<8:>~z*;76:~v&{3~./Evu JVnY'5r(1+g(((,BK%
"n%k2e;,K( '4=,3]+CK('4G+TK(,39K("+ 6, #'M,
:
5C8$((8M 77>>"''//-899
BGGOOM23	JJL!+.J!%%lD9J	mS	!T'
JDKK..t45dD!Qffh.)+6 ; 
 &)d;D#S>D " dC(En%k2e;(*uQxa(H%%'^^E!H1%E"+->>%(+K(+->>%(+K( $$%:;$$%78$$%=>$$%=>	 n%k2e; nnU2YQ?#--k:;	n%k2oE nnU1XA> "uQxa @$$[1$$]3	 n%k2e;#[[^^E!H15;;I
 G7;^^E!H15F%%f-Fn%k2e;ff-'4=fi0'4Gfi0'4=vz59:f,U3KD+t,,6&C;s+A./14%0%5a%8%;%*;s+;A+>q+A%B) ' zz(?K..:k!nc3R3R;q>*'4 9  ;q>*{1~&!+&q>!,t3c+a.:K6LLDO22489

4$;-45_ K 
"b KK
] "! 
"	!s3   &>_$+_K _C_ A_
__
_!__main__)'
__future__r   r   r   numpyra   rV   sysrj   rW   rY   abspath__file____dir__rU   insertjoinenvironrc   
ppocr.datar   r	   ppocr.modeling.architecturesr
   ppocr.postprocessr   ppocr.utils.save_loadr   ppocr.utils.utilityr   tools.programprogramr   __name__
preprocessrO   devicer]   
vdl_writer     r   <module>r      s    '  %  	 
 
''//"''//(3
4   277??277<<#>? @)6

% &  2 4 0 , 3 l^ z)0););)=&FFFJF r   