o
    wi                      @  s  d dl mZ d dlZd dlmZmZmZmZ d dlZ	d dl
mZmZmZ G dd deZi eejee	deejdeejee	d	eejd
eejee	deejdeejee	deejdeejee	deejdeejee	deejdeejee	deejdeejee	deejdeejee	deejdeejee	deejdeejee	deejdeejee	deejdeejee	deejdeejee	d eejd!eejee	d"eejd#eej ee	d$eej d%eej!ee	deejd&eej"ee	deejd'eej#ee	deejd(eej$ee	deejd)eej%ee	d	eejd*eej&ee	deejd+eej'ee	deejd,iZ(G d-d. d.e)Z*e*d/d0 e(+ D d1d2Z,e*d3d0 e(+ D d4d5Z-d6d0 e,+ D Z.e*ee)eeee/ef f e.d7d8Z0eejd9eejd:eejd;eejd:eejd:eejd<eejd9eejd<eejd=eejd=eej d>eejd:iZ1e*ee)eeee/ef f e1d?Z2e*eej3d@eej4dAeej5dBeej6dCeej7dDidEZ8e*eej3dFeej4dGeej5dHeej6dIeej7dDidJZ9dS )K    )annotationsN)Any
NamedTupleUnioncast)OptionalProtoSequenceProtoTensorProtoc                   @  s&   e Zd ZU ded< ded< ded< dS )TensorDtypeMapznp.dtypenp_dtypeintstorage_dtypestrnameN)__name__
__module____qualname____annotations__ r   r   I/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/mapping.pyr
      s   
 r
   float32zTensorProto.FLOATuint8zTensorProto.UINT8int8zTensorProto.INT8uint16zTensorProto.UINT16int16zTensorProto.INT16int32zTensorProto.INT32int64zTensorProto.INT64boolzTensorProto.BOOLfloat16zTensorProto.FLOAT16zTensorProto.BFLOAT16float64zTensorProto.DOUBLE	complex64zTensorProto.COMPLEX64
complex128zTensorProto.COMPLEX128uint32zTensorProto.UINT32uint64zTensorProto.UINT64objectzTensorProto.STRINGzTensorProto.FLOAT8E4M3FNzTensorProto.FLOAT8E4M3FNUZzTensorProto.FLOAT8E5M2zTensorProto.FLOAT8E5M2FNUZzTensorProto.UINT4zTensorProto.INT4zTensorProto.FLOAT4E2M1c                      s:   e Zd Z	dd fd	d
ZdddZd fddZ  ZS )DeprecatedWarningDict 
dictionarydict[int, int | str | np.dtype]original_functionr   future_functionreturnNonec                   s   t  | || _|| _d S )N)super__init___origin_function_future_function)selfr'   r)   r*   	__class__r   r   r.   b   s   
zDeprecatedWarningDict.__init__otherr$   r   c                 C  s&   t |tsdS | j|jko| j|jkS )NF)
isinstancer%   r/   r0   )r1   r4   r   r   r   __eq__l   s
   

zDeprecatedWarningDict.__eq__keyint | str | np.dtyper   c                   sX   | j stjtd| j dtdd ntjtd| j d| j  dtdd t |S )Nz	`mapping.z` is now deprecated and will be removed in a future release.To silence this warning, please simply use if-else statement to get the corresponding value.   )
stacklevelzh` is now deprecated and will be removed in a future release.To silence this warning, please use `helper.z
` instead.)r0   warningswarnr   r/   DeprecationWarningr-   __getitem__)r1   r7   r2   r   r   r>   t   s$   	
z!DeprecatedWarningDict.__getitem__)r&   )r'   r(   r)   r   r*   r   r+   r,   )r4   r$   r+   r   )r7   r8   r+   r   )r   r   r   r.   r6   r>   __classcell__r   r   r2   r   r%   a   s
    

r%   c                 C     i | ]\}}||j qS r   )r   .0tensor_dtypevaluer   r   r   
<dictcomp>   s    rE   TENSOR_TYPE_TO_NP_TYPEtensor_dtype_to_np_dtypec                 C  r@   r   )r   rA   r   r   r   rE      s    "TENSOR_TYPE_TO_STORAGE_TENSOR_TYPE$tensor_dtype_to_storage_tensor_dtypec                 C  s>   i | ]\}}|t jt jt jt jt jt jt jt jfvr||qS r   )	r	   BFLOAT16FLOAT8E4M3FNFLOAT8E4M3FNUZ
FLOAT8E5M2FLOAT8E5M2FNUZUINT4INT4
FLOAT4E2M1)rB   kvr   r   r   rE      s    NP_TYPE_TO_TENSOR_TYPEnp_dtype_to_tensor_dtype
float_data
int32_data
int64_datadouble_datauint64_datastring_dataSTORAGE_TENSOR_TYPE_TO_FIELDtensor_valuessparse_tensor_valuessequence_values
map_valuesoptional_valueSTORAGE_ELEMENT_TYPE_TO_FIELDtensor_valuesparse_tensor_valuesequence_value	map_valueOPTIONAL_ELEMENT_TYPE_TO_FIELD):
__future__r   r;   typingr   r   r   r   numpynponnxr   r   r	   r
   r   FLOATdtypeUINT8INT32INT8UINT16INT16INT64BOOLFLOAT16rJ   DOUBLE	COMPLEX64
COMPLEX128UINT32UINT64STRINGrK   rL   rM   rN   rO   rP   rQ   TENSOR_TYPE_MAPdictr%   itemsrF   rH   _NP_TYPE_TO_TENSOR_TYPEr   rT   _STORAGE_TENSOR_TYPE_TO_FIELDr\   TENSORSPARSE_TENSORSEQUENCEMAPOPTIONALrb   rg   r   r   r   r   <module>   s,  











 
#
&
)
,
/
3
6




L*
	




















