U
    qh                     @  s4   d dl mZ d dlZd dlmZ G dd deZdS )    )annotationsN)OpRunAiOnnxMlc                   @  s   e Zd ZdddZdS )LabelEncoderNc                   s   |p|p|p|}|	p|
p|p|}t t|| ||krF| |j}nH||	krZ|tj}n4||
krn|tj}n ||kr|tj}tt	sdtj
 fdd|gd}||}|jtkr|tj}|fS )N c                   s     | S )N)get)xclassesZdefval P/tmp/pip-unpacked-wheel-xnis5xre/onnx/reference/ops/aionnxml/op_label_encoder.py<lambda>.       z#LabelEncoder._run.<locals>.<lambda>)Zotypes)dictzipitemZdtypenpZfloat32Zint64Zstr_
isinstancestrZ	vectorizeobjectZastype)selfr   Zdefault_floatZdefault_int64Zdefault_stringZdefault_tensorZkeys_floatsZkeys_int64sZkeys_stringsZvalues_floatsZvalues_int64sZvalues_stringsZkeys_tensorZvalues_tensorkeysvaluesotypeZlookup_funcoutputr
   r   r   _run   s,    

zLabelEncoder._run)NNNNNNNNNNNN)__name__
__module____qualname__r   r
   r
   r
   r   r      s               r   )
__future__r   Znumpyr   Z,onnx.reference.ops.aionnxml._op_run_aionnxmlr   r   r
   r
   r
   r   <module>   s   