
    i              
          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\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r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 J!r!  S SK"J#r#  S r$ " S S\%5      r&\'S:X  Ga%  \#RP                  " 5       u  r)r*r+r,\RZ                  " \)S   S   SS9  \&" \)5      r.\)S   R_                  SS5      SL a4  \)S   S   S   r0\1" \)S   S   S5       r2\2Rg                  5       r4SSS5        O\ " \)S   S   5      r4\1" \R                  R                  \)S   S   S5      SSS 9 r5\6" \45       GHW  u  r7r8\)S   R_                  SS5      SL aY  \8Rs                  S5      r:\:Rw                  S!5      Ry                  S"5      r=\R                  R                  \0\=S    5      r>\>\=S#   S$.r?O\8r>S%\>0r?\R                  R                  \)S   S   \R                  R                  \R                  R                  \>5      5      S    S&-   5      rB\." \?5      u  rCrD\CS    rC\5R                  \>S"-   \R                  " S'\C0SS(9-   S!-   5        \" \>\C5      rG\R                  " \B\G5        \+Rq                  S)R                  \7\J" \45      \B5      5        GMZ     SSS5        gg! , (       d  f       GN= f! , (       d  f       g= f)*    )absolute_import)division)print_functionNz..auto_growthFLAGS_allocator_strategy)create_operators	transform)build_model)build_post_process)
load_model)draw_ser_results)get_image_file_listload_vqa_bio_label_mapsc                    SS K nSSKJn  U" [        5      n/ n[	        U 5       Hh  u  pV[        U[        R                  [        R                  UR                  45      (       a  XT;  a  UR                  U5        X5   R                  U5        Mj     U H  n[        R                  " X5   5      X5'   M     [        UR                  5       5      $ )Nr   )defaultdict)numberscollectionsr   list	enumerate
isinstancenpndarraypaddleTensorNumberappend	to_tensorvalues)datar   r   	data_dictto_tensor_idxsidxvs          c/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddleocr/tools/infer_kie_token_ser.pyr   r   *   s    'D!IND/a"**fmmW^^DEE(%%c*a 	 "
 ))).9	 	  "##    c                        \ rS rSrS rS rSrg)SerPredictor;   c           	      l   US   nUS   S   U l         [        US   U5      U l        [        US   5      U l        [        XR                  US   S   S9  SSKJn  U" S	S	UR                  S
S 5      UR                  SS 5      US   S9U l	        / nUS   S   S    HI  n[        U5      S   nSU;   a  U R                  XV   S'   OUS:X  a	  / SQXV   S'   UR                  U5        MK     US   R                  SS 5      c  SUS'   [        US   S   S   U5      U l        U R                  R                  5         g )NGlobalArchitecture	algorithmPostProcess
model_type)r.   r   )	PaddleOCRFkie_rec_model_dirkie_det_model_diruse_gpu)use_angle_clsshow_logrec_model_dirdet_model_dirr2   Evaldataset
transformsLabel
ocr_engineKeepKeys)		input_idsbboxattention_masktoken_type_idsimagelabelssegment_offset_idocr_infoentities	keep_keys
infer_modeT)r,   r   post_process_classr
   modelr   	paddleocrr/   getr;   r   r   r   opseval)selfconfigglobal_configr/   r9   opop_names          r$   __init__SerPredictor.__init__<   s]   x(/< #5=!=#

 !!78
6::&2H2VW'#'++,?F'++,?F!),
 
.+L9B2hqkG'!,0OOL)J&
,K( b!# :$ (d3;*.M,'#6N9%l3]
 	

r%   c                    [        US   S5       nUR                  5       nS S S 5        WUS'   [        XR                  5      n[	        U5      nU R                  U5      nU R                  XTS   US   S9nXd4$ ! , (       d  f       N]= f)Nimg_pathrbrA         )segment_offset_ids	ocr_infos)openreadr	   rL   r   rI   rH   )rN   r   fimgbatchpredspost_results          r$   __call__SerPredictor.__call__o   s    $z"D)Q&&(C *W$)% 

5!--Ah%( . 
 !! *)s   A88
B)r,   rI   r;   rL   rH   N)__name__
__module____qualname____firstlineno__rS   rc   __static_attributes__ r%   r$   r'   r'   ;   s    1f"r%   r'   __main__r*   save_res_pathT)exist_okrG   Fr7   r8   data_dir	infer_imgrW   zinfer_results.txtwzutf-8)encoding
	   )rV   labelrV   z_ser.jpgrD   )ensure_asciiz#process: [{}/{}], save result to {})K
__future__r   r   r   numpyr   ossyspathdirnameabspath__file____dir__r   insertjoinenvironcv2jsonr   
ppocr.datar   r	   ppocr.modeling.architecturesr
   ppocr.postprocessr   ppocr.utils.save_loadr   ppocr.utils.visualr   ppocr.utils.utilityr   r   tools.programprogramr   objectr'   re   
preprocessrO   devicelogger
vdl_writermakedirs
ser_enginerK   rn   r\   r^   	readlines
infer_imgsfoutr   r"   infodecode	data_linestripsplitsubstrrV   r   splitextbasenamesave_img_pathresult_writedumpsimg_resimwriteformatlenrj   r%   r$   <module>r      s%   '  %  	 

''//"''//(3
4   277??277<<#>? @)6

% & 
   2 4 0 , / L $"?"6 ?"D z)0););)=&FFFJKKx 1DAf%JhL$/58&>),Z8&";/6!J 76 ))9+)FG
	
VH%o68KL
 
":.ICh##L$75@ KK0	".44T:77<<&)<$,vayA"H-GGLLx 1  !1!1(!;<Q?*LM
 #4(IFAAYFJJ**"F "'	 
 'x8GKKw/KK5<<Z-? /
 
  76

 
s   ME%M
M
M!