
     
3j	                     J    S r SSKJr  SSKJr  \" 1 Sk5      r " S S\5      rg)z 
Implements ONNX's backend API.
    )
BackendRep)
RunOptions>   logidlog_severity_levellog_verbosity_levelonly_execute_path_to_fetchesc                   $    \ rS rSrSrS rS rSrg)OnnxRuntimeBackendRep   z
Wraps an :class:`onnxruntime.InferenceSession` to implement ONNX's
:class:`onnx.backend.base.BackendRep` interface for running predictions.
c                     Xl         g)z7
:param session: :class:`onnxruntime.InferenceSession`
N_session)selfsessions     Y/home/wildlama/miniconda3/lib/python3.13/site-packages/onnxruntime/backend/backend_rep.py__init__OnnxRuntimeBackendRep.__init__    s	          c                 ~   [        5       nUR                  5        HZ  u  pEU[        ;   a  [        X4U5        M  [	        X45      (       d  M/  [        SU SSR                  [        [        5      5       35      e   [        U[        5      (       a  0 n[        U R                  R                  5       5       H  u  pxX   XhR                  '   M     U R                  R                  SXc5      n	[        U	[        5      (       a  U	$ U R                  R                  5        V
s/ s H  oR                  PM     nn
U Vs/ s H  oU   PM	     sn$ U R                  R                  5       n[!        U5      S:w  a  [        S[!        U5       S35      eUS   R                  U0nU R                  R                  SXc5      $ s  sn
f s  snf )	ak  
Computes the prediction.
See :meth:`onnxruntime.InferenceSession.run`.

:param inputs: a list of input arrays (one per model input) or a single
    array when the model has exactly one input
:param kwargs: only a safe subset of :class:`onnxruntime.RunOptions` attributes are
    accepted; see ``_ALLOWED_RUN_OPTIONS`` for the list
:return: list of output arrays
zRunOptions attribute 'z<' is not permitted via the backend API. Allowed attributes: z, N   zModel expect z inputsr   )r   items_ALLOWED_RUN_OPTIONSsetattrhasattrRuntimeErrorjoinsorted
isinstancelist	enumerater   
get_inputsnamerunget_outputslen)r   inputskwargsoptionskvinpsiinpoutsooutput_namesr"   s                r   r#   OnnxRuntimeBackendRep.run&   sz    ,LLNDA((A&$$",QC 0++/99V<P5Q+R*SU 	 # fd##D#DMM$<$<$>?!'XX @==$$T49D$%%040I0I0KL0K10KL/;<|tT
|<<--**,C3x1}"]3s8*G#DEEFKK(D==$$T499  M<s   F56F:r   N)__name__
__module____qualname____firstlineno____doc__r   r#   __static_attributes__ r   r   r
   r
      s    
 &:r   r
   N)r6   onnx.backend.baser   onnxruntimer   	frozensetr   r
   r8   r   r   <module>r<      s0   
 ) "
 ! 2:J 2:r   