
    Χg                       d Z ddlmZ ddlZddlZddlZddlmZ ddlZddlm	Z	 ddl
mZ ddlmZmZmZmZmZmZ ddlmZmZ g d	Z ej        ej        d
          Z ed           ej        d           ej        ddd          dd                                    Z ed          dd            Z  ed           ej        dd          dd                        Z! ed           ej        dd          dd                        Z" ed          dd            Z# ed            ej        d           ej        dd!d          dd"                                    Z$ ed#          	 ddd%            Z% ed&           ej        dd!          dd'                        Z& ed( ej'        d)d*d+          g,           ed- ej'        d.d/d+          g,           ed0 ej'        d1d2d+          g,           ed3 ej'        d4d*d5          g,           ed6 ej'        d7d/d5          g,           ed8 ej'        d9d2d5          g,           ed: ej'        d;d/d<          g,          ddB                                                                                    Z( edC           ej        dd$d$d$d$d$d$          ddD                        Z) edE           ej        dd!dd          dddF                        Z* edG           ej        dd!dd          ddH                        Z+ edI           ej        dd!dJ          dddK                        Z, edL          ddM            Z- edN          ddO            Z. edP          ddQ            Z/ edR          ddS            Z0 edT          ddU            Z1 edV          ddW            Z2 edX          dddY            Z3 edZ          dd[            Z4 ed\          dd]            Z5 ed^          dd_            Z6 ed`           ej        d          dda                        Z7 edb          ddc            Z8 edd           ej        dd!d!d!          dde                        Z9 edf           ej        dd!d!d!d!          ddg                        Z: edh           ej        ddd!d!d!dJ          dddi                        Z; edj           ej        dd!d!dJ          dddk                        Z< edl           ej        dd!d!dJ          dddm                        Z= edn           ej        dd!          dddo                        Z> edp          ddq            Z? edr           ej        ddd!d!          ddds                        Z@ edt           ej        ddd!d!          dddu                        ZA edv           ej        dd!d!          dddw                        ZBddxZC edy          dddz            ZD ed{           ed|           ed}          dd~                                    ZE ed           ed           ed          dd                                    ZF ed          dd            ZG ed          dd            ZH ed          dd            ZI ed          dd            ZJ ed           ej        dd!          dd                        ZK ed           ej        dd$          ddd                        ZL ed          ddd            ZM ed          dd            ZN ed          dd            ZO ed          dd            ZP ed          dd            ZQ ed          dd            ZR ed           ed          dd                        ZS ed           ed          dd                        ZTddZUddZVddZW ed           ej        ddddd          dd                        ZX ed          dd            ZY ed           ej        dd$d$           ej        dd!d!          dd                                    ZZ ed           ej        ddddd          dd                        Z[ ed           ej        dddd!d!d!dd!d!	  	        dd                        Z\ ed           ej        dddd          dd                        Z] ed          dd            Z^ ed          	 	 	 	 	 	 ddd            Z_ ed          dd            Z` ed          dd            Za edæ          ddĄ            Zb edŦ          ddƄ            Zc edǦ          ddɄ            Zd edʦ          dd˄            ZedS )z(This file exports ONNX ops for opset 11.    )annotationsN)Sequence)_C)_onnx)_type_utilserrorssymbolic_helpersymbolic_opset10symbolic_opset9utils)	jit_utilsregistration)9addappendarangeargsort
