U
    Mh                  
   @   s   d Z ddlZddlm  mZ ddlmZ ddlm	Z	 ddl
mZmZmZ ddgZdd	 Zejejd
dZede	dddddejejejejeeedddZede	dddejejejejedddZdS )a  This file exports ONNX ops for opset 20.

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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
https://github.com/onnx/onnx/blob/main/docs/Changelog.md#version-20-of-the-default-onnx-operator-set
New operators:
    AffineGrid
    ConstantOfShape
    DFT
    Gelu
    GridSample
    ImageDecoder
    IsInf
    IsNaN
    ReduceMax
    ReduceMin
    RegexFullMatch
    StringConcat
    StringSplit
    N)_C)symbolic_helper)	_beartype	jit_utilsregistration_grid_sampler_affine_grid_generatorc                 C   s   | dkrdS | dkrdS | S )NZbilinearZlinearZbicubicZcubic )mode_sr	   r	   M/var/www/html/venv/lib/python3.8/site-packages/torch/onnx/symbolic_opset20.pyconvert_grid_sample_mode&   s    r      )Zopsetzaten::grid_samplervib)ginputgrid	mode_enumpadding_mode_enumalign_cornersc                 C   sR   dd t j D | }t|}dd t j D | }| jd||t|||dS )Nc                 S   s   i | ]\}}||qS r	   r	   .0kr   r	   r	   r   
<dictcomp>:   s      z!_grid_sampler.<locals>.<dictcomp>c                 S   s   i | ]\}}||qS r	   r	   r   r	   r	   r   r   =   s      Z
GridSample)align_corners_ir
   padding_mode_s)FZGRID_SAMPLE_INTERPOLATION_MODESitemsr   ZGRID_SAMPLE_PADDING_MODESopint)r   r   r   r   r   r   r
   r   r	   r	   r   r   /   s    zaten::affine_grid_generatorr   thetasizer   c                 C   s   | j d||t|dS )NZ
AffineGrid)r   )r   r    r!   r	   r	   r   r   H   s    	)__doc__	functoolsZtorch.nn.functionalnnZ
functionalr   Ztorchr   Z
torch.onnxr   Ztorch.onnx._internalr   r   r   __all__r   partialZonnx_symbolicZ_onnx_symbolic
parse_argsZbeartypeZGraphContextValuer    boolr   r   r	   r	   r	   r   <module>   s4   