ó
    ñZj¯  ã                   óÀ   • S SK r S SKrS SKJr  S SKJrJrJr  S SKr	S SK
JrJrJr  SSKJr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 S\5      r " S S\5      rg)é    N)ÚPath)ÚAnyÚDictÚList)ÚGraphOptimizationLevelÚInferenceSessionÚSessionOptionsé   )ÚDownloadFileÚDownloadFileInput)Úlogger)Úmkdiré   )ÚFileInfoÚInferSessioné   )ÚProviderConfigc                   óæ   • \ rS rSrS\\\4   4S jr\S\\\4   S\	4S j5       r
S\R                  S\R                  4S jrS\\   4S jrS\\   4S	 jrSS
\S\\   4S jjrSS
\S\4S jjrSrg)ÚOrtInferSessioné   Úcfgc           
      óæ  • UR                  SS 5      nUbI  [        U[        5      (       d  [        S[	        U5       35      e[
        R                  " S5        X l        g UR                  SS 5      nUcË  UR                  SS 5      nUc  [        S5      e[        U5      n[        U5        U R                  [        UR                  UR                  UR                  UR                   UR"                  S95      nU[        US   5      R$                  -  n['        US   US	   U[
        S
9n[(        R*                  " U5        [
        R,                  " SU 35        [        U5      nU R/                  U5        U R1                  UR2                  5      n[5        UR2                  S9n[        [7        U5      UUR9                  5       S9U l        UR;                  U R                  R=                  5       5        g )NÚsessionz0Expected session to be an InferenceSession, got z2Using the provided InferenceSession for inference.Ú
model_pathÚmodel_root_dirzJEither model_path or model_root_dir must be provided in the configuration.)Úengine_typeÚocr_versionÚ	task_typeÚ	lang_typeÚ
model_typeÚ	model_dirÚSHA256)Úfile_urlÚsha256Ú	save_pathr   zUsing )Ú
engine_cfg)Úsess_optionsÚ	providers)ÚgetÚ
isinstancer   Ú	TypeErrorÚtyper   Údebugr   Ú
ValueErrorr   r   Úget_model_urlr   r   r   r   r   r    Únamer   r   ÚrunÚinfoÚ_verify_modelÚ_init_sess_optsr&   r   ÚstrÚget_ep_listÚverify_providersÚget_providers)	Úselfr   r   r   r   Ú
model_infoÚdownload_paramsÚsess_optÚprovider_cfgs	            Úg/home/mande/repo/quber/.venv/lib/python3.13/site-packages/rapidocr/inference_engine/onnxruntime/main.pyÚ__init__ÚOrtInferSession.__init__   s¾  € à—'‘'˜) TÓ*ˆØÑÜ˜gÔ'7×8Ñ8ÜØFÄtÈGÃ}ÀoÐVóð ô �LŠLÐMÔNØ"ŒLØà—W‘W˜\¨4Ó0ˆ
ØÑà ŸW™WÐ%5°tÓ<ˆNØÑ%Ü Ø`óð ô " .Ó1ˆNÜ�.Ô!ð ×+Ñ+ÜØ #§¡Ø #§¡Ø!Ÿm™mØ!Ÿm™mØ"Ÿ~™~ñóˆJð (¬$¨z¸+Ñ/FÓ*G×*LÑ*LÑLˆJÜ/Ø# KÑ0Ø! (Ñ+Ø$Üñ	ˆOô ×Ò˜_Ô-ä�Š�f˜Z˜LÐ)Ô*Ü˜*Ó%ˆ
Ø×Ñ˜:Ô&à×'Ñ'¨¯©Ó7ˆä%°·±Ñ@ˆÜ'Ü�
‹OØ!Ø"×.Ñ.Ó0ñ
ˆŒð
 	×%Ñ% d§l¡l×&@Ñ&@Ó&BÕCó    Úreturnc                 óX  • [        5       nSUl        U R                  Ul        [        R                  Ul        [        R                  " 5       nU R                  SS5      nUS:w  a  SUs=::  a  U::  a	  O  OX1l	        U R                  SS5      nUS:w  a  SUs=::  a  U::  a
  O  U$ XAl
        U$ )Né   Úintra_op_num_threadséÿÿÿÿr   Úinter_op_num_threads)r	   Úlog_severity_levelÚenable_cpu_mem_arenar   ÚORT_ENABLE_ALLÚgraph_optimization_levelÚosÚ	cpu_countr)   rE   rG   )r   r<   Úcpu_numsrE   rG   s        r>   r4   ÚOrtInferSession._init_sess_optsM   s¢   € ä!Ó#ˆØ&'ˆÔ#Ø(+×(@Ñ(@ˆÔ%Ü,B×,QÑ,QˆÔ)ä—<’<“>ˆØ"Ÿw™wÐ'=¸rÓBÐØ 2Ó%¨!Ð/CÕ*OÀxÖ*OØ,@Ô)à"Ÿw™wÐ'=¸rÓBÐØ 2Ó%¨!Ð/CÕ*OÀxÕ*Oð ˆð -AÔ)àˆrA   Úinput_contentc                 ó  • [        [        U R                  5       U/5      5      n U R                  R	                  U R                  5       U5      S   $ ! [         a&  n[        R                  " 5       n[        U5      UeS nAff = f)Nr   )
ÚdictÚzipÚget_input_namesr   r1   Úget_output_namesÚ	ExceptionÚ	tracebackÚ
format_excÚONNXRuntimeError)r9   rP   Ú
input_dictÚeÚ
error_infos        r>   Ú__call__ÚOrtInferSession.__call___   ss   € Üœ#˜d×2Ñ2Ó4°}°oÓFÓGˆ
ð	6Ø—<‘<×#Ñ# D×$9Ñ$9Ó$;¸ZÓHÈÑKÐKøÜó 	6Ü"×-Ò-Ó/ˆJÜ" :Ó.°AÐ5ûð	6ús   ¦,A Á
BÁ!A>Á>Bc                 ót   • U R                   R                  5        Vs/ s H  oR                  PM     sn$ s  snf ©N)r   Ú
get_inputsr0   ©r9   Úvs     r>   rT   ÚOrtInferSession.get_input_namesg   s+   € Ø $§¡× 7Ñ 7Ô 9Ó:Ò 9˜1—”Ñ 9Ñ:Ð:ùÒ:ó   �5c                 ót   • U R                   R                  5        Vs/ s H  oR                  PM     sn$ s  snf r`   )r   Úget_outputsr0   rb   s     r>   rU   Ú OrtInferSession.get_output_namesj   s+   € Ø $§¡× 8Ñ 8Ô :Ó;Ò :˜1—”Ñ :Ñ;Ð;ùÒ;re   Úkeyc                 ón   • U R                   R                  5       R                  nX!   R                  5       $ r`   )r   Úget_modelmetaÚcustom_metadata_mapÚ
splitlines©r9   ri   Ú	meta_dicts      r>   Úget_character_listÚ"OrtInferSession.get_character_listm   s+   € Ø—L‘L×.Ñ.Ó0×DÑDˆ	Ø‰~×(Ñ(Ó*Ð*rA   c                 ót   • U R                   R                  5       R                  nXR                  5       ;   a  gg)NTF)r   rk   rl   Úkeysrn   s      r>   Úhave_keyÚOrtInferSession.have_keyq   s-   € Ø—L‘L×.Ñ.Ó0×DÑDˆ	Ø—.‘.Ó"Ó"ØØrA   )r   N)Ú	character)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r5   r   r?   Ústaticmethodr	   r4   ÚnpÚndarrayr]   r   rT   rU   rp   Úboolrt   Ú__static_attributes__© rA   r>   r   r      s­   † ð7D˜D  c ™Nô 7Dðr ð˜T # s (™^ð °ó ó ðð"6 b§j¡jð 6°R·Z±Zô 6ð;  c¡ô ;ð< $ s¡)ô <ñ+ cð +¸DÀ¹Iõ +ñ˜Cð °$÷ ð rA   r   c                   ó   • \ rS rSrSrg)rY   éx   r€   N)rw   rx   ry   rz   r   r€   rA   r>   rY   rY   x   s   † ÚrA   rY   )rL   rW   Úpathlibr   Útypingr   r   r   Únumpyr|   Úonnxruntimer   r   r	   Úutils.download_filer   r   Ú	utils.logr   Úutils.utilsr   Úbaser   r   Úprovider_configr   r   rV   rY   r€   rA   r>   Ú<module>rŒ      sI   ðó 
Û Ý ß "Ñ "ã ß PÑ Pç BÝ Ý  ß )Ý +ôb�lô bôJ	�yõ 	rA   