atleast_1d
atleast_2d
atleast_3dcatchunk	clamp_max	clamp_minclampconstant_pad_ndcumsumDeleteembedding_bagembedding_renormflattengatherhardtanhhstackim2col
index_fillindex
index_copy	index_putinsert
linalg_detlinalg_vector_normlogdetmasked_scattermasked_selectmmnarrownormalpadpixel_shufflepopprim_constant_chunkreflection_padrelu6	remainderreplication_padroundscatterselectsizesortsplit_with_sizessplitsqueezestacktopkunbind
unique_dim	unsqueezevstack   )opsetzaten::hardtanhTvfgjit_utils.GraphContextself_C.Valuemin_valfloatmax_valc                   t           j                            |t           j        j                  }|                     dt          j        ||                                                    }|                     dt          j        ||                                                    }t          j	        | d|||d          S )NConstantdtypevalue_tClip   opset_before)
r   JitScalarType
from_valueFLOAToptorchtensorrV   r	   _op_with_optional_float_cast)rL   rN   rP   rR   scalar_types        W/var/www/html/ai-engine/env/lib/python3.11/site-packages/torch/onnx/symbolic_opset11.pyr"   r"   \   s     +66k'- K ddWK,=,=,?,?@@@   G ddWK,=,=,?,?@@@   G 7	64'       zaten::clampc                .     fd}t           j                            |t           j        j                  }|t           j        j        k    r |||          } |||          }t	          j        |          rt           ||          S t	          j        |          rt           ||          S t	          j        |          dk    r2t	          j        |          dk    rt	          j	         d|||d          S t           t           ||          |          S )Nc                    | >t          j        |           s*                    d| |                                          S | S )NCastto_i)r	   _is_noner`   	onnx_type)rb   rV   rL   s     re   _cast_if_not_nonez clamp.<locals>._cast_if_not_noner   sN    o&>v&F&F44__&&     Mrf   r   rY   rZ   r[   )
r   r]   r^   	UNDEFINEDr	   rl   r   r   _get_tensor_rankrc   )rL   rN   minmaxrn   rd   s   `     re   r   r   p   s7        +66k'1 K k/999[11[11$$ >D#&&&		!#	&	& >D#&&& ,S11Q66055::"?64c    Q	!T3 7 7===rf   zaten::clamp_minc                N   |                      d|t          j                            |                                                    }t          j        |          dk    r.t          j        |           }t          j	        | d|||d          S t          j	        | d||d          S )Nri   rj   r   rY   rZ   r[   Max
r`   r   r]   r^   rm   r	   rp   opset9unusedrc   )rL   rN   rq   rr   s       re   r   r           $$vs!:!E!Ed!K!K!U!U!W!W$
X
XC',,11mA;vtS#B
 
 
 	
 ;udCb
 
 
 	
rf   zaten::clamp_maxc                N   |                      d|t          j                            |                                                    }t          j        |          dk    r.t          j        |           }t          j	        | d|||d          S t          j	        | d||d          S )Nri   rj   r   rY   rZ   r[   Minru   )rL   rN   rr   rq   s       re   r   r      rx   rf   zaten::relu6c                x   t           j                            |t           j        j                  }|                     dt          j        d|                                                    }|                     dt          j        d|                                                    }t          | |||          S )NrT   r   rU   rW      )	r   r]   r^   r_   r`   ra   rb   rV   r   )rL   inputrd   rP   rR   s        re   r7   r7      s    +66{(. K ddQk&7&7&9&9:::   G ddQk&7&7&9&9:::   G E7G,,,rf   zaten::selectic                4    |                      d|||          S )NGatheraxis_ir`   )rL   rN   dimr&   s       re   r<   r<      s    
 44$c4222rf   zaten::index_putFc           
     ,    t          j        |          rt          j        |          }n|g}t          j        |d          }t	          |          dk    r|S t	          |          dk    rt          t	          |                    D ];}t          j        ||                   r                     d||                   ||<   <|d         }|dd          D ]}t          j	         ||          }                     d|           fd|D             }  j        dg|R dd	i}n|d         }|}	t          j        |	          rt          j
        |          }
|
|
dk    rt          j         ||	|          S t          j
        |	          }t          j
        |          }|9|7||k    r1t          j         |	t          t          ||                              }	t           ||	|          S                      d|          t          j         |d	g          }t          j                              d|          dgt	          |          gt           j        g
          }                     d|d          }t          j
        |          }
|
|
dk    rt          j         ||d           }t          j         ||          }t(          j                            |t(          j        j                  }|t(          j        j        k    r`t(          j                            |t(          j        j                  }||k    r*                     d||                                          }n|rt3          j        d|          |r}                     d                     d|          t7          j        dg|                                                    }                     d|||          }t           ||          }n                     d|||          }|S )Nbr      NonZeroShapec                h    g | ].}t          j        t          j        |d           dg          /S )N)r	   _unsqueeze_helperrv   expand).0indbroadcast_index_shaperL   s     re   
<listcomp>zindex_put.<locals>.<listcomp>   sR     
 
 
  -6=C)>EEt 
 
 
rf   Concatr   r   axesstartsendsr   ri   rj   z'self does not have a valid scalar type.ConstantOfShaperU   rW   	ScatterND)r	   _is_packed_list_unpack_list
_parse_arglenrange_is_boolr`   rv   r   rp   masked_fillr   listr-   _slice_helpersysmaxsizer   _reshape_helperr   r]   r^   ro   rm   r   SymbolicValueErrorra   rb   rV   )rL   rN   indices_list_valuevalues
accumulateindices_listidx_r&   r   bool_inprank	mask_rank	self_ranksub_data_shapevalues_shapeself_scalar_typevalues_scalar_typezerosresultr   s   `                  @re   r(   r(      sS    &'9:: ,&34FGG*+ +J<<J
<A
<1#l++,, 	I 	ID'T(:;; I%&TT)\$5G%H%HT"Q# 	. 	.CJq%--EE !We 4 4
 
 
 
 
 $	
 
 
 X8888R88P Q#H-- 	="3F;;DDAII)!T8VDDD'8BBI'8>>I%)	)) +<xeIy&A&A!B!B  "!T8V<<< !We 4 41!URDAA$2	144aS#l2C2C1DCK=  N 44"7PQ4RRL+F33DDAIIq&,==,QEEF"0;;k'1  ;4>>>(6AAK-7
 
 111TT&&/?/I/I/K/KTLLF	 Y'(QSWXXX 	8DD$L!,<,B,B,D,DEEE  
 

 k5%88Qf%%k477Mrf   zaten::pixel_shufflec                    t          j        |          }||dk    rt          j        dd          S |                     d||d          S )N   r3   zonly support 4d inputDepthToSpaceCRD)blocksize_imode_s)r	   rp   _unimplementedr`   )rL   rN   upscale_factorr   s       re   r3   r3   E  sP     +D11DDAII-o?VWWW44.4OOOrf   zaten::upsample_nearest1dupsample_nearest1d   nearest)decoratezaten::upsample_nearest2dupsample_nearest2dr   zaten::upsample_nearest3dupsample_nearest3d   zaten::upsample_linear1dupsample_linear1dlinearzaten::upsample_bilinear2dupsample_bilinear2dzaten::upsample_trilinear3dupsample_trilinear3dzaten::upsample_bicubic2dupsample_bicubic2dcubicnamestrr   intinterpolate_modec                .    t          j        | ||          S N)r	   _interpolate_helper)r   r   r   s      re   _interpolater   N  s    : .tS:JKKKrf   zaten::__interpolatec           	     6    t          j        | ||||||          S r   )r	   __interpolate_helper)rL   r}   r=   scale_factormodealign_cornersrecompute_scale_factor	antialiass           re   __interpolater   n  s)     /	5$dM;Q  rf   zaten::gatherc                    t          j        |d          rt          j        dd          S |                     d|||          S )Nr~   r!   zsparse_grad == TrueGatherElementsr   )r	   _maybe_get_constr   r`   )rL   rN   r   r&   sparse_grads        re   r!   r!     sI     'S99 O-h8MNNN44 $c4:::rf   zaten::scatterc           
        t           j                            |          }t          j        |          }t          j        |          r|                     d||||          S t           j                            |          |k    rG|                     d|t           j                            |                                                    }|                     d||t          j	        | ||          |          S )NScatterElementsr   ri   rj   )
