
    =pj                         S r SSKJr  SSKJrJrJr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
KJrJr  SSKJr  SSKJr  SSKJrJr   " S S\5      rg)zHPI engine.    )Path)AnyDictOptionalTupleType   )MODEL_FILE_PREFIX)is_dep_available)get_default_deviceparse_device   )get_hpi_info)	HPIConfig	HPIRunner)InferenceRunner)LocalModelFormat   )RunnerBuilderRunnerEnginec                       \ rS rSrSrSr\S\4S j5       r\S\	\
   4S j5       rS\\\S4      4S jrS	S	S
.S\\\4   S\\   S\\   S\\\4   4S jjrS\\\4   4S jrSS jrS\4S jrS\SS	4S jrSrg	)	HPIEngine   z&Engine for HPI / UltraInfer inference.hpireturnc                     g)Nr    selfs    `/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/paddlex/inference/models/engines/hpi.pynameHPIEngine.name$   s        c                     [         $ )N)r   r   s    r    engine_config_modelHPIEngine.engine_config_model(   s    r#   .c                     g)N)paddleonnxomr   r   s    r    get_supported_model_formats%HPIEngine.get_supported_model_formats,   s     (r#   N)
model_namedevicerawr-   r.   c                    UR                  SU=(       d    S5        U R                  X5        U(       d  SU;  a  [        [        5       5      u  US'   nU$ )Nr-    device_type)
setdefault_apply_devicer   r   )r   r/   r-   r.   _s        r    prepare_config_dictHPIEngine.prepare_config_dict1   sL     	|Z%5263'-s2$01C1E$F!C
r#   c                     SSS.$ )NT)exclude_noneby_aliasr   r   s    r    get_config_dump_kwargs HPIEngine.get_config_dump_kwargs>   s     $$77r#   c                 :    [        S5      (       d  [        S5      eg )Nzultra-inferzNEngine 'hpi' is unavailable because dependency 'ultra-infer' is not installed.)r   RuntimeErrorr   s    r    ensure_environmentHPIEngine.ensure_environmentA   s$    ..2  /r#   c                     S S.S[         S[        [           S[        [        [         [        4      S[        [         [        4   S[        [
           S[        4S jjnU$ )	N)default_builderr-   	model_dirmodel_configengine_configrB   r   c                     AUc  [        S5      e[        U5      nUR                  SU 5        SU;  a  [        U5      nUb  XeS'   [        R
                  " U5      n[        U[        US9$ )Nz)`model_dir` is required for engine='hpi'.r-   hpi_info)rC   model_file_prefixconfig)
ValueErrordictr3   r   r   model_validater   r
   )r-   rC   rD   rE   rB   hpi_cfgrG   
hpi_configs           r    runner_builder<HPIEngine.get_default_runner_builder.<locals>.runner_builderI   sy        !LMM=)G|Z8('5'*2J'"11':J#"3! r#   )strr   r   r   r   r   r   )r   rO   s     r    get_default_runner_builder$HPIEngine.get_default_runner_builderH   sl     8<		  ~	 #4S>2		
  S>	 &m4	 	0 r#   runnerc                 r    [        U[        5      (       d"  [        S[        U5      R                   S35      eg )Nz.Engine 'hpi' must build an HPIRunner, but got .)
isinstancer   	TypeErrortype__name__)r   rT   s     r    validate_runnerHPIEngine.validate_runnerc   s=    &),,<0014  -r#   r   )r   N)rZ   
__module____qualname____firstlineno____doc__entitiespropertyrQ   r!   r   r   r%   r   r   r   r+   r   r   r6   r;   r?   r   rR   r   r[   __static_attributes__r   r#   r    r   r      s    0Hc   T)_  (	%(#-.	/( %) $#s(^ SM	
  
c3h8S#X 8M 6o $ r#   r   N)r`   pathlibr   typingr   r   r   r   r   	constantsr
   
utils.depsr   utils.devicer   r   r   r   runners.hpir   r   runners.inference_runnerr   utils.model_pathsr   _baser   r   r   r   r#   r    <module>rm      s9       3 3 + + =  . 6 0 .I Ir#   