U
    •Ê¹jÈ  ã                
   @   s¦   d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	m
Z
 dgZeje
jdd	�Zed
ƒe dddddd¡e	jejejejee ee ee dœdd„ƒƒƒZdS )aš  This file exports ONNX ops for opset 18.

Note [ONNX Operators that are added/updated in opset 18]

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
https://github.com/onnx/onnx/blob/main/docs/Changelog.md#version-18-of-the-default-onnx-operator-set
New operators:
    CenterCropPad
    Col2Im
    Mish
    OptionalGetElement
    OptionalHasElement
    Pad
    Resize
    ScatterElements
    ScatterND
é    N)ÚSequence)Ú_C)Úsymbolic_helper)Ú	_beartypeÚregistrationÚcol2imé   )Zopsetzaten::col2imÚvÚis)ÚinputÚoutput_sizeÚkernel_sizeÚdilationÚpaddingÚstridec              	   C   sx   g }|D ]}t dƒD ]}	| |¡ qqt |¡d }
|sDddg|
 }|sRdg|
 }|s`dg|
 }| jd||||||d�S )Né   r   é   ZCol2Im)Zdilations_iZpads_iZ	strides_i)ÚrangeÚappendr   Z_get_tensor_sizesÚop)Úgr   r   r   r   r   r   Zadjusted_paddingÚpadÚ_Znum_dimensional_axis© r   úZ/var/www/html/bwave/python/venv/lib/python3.8/site-packages/torch/onnx/symbolic_opset18.pyr   "   s(    

ù)Ú__doc__Ú	functoolsÚtypingr   Ztorchr   Z
torch.onnxr   Ztorch.onnx._internalr   r   Ú__all__ÚpartialZonnx_symbolicZ_onnx_symbolicÚ
parse_argsZbeartypeÚValueÚintr   r   r   r   r   Ú<module>   s"   ù