r   r]   r^   r	   _maybe_get_scalar	_is_valuer`   rm   rv   	expand_as)rL   rN   r   r&   srcsrc_types         re   r;   r;     s     (33C88H

+C
0
0C %% 
tt%tUCtDDD $//55AA$$ .99$??IIKK   C
 tttUF,<QU,K,KTW  
 
 	
rf   zaten::cumsumnonec                   |                      dt          j        |t          j                            }|r}|                                                                dk    rSt          j        |dd          }|                      d|t          j	        |          
                                          }n|}|                      d	||          }|S )
NrT   rU   rW   zprim::Constantr~   rV   ri   rj   CumSum)r`   ra   rb   r   nodekindr	   
_get_constr   r]   rm   )rL   rN   r   rV   
dim_tensorparsed_dtypecastcsums           re   r   r     s     j%,s%)*L*L*LMMJ ""$$(888&1%gFFttD{8FFPPRR  
 
 44$
++DKrf   zaten::masked_selectc                    t          j        | t          j        | ||                    }|                     d||          S )NGatherND)rv   nonzeror   r`   )rL   rN   maskr&   s       re   r.   r.     s8    N1f.q$==>>E44
D%(((rf   zaten::masked_scatterc                   t          j        | t          j        | ||                    }t          j        | |t          j        dg                    }t          j        | |t          j        dg          t          j        dg          t          j        | |t          j        dg                              }| 	                    d|||          S )Nr   r   r   r   )
rv   r   r   r	   r   ra   
LongTensorr   r=   r`   )rL   rN   r   sourcer&   s        re   r-   r-     s    N1f.q$==>>E ,Q8H"8N8NOOF*	qc""$$[E5#3QC#8#899  F 44T5&111rf   z	aten::lenc           
     J   t          j        |          s*|                                                                dk    r|                     d|          S t          | ||                     dt          j        dg                              }t          j        | |dg          S )Nzonnx::SplitToSequenceSequenceLengthrT   r   rW   )	r	   _is_tensor_listr   r   r`   r=   ra   r   _squeeze_helper)rL   rN   sz_0s      re   _lenr     s     	'--,99;;!888tt$d+++4j%2BA32G2GHHIID*1dQC888rf   zaten::__getitem_c                ~    t          j        |          r|                     d||          S ddlm}  || ||          S )N
SequenceAtr   )
__getitem_)r	   r   r`   torch.onnx.symbolic_opset9r   )rL   rN   r~   getitems       re   r   r     sQ    &t,, #ttL$***DDDDDDwq$"""rf   zaten::_set_itemc                `    |                      d||          }|                      d|||          S )NSequenceEraseSequenceInsertr   )rL   tensor_listr~   rJ   s       re   	_set_itemr    s0    $$Q77K44 +q!444rf   zaten::appendc                0    |                      d||          S Nr  r   )rL   rN   rb   s      re   r   r     s    44 $///rf   z	aten::addc                j   t          j        |          rt          j        |          ru|                                }|                                dk    rt          j        dd          S t          j        |          }|}|D ]}|                     d||          }|S t          j	        | |||          S )Nzprim::ListConstructr   z6does not support adding dynamic tensor list to anotherr  )
r	   r   r   r   r   r   r   r`   rv   r   )rL   rN   otheralphatensor_list_nodetensorslts           re   r   r     s     && 
?+J4+P+P 
 ::<<  ""&;;;"1O   ".u55 	- 	-A%q!,,AA:aue,,,rf   zaten::insertc                2    |                      d|||          S r  r   )rL   rN   posrb   s       re   r)   r)     s    44 $444rf   z	aten::popc                0    |                      d||          S Nr  r   rL   r  r   s      re   r4   r4         44c222rf   zaten::Deletec                0    |                      d||          S r  r   r  s      re   r   r     r  rf   z	aten::catc                    t          j        |          rt          j        | ||          S t          j        |dd          }|                     d||          S )Nr~   r   ConcatFromSequencer   )r	   r   rv   r   r   r`   r  s      re   r   r     sY     &{33 Cz![#...(c599tt(+ctBBBrf   zaten::stackc                    t          j        |          rt          j        | ||          S t          j        |dd          }|                     d||d          S )Nr~   r   r  r   r   
new_axis_i)r	   r   rv   rB   r   r`   r  s      re   rB   rB     sY    &{33 Q|A{C000(c599tt(+catPPPrf   zaten::_unique2c                H    |                      d||d          \  }}}}|||fS )NUniquer   )sorted_ioutputsr   )	rL   rN   sortedreturn_inversereturn_countsuindicesinverse_indicescountss	            re   _unique2r&    s=     +,$$$ +/ + +'Aw ov%%rf   zaten::unique_dimc                J    |                      d|||d          \  }}}}	|||	fS )Nr  r   )r   r  r  r   )
rL   rN   r   r  r   r!  r"  r#  r$  r%  s
             re   rE   rE     s?    
 +,$$$sVQ +/ + +'Aw ov%%rf   z
aten::topkc           	     8    t          j        | ||||||          S )N)largestr  out)r	   _topk_helper)rL   rN   kr   r)  r  r*  s          re   rC   rC   *  s-     '	4CS   rf   z
aten::sortc                4    t          j        | ||||          S N)	decendingr*  r	   _sort_helper)rL   rN   r   r/  r*  s        re   r>   r>   2  s      '4	sSSSSrf   zaten::argsortc                >    t          j        | ||||          \  }}|S r.  r0  )rL   rN   r   r/  r*  _r#  s          re   r   r   8  s1     !-	4	s  JAw Nrf   zaten::roundc                   t          j        |          s|S |dk    r|                     d|          S |                     d||                     dt          j        t          d|                                        }|                     d|          }|                     d||                     dt          j        t          dd|z                                          S )Nr   RoundMulrT   
   rW   r   )r	   _is_fpr`   ra   rb   pow)rL   rN   decimalsmulr:   s        re   r:   r:   A  s     !$'' 1}}ttGT"""
$$udADDU\#b(BSBS5T5TDUU
V
VCDD#E44uadd:u|CBM<R<R/S/SdTT  rf   zaten::remainderc                    t          j        |          st          j        |          rt          j        | ||          S |                     d||d          S )NModr   )fmod_i)r	   r8  rv   r8   r`   )rL   r}   r	  s      re   r8   r8   O  sV    e$$ 1(>u(E(E 15%00044ueA4...rf   zaten::splitc           
     "    t          j        ||          s`                     d|||          |S t          j        |          rt	          t          j        |                    |k    r fdt          j        |          D             }                     dt          j        dgt          j                            }                     dt          j        |gt          j                            }g }t          |          D ]M}	                     d|||	                   }
|
                                         d	|||
|                     |
}N|S  fd
t          |          D             S t          j         ||||          S )NSplitToSequencer   c                >    g | ]}t          j        |d g          S r   )r	   r   )r   rJ   rL   s     re   r   zsplit.<locals>.<listcomp>b  s:         1!Q<<  rf   rT   r   rU   rW   AddSlicec                    g | ]M}                     d                      dt          j        |gt          j                                      NS )r   rT   rU   rW   )r`   ra   rb   long)r   r~   rL   	split_outs     re   r   zsplit.<locals>.<listcomp>p  se     
 
 
  DDZqc)L)L)LMM 
 
 
rf   )r	   _is_split_staticr`   r   r   r   ra   rb   rF  r   r   rv   r@   )rL   rN   split_size_or_sizesr   _outputssplit_sizesstartaxisresr~   endrG  s   `          @re   r@   r@   V  s    +,?JJ  IDD*D2EcDRR	 +,?@@	O01DEEFF(RR   (56IJJ  K DDU\1#UZ-P-P-PDQQE44
EL#ej,Q,Q,Q4RRDC8__  dd5+a.  

144uc4@@AAAJ
 
 
 
 
 8__
 
 
 	
 |At%8#xHHHrf   zaten::split_with_sizesc                (    t          | ||||          S r   )r@   )rL   rN   rK  r   rJ  s        re   r?   r?   |  s     D+sH555rf   zaten::unbindc                    |M|                      d||                      dt          j        dt          j                            |d          S t	          j        | |||          S )Nr@  rT   r   rU   rW   r   )r   
keepdims_i)r`   ra   rb   rF  rv   rD   )rL   rN   r   rJ  s       re   rD   rD     sm     ttDDU\!5:%F%F%FDGG  
 
 	
 }Qc8444rf   c                f   t          j        |          sAt          j        |          r-t          j        |          r|                     d|dd          }t          j        | ||                     dt          j        dg                              }t          j	        |          }|+|                     d|                     d	|                    }n5|                     dt          j        |t          j
        
                    }|                     d|                     d||                     dt          j        dt          j
        
                              |          }|                     d|t          j        j                  }|                     d||                     d|t          j        dgt          j
        
                    d          }t          j        | ||                     dt          j        ddg                              }|                     dt          j        | |dg          ddg          }t          j        | ||                     dt          j        dg                              }|                     d|t          j        j                  }|S )a!  Generate paddings in ONNX order based on pad in pytorch.

    Args:
        input: the input tensor.
        pad: the paddings in pytorch.
            The order is dim_n_begin, dim_n_end, dim_n-1_begin, dim_n-1_end, ..., dim_m_begin, dim_m_end,
            where m is in range [0, n].
    r  r   r   r  rT   rW   NSizer   rU   Subr6     ri   rj   r   r   r   r   	Transposeperm_i)r	   r   _is_list_is_scalar_listr`   rv   r=   ra   rb   rp   int64_C_onnxTensorProtoDataTypeINT64r   opset10flip)rL   r}   r2   pad_lenr   	extensionpaddings	padding_cs           re   _prepare_onnx_paddingsrf    sl    +C00F$S))F +C00F
 dd'Q1dEE
 k!S!$$z5<;L;L$"M"MNNG+E22D|ttFADD%0011ttJT(M(M(MtNN	UD!$$z5<3U3U3U$VVWW I $$vs!<!B$
C
CCtt	y%,s%+2V2V2V 	 	
 	
    H .	8QTT*elB7.C.CTDD H ttKaA3!?!?AtOOH.	8QTT*elB4.@.@TAA H VXG,G,MNNIrf   zaten::constant_pad_ndc                    d}t          j        |          }t          j        ||          }t          | ||          }|                     d||||          S )NconstantPadr   )r	   r   _if_scalar_type_asrf  r`   )rL   r}   paddingvaluer   r2   s         re   r   r     sV    D-e44E.ue<<E
 E7
3
3C44uc54666rf   zaten::reflection_pad1dzaten::reflection_pad2dzaten::reflection_pad3dc                Z    d}t          | ||          }|                     d|||          S )Nreflectri  rj  rf  r`   rL   r}   rl  r   rd  s        re   r6   r6     s4     D%a88H44uht4444rf   zaten::replication_pad1dzaten::replication_pad2dzaten::replication_pad3dc                Z    d}t          | ||          }|                     d|||          S )Nedgeri  rj  rp  rq  s        re   r9   r9     s4     D%a88H44uht4444rf   z	aten::padr}   r2   r   rm  c                    t          j        |d          }|dk    rt          | ||          S |dk    rt          | ||          S |dk    rt	          | |||          S |dk    rt          j        | ||          S t          j        d| |          )Ns	replicatero  rh  circularzUnrecognized padding mode )	r	   r   r9   r6   r   rv   _pad_circularr   r   )rL   r}   r2   r   rm  s        re   r2   r2     s     %dC00D{q%---			a,,,			q%e444			#Auc222'(KT(K(KUSSSrf   zaten::linalg_detc                .    |                      d|          S )NDetr   )rL   rN   s     re   r*   r*     s    44trf   zaten::logdetc                H    t          j        | t          | |                    S r   )rv   logr*   )rL   r}   s     re   r,   r,     s    :aAu--...rf   aten::arangec                ~   d }t          |          dk    rt          d |D                       rt          j        }|                     dt          j        |d         |                    }|                     dt          j        |d         |                    }|                     dt          j        d|                    }|                     d	|||          S t          |          dk    st          |          d
k    rt          |          dk    rd }n ||d                   }t          j        | |d         |          \  }}}}|                     dt          j        d|                                                    }	|                     dt          j        d|                                                    }|                     d	|	||          S t          |          dk    st          |          dk    rot          |          dk    rd }n ||d                   }t          j        | |d         |d         |d         |          \  }
}}}|                     d	|||          S t          |          dk    r ||d                   }t          j        | |d         |d         |          \  }}}}|                     dt          j        d|                                                    }|                     d	|||          S t          j	        ddt          |           d          S )Nc                0    t          j        | d          } | S Nr~   )r	   r   rU   s    re   _get_arange_dtypez!arange.<locals>._get_arange_dtype  s    0<<rf   rV  c              3  @   K   | ]}t          |t                    V  d S r   )
isinstancer   )r   vals     re   	<genexpr>zarange.<locals>.<genexpr>
  s,      CCsjc22CCCCCCrf   rT   r   rU   rW   r   Ranger   )rO  rV   r      r   )rL  rO  steprV   r|   )rL  rO  rV   r}  zwith z
 arguments)
r   allra   r\  r`   rb   r	   _arange_cast_helperrV   r   )rL   argsr  rV   rL  rO  delta_defaulttype_r  start_defaultr3  s              re   r   r     sX      4yyA~~#CCdCCCCC~La666  
 

 ddLa666  
 

 L%000  
 
 ttGUC777	Ta3t99>>t99>>EE &%d1g..E"1"E47%#
 #
 #
sE4 L%++--888  
 
 L%++--888  
 
 ttG]C???	Ta3t99>>t99>>EE &%d1g..E-AT!W$q'Qu
 
 
3t ttGUC...	Ta!!$q'**"1"ET!W$q'#
 #
 #
sE4 L%++--888  
 
 ttGUC777-9CII999
 
 	
rf   zaten::_dim_arangec           
         |                      d|          }|                      d||                      dt          j        |                    d          }t          | |dd d d           S )Nr   r   rT   rW   r   r   r   )r`   ra   rb   r   )rL   liker   
like_shapestops        re   _dim_aranger  L  sm     gt$$J44*add:u|C7H7HdIIRS   D !T1dD$///rf   z
aten::size)quantize_outputc                ^    ||                      d|          S t          j        | ||          S )Nr   )r`   r	   _size_helperrL   rN   r   s      re   r=   r=   V  s2     {ttGT"""'4555rf   zaten::squeezec                   ||                      d|          S t          j        |          st          j        | ||g          S t          j        |dd          }t          j        |          }|}||dk     r||z  }t          j        ||          }|dk     r|||                      dt          j        |g                    }t          j	        | ||          }|                      dt          j
        dt          j                            }|                      d	||          }	t          j        | d
