
     Ng                     N    d Z ddlmZmZ ddlmZ ddlmZ  G d de          ZdS )z 
Implements ONNX's backend API.
    )AnyTuple)
BackendRep)
RunOptionsc                       e Zd ZdZd Zd ZdS )OnnxRuntimeBackendRepzr
    Computes the prediction for a pipeline converted into
    an :class:`onnxruntime.InferenceSession` node.
    c                     || _         dS )zG
        :param session: :class:`onnxruntime.InferenceSession`
        N)_session)selfsessions     [/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnxruntime/backend/backend_rep.py__init__zOnnxRuntimeBackendRep.__init__   s          c                   
 t                      }|                                D ]&\  }}t          ||          rt          |||           't	          |t
                    ri }t          | j                                                  D ]\  }}||         ||j	        <   | j        
                    d||          
t	          
t
                    r
S d | j                                        D             }	
fd|	D             S | j                                        }t          |          dk    r t          dt          |           d          |d         j	        |i}| j        
                    d||          S )z`
        Computes the prediction.
        See :meth:`onnxruntime.InferenceSession.run`.
        Nc                     g | ]	}|j         
S  )name).0os     r   
<listcomp>z-OnnxRuntimeBackendRep.run.<locals>.<listcomp>.   s    LLL1LLLr   c                      g | ]
}|         S r   r   )r   r   outss     r   r   z-OnnxRuntimeBackendRep.run.<locals>.<listcomp>/   s    <<<tT
<<<r      zModel expect z inputsr   )r   itemshasattrsetattr
isinstancelist	enumerater
   
get_inputsr   runget_outputslenRuntimeError)r   inputskwargsoptionskvinpsiinpoutput_namesr   s             @r   r!   zOnnxRuntimeBackendRep.run   sv    ,,LLNN 	' 	'DAqw"" 'A&&&fd## 	:D#DM$<$<$>$>?? + +3!'SX=$$T499D$%% =LL0I0I0K0KLLL<<<<|<<<<-**,,C3xx1}}"#D3s88#D#D#DEEEFK(D=$$T4999r   N)__name__
__module____qualname____doc__r   r!   r   r   r   r   r      s<         
     : : : : :r   r   N)	r1   typingr   r   onnx.backend.baser   onnxruntimer   r   r   r   r   <module>r5      s   
          ( ( ( ( ( ( " " " " " "&: &: &: &: &:J &: &: &: &: &:r   