|	d          \  }
\  }}}t          j        |||g          }t          j        |j        |           |                     d|          }t          j        |j        |           |
S |}|dk    rEt#          j        dt'          |          z   dz   dz   t'          |          z   dz   dz   dz              |S t          j        | ||g          S )NSqueezer~   r   r   rT   rW   r   rU   EqualIfrV  )n_blocksIdentityz5This model contains a squeeze operation on dimension z. The size of z%this dimension in the given input is z. The model will zWbe exported without the squeeze node. If the model is intended to be used with dynamic z7input shapes, please export with dynamic_axes argument.)r`   r	   _is_constantr   r   rp   _get_tensor_dim_sizera   rb   r  onesr\  r   add_op_with_blocksr   _add_output_to_blockblockwarningswarnr   )rL   rN   r   
input_rankadjusted_dimdim_sizedim_constantr=   	const_onecondif_op
if_contextelse_contextr3  squeeze_	identity_s                   re   rA   rA   ^  s>   
{ttIt$$$ ',, ?.q$>>>

$S#u
5
5C 1$77JL#''
"3D,GGHaJ&8+; ttJcU0C0CtDD+At\BBDDUZ-M-M-MDNN	ttGT9--/8/KtTA0
 0
 0
,)
L1 #2:tcUKK":#3X>>> OOJ55	"<#5yAAA C!||C#hh 66 (mm	
 "" hh HH		
 		
 		
 *1dSE:::rf   zaten::unsqueezec                    t          j        |          rt          j        |dd          }t          j        | ||g          S )Nr~   r   )r	   r  r   r   r  s      re   rF   rF     s@    #C(( :(c599,Qse<<<rf   zaten::mmc                6    |                      d||dd          S )NGemmg        g      ?)beta_falpha_fr   )rL   rN   r	  s      re   r/   r/     s    44eC4===rf   zaten::indexc                   t          j        |          rt          j        |          }n|g}t          |          dk    r|d         }t          j        |          srt          j        |          s2t          j                            |          t          j        j	        k    r,t          j        | |          }|                     d||          S t          j        | ||          S )Nr   r   r   )r	   r   r   r   rl   r   r   r]   r^   UINT8rv   r   r`   r&   )rL   rN   r&   r#  s       re   r&   r&     s    &u-- !.u55' 7||q
'.. 	1$U++	1(33E::(./ / N1e,,E44
D%000<4'''rf   zaten::index_fillc                   t          j        |d          }t          j        | |||          \  }}t          j        |          }t          j        ||          }t          j        | ||d           }t          | ||||          S r  )r	   r   _index_fill_reshape_helperr   rk  rv   r   r;   )	rL   rN   r   r&   rm  	dim_valueexpanded_index_shapeexpanded_indexexpanded_values	            re   r%   r%     s    *344I+:+U	4e, ,(. -e44E.ud;;E]1e-A4HHN1dC@@@rf   zaten::index_copyc                    t          j        |d          }t          j        | |||          \  }}t          | ||||          S r  )r	   r   r  r;   )rL   rN   r   r&   r   r  r  r  s           re   r'   r'     sM    *344I+:+U	4e, ,(. 1dC888rf   zaten::bitwise_right_shiftzaten::__rshift_c                   t           j                            |t           j        j                  t           j                            |          k    rG|                     d|t           j                            |                                                    }t           j                            |t           j        j                  t           j        j        k    r|                     d||d          S |                     dt          j        dt          j	                  	          }t          j        |          s'|                     d|t          j        j                  }|                     d
||          }|                     d|t           j                            |                                                    }|                     d||          }|S )Nri   rj   BitShiftRIGHTdirection_srT   rV  rU   rW   PowDivr   r]   r^   ro   r`   rm   r  ra   rb   float32r	   r8  r]  r^  r_   )rL   rN   r	  twotwo_powrshifts         re   	__rshift_r    s   
  ++{(2 		"	-	-d	3	34 4 *55d;;EEGG  
 
 	!,,T;3L3VWW$*	+ 	+ ttJetAAA
$$z5<#G#G#G$
H
HC!$'' LVU)D)JKKdd5#u%%Gdd&11$77AACC   G
 TT%w''FMrf   zaten::bitwise_left_shiftzaten::__lshift_c                   t           j                            |t           j        j                  t           j                            |          k    rG|                     d|t           j                            |                                                    }t           j                            |t           j        j                  t           j        j        k    r|                     d||d          S |                     dt          j        dt          j	                  	          }t          j        |          s'|                     d|t          j        j                  }|                     d
||          }|                     d|t           j                            |                                                    }|                     d||          }|S )Nri   rj   r  LEFTr  rT   rV  rU   rW   r  r6  r  )rL   rN   r	  r  r  lshifts         re   	__lshift_r    s   
  ++{(2 		"	-	-d	3	34 4 *55d;;EEGG  
 
 	!,,T;3L3VWW$*	+ 	+ ttJet@@@
$$z5<#G#G#G$
H
HC!$'' LVU)D)JKKdd5#u%%Gdd&11$77AACC   G
 TT%w''FMrf   c                <   |                      d||                      dt          j        |dz                                }|                      d||                      dt          j        ||dz
  z                                }|                      d|                      dt          j        d                    ||                      dt          j        |                              }t          j        d||z  |          }|                      d|                    d                    }t          j        | |dg          }t          j        | ||                      dt          j        d	dg                              }	|                      d||	          }
|
S )
NrC  rT   rV  rW   rU  r   r  r   r   )r`   ra   rb   r   rF   r	   r   r   )rL   input_dkernel_size_d
dilation_d	padding_dstride_dblocks_dblocks_d_indiceskernel_gridkernel_mask
block_masks              re   _get_im2col_indices_along_dimr    s    ttwZi!m1L1LMM H tt	ZjMA<M.N!O!OPP H tt	Za11	Zh!7!788	  ,q-*"<jIIK$$z;+@+@+C+C$DDK '8	aS  "1	;Zr1g1F1FGG K e-{;;Jrf   c           	         |                      dt          j        dd||gdz                      }|                      d||          S )NrT   r   rV  rW   ri  )r`   ra   r   )rL   r}   	padding_h	padding_wr2   s        re   _get_im2col_padded_inputr  6  sI     $$z5#3Q9i4PST4T#U#U$
V
VC44uc"""rf   c                <   t          | ||                     dt          j        d                              }t          | ||                     dt          j        d                              }|                     d||                     dt          j        ||z                                }|                     dt	          j        | |dg          t	          j        | |dg          |                     dt          j        dg                    d          S )	NrT   r   rW   r   r6  r   r   r   )r=   r`   ra   rb   r	   r   )rL   r}   kernel_hkernel_w	batch_dimchannel_dimchannel_unfoldeds          re   _get_im2col_output_shaper  >  s    QqttJQtHHIIIq%j%,q//!J!JKKKtt{ADDU\(XBU5V5VDWW  44)!Y<<)!-=sCC	Zrd!3!344    rf   zaten::im2colisc           
        t          | ||                     dt          j        d                              }t          | ||                     dt          j        d                              }|d         |d         }	}|d         |d         }}
|d         |d         }}|d         |d         }}t	          | ||||
|          }t	          | |||||	          }t          | |||          }t          | ||
|          }|                     d||d          }|                     d||d	          }|                     d
|g d          }t          j        | ||          S )NrT   rV  rW   r   r   r   r   r   r   rW  )r   r   rV  r   r   r   rX  )	r=   r`   ra   rb   r  r  r  r	   r   )rL   r}   kernel_sizedilationrl  strideinput_hinput_wstride_hstride_wr  r  
dilation_h
dilation_wr  r  blocks_row_indicesblocks_col_indicesoutput_shapepadded_inputoutputs                        re   r$   r$   N  sg    1eQTT*el1ooTFFGGG1eQTT*el1ooTFFGGGF1IhH"1:wqzyI%a[(1+
J$QQhH6	7Hj)X  7	7Hj)X  ,AuhIIL+AuiKKL2 TT(L*<QTGGFTT(F$6qTAAFTT+v.@.@.@TAAF*1flCCCrf   zaten::narrowc                b    |                      d||          }t          j        | ||||          S )NrC  r   )r`   r	   r   )rL   r}   r   rL  lengthrO  s         re   r0   r0     s4    
$$ueV
$
$C(EEPSTTTTrf   zaten::flattenc                r   t          j        |          }|dk    r|S |dk    r*|dk    s|!||dz
  k    r|                     d||          S n2|dk    r,|dk    s|$||dz
  k    r|                     d||dz             S |t          j        dd	          S |dk     r||z   }t          j        | ||||          S )
Nr   r   Flattenr   r   rV  r   zfONNX and PyTorch use different strategies to split the input. Input rank must be known at export time.)r	   rp   r`   r   _flatten_helper)rL   r}   	start_dimend_dimr   s        re   r    r      s     
*5
1
1C
axxA~~b==S_C!G1C1C44	54;;;	ab==S_C!G1C1C44	514===
{-7
 
 	
 {{-*1eYMMMrf   zaten::linalg_vector_normr   Sequence[int] | Nonekeepdimboolc                4    t          j        | |||||          S r   )r	   _linalg_vector_norm_helper)rL   rN   ordr   r   rV   s         re   r+   r+     s      5asCRWXXXrf   zaten::embedding_bagc
                <    t          j        | |||||||||	
  
        S r   )r	   _embedding_bag_helper)
rL   embedding_matrixr#  offsetsscale_grad_by_freqr   sparseper_sample_weightsinclude_last_offsetpadding_idxs
             re   r   r     s7     0	  rf   zaten::embedding_renormc           
        |                      d|          }|                      d||          }t          |          }|dk    rd}n"|dk    rd}nt          j        d| d|          |                      ||dgd	          }|                      d
||                      dt	          j        d                              }	t	          j        |          }|                      d||	          }
|                      d||
          }|                      d|                      d||          ||          }|                      d|t          j        | |dg          |          S )Nr  r   r   ReduceL1rV  ReduceL2z8Unsupported: ONNX export of embedding_renorm with norm: z. Only 1. and 2. are supported.)axes_irR  rC  rT   gHz>rW   r  r6  WhereGreaterr   )r`   r   r   r   ra   rb   r	   r   )rL   weightr#  max_norm	norm_typeunique_indicespartial_weightnorm_ipartial_weight_normpartial_weight_norm_scalespartial_weight_renorms               re   r   r     s    TT(G,,NTT(FN;;N^^F{{			1		',v , , ,
 
 	

 $$y.!QR$SS 44"ADDU\$=O=OD$P$P  |H%%HTT%#788FDD??DD	Y+X66	  44)!^aSAA	  rf   zaten::chunkc                   |                      d|                      d|          |d          }|                      d||                      dt          j        dgt          j                  	                    }|                      d
|                      d||          |          }t	          j        | ||d           |                      d||                      d||                    g} | j         dg|R ddi}t          | |||          S )Nr   r   r   r   rU  rT   r   rU   rW   r  rC  r6  r   r   )r`   ra   rb   rF  rv   r   r@   )rL   rN   chunksr   r  chunk_size_s
chunk_size	chunk_vecs           re   r   r     s    ttHadd7D113qtAAH44vqttJaS
0S0S0StTT L eQTT%<@@&IIJ 	a\488	UHadd5*lCCDDI X4	444!44ID)S)))rf   zaten::normalc	                    |+t          j        |          st          j        | ||d           }t          j        | ||                     d|                    }	t          | |	|          S )NRandomNormalLike)r	   rl   rv   r   r;  r`   r   )
rL   meanstdsizes	generatorrV   layoutdevice
pin_memoryr   s
             re   r1   r1     sc    " !9%!@!@}QeT22Z3%7 > >??Fq&$rf   zaten::atleast_1dtorch._C.Valuec                6   t          j        |          rt          j        |          rt          j        |          }g }|D ]q}|}t          j        |          }|dk    r>t          j        | ||                     dt          j        dg                              }|	                    |           r | j        dg|R  S t          j        |          }|dk    r>t          j        | ||                     dt          j        dg                              }|S )Nr   rT   r   rW   SequenceConstruct)
r	   r   r   r   rp   r   r`   ra   rb   r   rL   rN   r  new_tensor_listrb   
new_tensortensor_ranks          re   r   r     s-   
  && ;?+J4+P+P ;%2488! 	/ 	/FJ):6BBKa,<z144
EL!<M<M4#N#N 
 "":....qt':/::::!2488Ka.tQTT*elA3.?.?T@@
 
 Krf   zaten::atleast_2dc                   t          j        |          rt          j        |          rt          j        |          }g }|D ]}|}t          j        |          }|dk    r@t          j        | ||                     dt          j        ddg                              }n|dk    rt          j	        | |dg          }|
                    |            | j        dg|R  S t          j        |          }|dk    r@t          j        | ||                     dt          j        ddg                              }n|dk    rt          j	        | |dg          }|S )Nr   rT   r   rW   r  r.  r	   r   r   r   rp   r   r`   ra   rb   r   r   r/  s          re   r   r   6  s     && ;?+J4+P+P ;%2488! 	/ 	/FJ):6BBKa,<z144
EL!Q<P<P4#Q#Q 

 !!,>z1#  
 "":....qt':/::::!2488Ka.tQTT*elAq6.B.BTCC
 
 
		0D!EEEKrf   zaten::atleast_3dc                   t          j        |          rt          j        |          rt          j        |          }g }|D ]}|}t          j        |          }|dk    r@t          j        | ||                     dt          j        g d                              }nU|dk    r1t          j	        | |dg          }t          j	        | |dg          }n|dk    rt          j	        | |dg          }|
                    |            | j        d	g|R  S t          j        |          }|dk    r@t          j        | ||                     dt          j        g d                              }nU|dk    r1t          j	        | |dg          }t          j	        | |dg          }n|dk    rt          j	        | |dg          }|S )
Nr   rT   )r   r   r   rW   r   r4  r   rV  r.  r5  r/  s          re   r   r   W  s     && ;?+J4+P+P ;%2488! 	/ 	/FJ):6BBKa,<z144
EL<S<S4#T#T 

 !!,>z1#  
 ->z2$  

 !!,>z2$  
 "":....qt':/::::!2488Ka.tQTT*el999.E.ETFF
 
 
		0D!EEE0D"FFF			0D"FFFKrf   zprim::ConstantChunkc           
        |                      d|          }|                      dt          j        |gt          j                            }|                      d||d          }|                      dt          j        dgt          j                            }|                      dt          j        |gt          j                            }|                      dt          j        |dz
  gt          j                            }	|                      d	||	          }
|                      d
|
|          }g }t	          |          D ]}|                      dt          j        |dz   gt          j                            }|                      d||          }|                    |                      d||||                     |}|S )Nr   rT   rU   rW   r   r   r   r   rC  r  r6  rD  )r`   ra   rb   rF  r   r   )rL   rN   r  r   input_shaperM  input_shape_dimrL  r!  chunk_size_minus_1input_shape_dim_shift	chunk_dimrN  r~   r&   rO  s                   re   r5   r5     s   $$w%%K44
EL#ej$I$I$I4JJDdd8[$qdAAODDU\1#UZ%H%H%HDIIEj%,xuz*R*R*RSSJEL&1*UZHHH    DD9KLLU1:>>I
C6]]  Zq1ugUZ)P)P)PQQdd5)U++

144uc488999Jrf   zaten::hstackr  c                   t          | |          }|                     d||                     dt          j        dt          j                                      }|                     d|          }|                     d|          }|                     dt          j        dt          j                            }|                     d	||          }t          j        | d
|dd          \  }\  }}	}
|                    d|dd          }t          j        |j	        |           |	                    d|dd          }t          j        |	j	        |           |
                                                                }|S )Nr   rT   r   rU   rW   r   rT  r   r  r  rV  )r  r  r  r  )r   r`   ra   rb   rF  r   r  r   r  r  r   r  )rL   r  first_tensorfirst_tensor_shapefirst_tensor_dimr  equal_to_oneif_op_greaterif_context_equalelse_context_equalr3  	result_ifresult_elser   s                 re   r#   r#     s   Q,,K44	Zauz!B!B!BCC L
 g|44ttF$677Zauz)J)J)JKKI44!19==L 	$QlQPQRRR	.	-	 ##k! $  I 
/5yAAA$''k! (  K 
17EEE!!((**FMrf   zaten::vstackc                T    t          | |          }|                     d|dd          S )Nr  r   r  )r   r`   )rL   r  s     re   rG   rG     s,    Q,,K44$k!4JJJrf   )rL   rM   rN   rO   rP   rQ   rR   rQ   )rL   rM   )F)r   r   r   r   r   r   r   rB  )r   N)
rL   rM   r}   rO   r2   rO   r   rO   rm  rO   )rL   rM   r   r  r   r  )NNNNNN)rL   rM   rN   r,  )rL   rM   r  rO   )f__doc__
__future__r   	functoolsr   r  typingr   ra   r   torch._Cr   r]  
torch.onnxr   r   r	   r
   r`  r   rv   r   torch.onnx._internalr   r   __all__partialonnx_symbolic_onnx_symbolicquantized_args
parse_argsr"   r   r   r   r7   r<   r(   r3   _apply_paramsr   r   r!   r;   r   r.   r-   r   r   r  r   r   r)   r4   r   r   rB   r&  rE   rC   r>   r   r:   r8   r@   r?   rD   rf  r   r6   r9   r2   r*   r,   r   r  r=   rA   rF   r/   r&   r%   r'   r  r  r  r  r  r$   r0   r    r+   r   r   r   r1   r   r   r   r5   r#   rG    rf   re   <module>rW     s   / . " " " " " "     



               % % % % % %                9 8 8 8 8 8 8 8: : :x #"<#=RHHH  !!%%Cc**   +* &% "!" > > > >D !""C%%

 

 

 &% #"

 !""C%%

 

 

 &% #"

 - - - - %%Cc**3 3 3 +* &%  3 !""LQx x x x #"xv %&&C%%P P P &% '&P +o+,@!YOOP   +o+,@!YOOP   +o+,@!YOOP   +o+,?HMMN   +o+,A1hOOP    +o+,BAxPPQ   +o+,@!WMMN  L L L	 	 	 	 	 	 	 8L %&&eUE5%OO   PO '& Cc3//; ; ; ; 0/  ;   Cc3//
 
 
 0/ ! 
& Cf--
 
 
 
 .-  
 %&&) ) ) '&)
 &''2 2 2 ('2  9 9 9 9 "### # # $## !""5 5 5 #"5
 0 0 0  0 - - - - -  5 5 5  5 3 3 3 3 3 3 3  3 %%C C C &% C Q Q Q Q  !!Cc3//& & & 0/ "!& "##Cc344& & & 54 $#& Cc3V<<    =<  Cc622T T T T 32 T   Cc622    32 !  C%%	 	 	 	 &% 	 !""/ / / #"/ Cc3//!I !I !I !I 0/ !IH ())Cc3//6 6 6 6 0/ *)6 Cc**
5 
5 
5 
5 +*  
56 6 6 6r '((7 7 7 7 )(7 ())())())5 5 5 *) *) *)5 )**)**)**5 5 5 +* +* +*5 T T T T( "##   $# / / /  / D
 D
 D
  D
N #$$C%%0 0 0 &% %$0 e<<<6 6 6 6 =< 6   /; /; /; /; ! /;d !""= = = #"= 
> > > > ( ( ( (& "##A A A $#A "##9 9 9 $#9 +,,!""   #" -,@ *++!""   #" ,+@( ( ( (V# # # #     CtT4880D 0D 0D 98  0Df U U U  U
   eU33Cc**N N N +* 43 ! N0 *++CdC55Y Y Y 65 ,+Y %&&Cc3S#sCHH   IH '&4 ())Cc3//" " " 0/ *)"J * * * *  
 
          , "##   $#2 "##   $#@ "##( ( ( $#(V %&&   '&(     > K K K  K K Krf   