U
    d,                     @   s2  U d dl mZmZmZmZmZmZmZ d dlZee	e
f Zd dlZee	 ee	 dddZee	 ee	 ee	 dddZee	 eee	 dd	d
Zee	 ee	 dddZee	 dddZee	 dddZee	 ee	 dddZee	 ee	 dddZee	 ee	 edddZee	 e	ee	 dddZee	 ddd Zee	 ee	 dd!d"Zd#d$ee	 ee	 ed%d&d'Zee	 ee	 eed(d)d*Zee	 e	ed+d,d-Ze	e	d.d/d0Ze	e	e	e	e	e	ed1d2d3Ze	e	e	e	e	ed4d5d6Zee	 e	e	e	e	e	e	e	e	e	e	e	e	e	d7d8d9Z ee	 ee	 ee	 ee	 ee	 ed:d;d<Z!ee	 ee	 ee	 ee	 ee	 ed:d=d>Z"ee	 eee	  eee
  d?d@dAZ#ee	 ee	 dBdCdDZ$ee	 ee	 dEdFdGZ%ee	 ee	 dHdIdJZ&ee	 e	dKdLdMZ'ee	 dNdOdPZ(ee	 e	dKdQdRZ)ee	 e	ee	 dSdTdUZ*dee	 ee	 e	eedWdXdYZ+dZd[ Z,ee	 e	ee	 ee	 e	d\d]d^Z-eee	  d_d`daZ.e	eee	  dbdcddZ/ee	 dedfdgZ0ee	 ee	 e	e	dhdidjZ1eee	  e	dkdldmZ2ee	 e	e	dSdndoZ3ee	 ee	 dpdqdrZ4ee	 ddsdtZ5ee	 e	e	dudvdwZ6ee	 ee	 eee	  dxdydzZ7ee	 ee	 ee	 eed{d|d}Z8ee	 ed~ddZ9ee	 ee	 eee	  ee	 ee	 ee	 e	dddZ:ee	 ee	 eee	  ee	 ee	 ee	 e	dddZ;ee	 ee	 eee	  ee	 ee	 ee	 e	dddZ<ee	 ee	 eee	  ee	 ee	 ee	 e	dddZ=ee	 eee	  eee	  eee	  eee	  ee
e
ed	ddZ>ee	 ee	 eee	  ee	 ee	 ee	 e	dddZ?de	e	edddZ@edddZAee	 dNddZBeeeeedddZCeeeeeedddZDeeeeeeedddZEee	 ee	 dddZFee	 e	e	dddZGee	 dddZHee	 dddZIee	 e	edddZJdee	 ee	 eee	 dddZKee	 ee	 ee	 dddZLee	 ee	 dddZMdee	 e	e	eee	 ee	 f dddZNee	 ee	 eee	  e	eee	 ee	 f dddZOee	 ee	 eee	 ee	 ee	 f dddZPee	 eee	  eee	  eee	  eee	  eeee	 ee	 ee	 f dddĄZQejRjSZTi aUeeVeTf eWd< i ZXeeVeeTeTf f eWd< i ZYeeeTf eWd< edȜddʄZZeVed˜dd̈́Z[eVeedΜddЄZ\e[de e[de e[de e[de e[deA e[deA e[de e[de e[deC e[deD e[deE e[de( e[de) e[de' e[de- e[de3 e[de* e[de e[de e[de e[de e[de+ e[de$ e[de% e[de& e[de4 e[de7 e[de! e[de" e[de5 e[de6 e[de< e[de= e[de> e[de? e[deG e[de2 e[deF e[de e[de e[de e[de e[de e[de e[deA e[deA e[de8 e[d e# e[de e[de e[de e[de e[deK e[deL e[deM e[deN e[d	eO e[d
eP e[deQ e[de e[de e[de e\deHeI dS (      )ListAnyOptionalUnionDictCallableTupleN)abc                 C   s   t | }t |}t||}g }t|D ]}|d | }|d | }|d | }	|dkr^| | nd}
|	dkrr||	 nd}|
|kr|
dkr|dkrtd|
||||
dkr|n|
 q&|S )N   r   ZThe size of tensor a {} must match the size of tensor b ({}) at non-singleton dimension {})lenmaxrangeAssertionErrorformatappend)r	   r
   dimsAdimsBndimZexpandedSizesioffsetdimAdimBsizeAsizeB r   >/tmp/pip-unpacked-wheel-ua33x9lu/torch/jit/_shape_functions.py	broadcast   s(    
  r   r	   r
   cc                 C   s   t t | ||S Nr   r   r   r   r   broadcast_three(   s    r#   c                 C   s
   t | |S r!   r"   r   r   r   r   broadcast_one_three+   s    r$   )selfoutc                 C   s   t |dkstt | dks,t | dks,ttdt | D ]}| | dks:tq:g }tdt | d D ]}|| |  qf|D ]}|| q~|S )N         r   r   )r   r   r   r   )r%   r&   r   shapeelemr   r   r   adaptive_avg_pool2d.   s    r,   r%   c                 C   s   g }| D ]}| | q|S r!   r   )r%   r&   r+   r   r   r   _copy<   s    r/   c                 C   s   t | S r!   r/   r-   r   r   r   unaryC   s    r1   c                 C   s   t | }t |}||kr(td||t|D ]N}|| | }| | }|dkrX|| nd}||kr0|dkr0td|||q0t| S )NzQThe dims of tensor b ({}) must be less than or equal tothe dims of tensor a ({}) r   r   r   )r   r   r   r   r/   )r	   r
   r   r   r   r   r   r   r   r   r   broadcast_inplaceG   s,       r2   r%   sizesc           
      C   s   t |t | kstt |}t | }|dkr4t|S g }t|D ]r}|d | }|d | }|dkrl| | nd}|| }	|	dkr|dkst|}	||	kr|dkst|	}|| q@|S )Nr   r   )r   r   r/   r   r   )
r%   r4   r   Z
tensor_dimr&   r   r   dimsizeZ
targetSizer   r   r   expand\   s&    r8   r%   r4   inp0c                 C   s
   t | |S r!   )r8   r9   r   r   r   expand_one_unusedr   s    r;   )r*   numelreturnc                 C   s   d}d }t t| D ]H}| | dkr:|d k	r4td|}q| | dkrT|| | 9 }qtdq||ks|d k	r|dkr|| dkstdt| }|d k	r|| ||< |S )Nr   r5   z"only one dimension can be inferredr   zinvalid shape dimensionszinvalid shape)r   r   r   r/   )r*   r<   ZnewsizeZ	infer_dimr6   r&   r   r   r   infer_size_implv   s.    

r>   )r4   c                 C   s   d}| D ]}||9 }q|S Nr   r   )r4   r<   r+   r   r   r   r<      s    
r<   c                 C   s   t |t| S r!   )r>   r<   r3   r   r   r   view   s    r@   F)implicitr%   r4   rA   c                C   s
   t | |S r!   )r@   rB   r   r   r   view_one_unused   s    rC   )r%   dimskeep_dimdtc                 C   s`   g }t t| D ]J}d}|D ]}|t|t| krd}q|rL|rZ|d q|| |  q|S )NFTr   )r   r   maybe_wrap_dimr   )r%   rD   rE   rF   r&   idxZis_mean_dimZ
reduce_dimr   r   r   mean_dim   s    rI   )r%   r6   rE   c                 C   s   t | |g|d }||fS r!   )rI   )r%   r6   rE   r&   r   r   r   max_dim   s    rJ   xyc                 C   s   | | S r!   r   rK   r   r   r   div_rtn   s    rN   )	inputSize
kernelSizepad_lpad_rstridedilation	ceil_modec                 C   sZ   t | | | ||d   d |r(|d nd |d }|rV|d | | | krV|d }|S Nr   r   )rN   )rO   rP   rQ   rR   rS   rT   rU   Z
outputSizer   r   r   pooling_output_shape_pad_lr   s*    

	rW   rO   rP   rQ   rS   rT   rU   c                 C   s$   |dkst dt| ||||||S )Nr   zstride should not be zeero)r   rW   rX   r   r   r   pooling_output_shape   s          rY   )inputkHkWdHdWpadHpadW	dilationH	dilationWnInputPlaneinputHeight
inputWidthoutputHeightoutputWidthc                 C   s   t | }|	}|dkr|dks t|dkr0|dks4t|dkrD|dksHt| d dko^| d dk}|dkrx| d dkrx|s|dkr|r| d dkst|d |kr|d |kst|dkr|dkstd S )Nr   r   r'   r(   r)   r   r   )rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   r   ZnOutputPlaneZ
valid_dimsr   r   r   pool2d_shape_check   s(    

ri   )rZ   kernel_sizerS   paddingrT   rU   c                 C   s  t |dks t |dks td|d }t |dkr8|n|d }t |dkslt |dkslt |dksltdt |dkr||n|d }t |dkr|}	nt |dkr|}	n|d }	t |dkst |dkstd|d }
t |dkr|
n|d }t |dkst |dkstd|d }t |dkr.|n|d }t | dksVt | d	ksVtt | d	krl| d
 nd}| d }| d }| d }t|||
|||}t||||	||}t| ||||	|
|||||||| t | dkr|||gS ||||gS d S )Nr   r'   zKmax_pool2d: kernel_size must either be a single int, or a tuple of two intsr   zOmax_pool2d: stride must either be omitted, a single int, or a tuple of two intszJmax_pool2d: padding must be either be a single int, or a tuple of two intszHmax_pool2d: dilation must be either a single int, or a tuple of two intsr(   r)   r5   )r   r   rY   ri   )rZ   rj   rS   rk   rT   rU   r[   r\   r]   r^   r_   r`   ra   rb   Znbatchrc   rd   re   rf   rg   r   r   r   
max_pool2d   s    	








 
ro   c                 C   s   t | |||||}||fS r!   )ro   )rZ   rj   rS   rk   rT   rU   r&   r   r   r   max_pool2d_with_indicesE  s    rp   )rZ   output_sizescale_factorsc                 C   s   g }| | d  | | d  |d k	rh|d ks8tdt|dksHt| |d  | |d  |S |d k	r|d kstdt|dkst| t| d |d   | t| d |d   |S dstdd S )Nr   r   z9Must specify exactly one of output_size and scale_factorsr'   r(   z5Either output_size or scale_factors must be presented)r   r   r   int)rZ   rq   rr   r&   r   r   r   upsample_nearest2dQ  s,    rt   r%   mat2c                 C   sL   t | dkstdt |dks(td| d |d ks<t| d |d gS )Nr'   zself must be a matrixzmat2 must be a matrixr   r   rh   ru   r   r   r   mmm  s    rw   )r%   tensorc                 C   s8   t | dkrt |dkst| d |d ks0tg }|S rV   rh   )r%   rx   r&   r   r   r   dotu  s    ry   r%   Zvecc                 C   s:   t | dkrt |dkst| d |d ks0t| d gS Nr'   r   r   rh   rz   r   r   r   mv|  s    r|   )lir6   c                 C   s*   t |t| d }t| }||d |S r?   )rG   r   r/   insert)r}   r6   r&   r   r   r   	unsqueeze  s    r   )r}   c                 C   s4   g }t t| D ]}| | dkr|| |  q|S r?   )r   r   r   )r}   r&   r   r   r   r   squeeze_nodim  s
    r   c                 C   sZ   g }t |t| }tt| D ]6}||krF| | dkrT|| |  q|| |  q|S r?   )rG   r   r   r   )r}   r6   r&   Zwrapped_dimr   r   r   r   squeeze  s    r   )r%   r6   indexc                 C   sz   t |t| }t|}t|dks&t|dks>|t| k s>tg }tt| D ]&}||krf|| qN|| |  qN|S rV   )rG   r   multiply_integersr   r   r   )r%   r6   r   r<   result_sizer   r   r   r   index_select  s    r   r5   )weightindicespadding_idxscale_grad_by_freqsparsec                 C   sB   t | dkstt |dkr(t| d|S t|}|| d  |S r{   )r   r   r   r/   r   )r   r   r   r   r   r7   r   r   r   	embedding  s    r   c                   C   s   dS )Nl    r   r   r   r   r   max_int  s    r   )r%   r6   startendstepc           
      C   s   t | }|dkstt||}|d k	r*|nd}|d k	r:|nt }|dksLt|t krZd}|dk rn|| | 7 }|dk r|| | 7 }|dk rd}n|| | kr| | }||k r|}n|| | kr| | }|| }t| }	|| d | |	|< |	S Nr   r   )r   r   rG   r   r/   )
r%   r6   r   r   r   r   Z	start_valZend_valZ	slice_lenr&   r   r   r   slice  s0    

r   )tensorsc                 C   s   | D ]}t |dkstqd S Nr   rh   )r   rx   r   r   r   check_cat_no_zero_dim  s    r   )r6   tensor_sizesc                 C   sL   d }|D ]2}t |dkr$|d dks|d krt| t |}q|d krH| }|S rV   )r   rG   )r6   r   Zout_dimr7   r   r   r   legacy_cat_wrap_dim  s    r   rx   c                 C   s   t | dkot| dkS r   r<   r   r   r   r   r   should_skip  s    r   )firstsecond	dimensionr   c                 C   sT   t | }t |}||ks tdtd|D ]$}||kr*| | || ks*tdq*d S )Nz+Tensors must have same number of dimensionsr   z/Sizes of tensors must match except in dimension)r   r   r   )r   r   r   r   Z
first_dimsZsecond_dimsr6   r   r   r   check_cat_shape_except_dim  s    r   )r   r6   c                 C   s   t |  t|| }t| dks"td }| D ]}t|s*|}q*|d krJdgS d}tt| D ].}| | }t|sZt|||| |||  }qZt|}|||< |S r   )r   r   r   r   r   r   r   r/   )r   r6   Znot_skipped_tensorrx   Zcat_dim_sizer   r   r   r   r   cat  s$    
r   c                 C   sx   t | }|dkstt||}| | }|| k s8||kr<t|dk rL||7 }g }t|D ]}||krX|| |  qX|S r   )r   r   rG   r   r   )r%   r6   r   r   r7   r&   r   r   r   r   select  s    
r   )tensor1tensor2c                 C   sf  t | }t |}|dkr*|dkr*t| |S |dkrD|dkrDt| |S |dkrj|dkrjttt| d|dS |dkr|dkrt| |S |dkrT|dkrT|dkr| d nd}| d }g }t|d D ]}|| |  q|dkr|d nd}|d }	g }
t|d D ]}|
||  qt||
}|}|dkr<|| |dkrP||	 |S dsbt	dd S )Nr   r'   r   rn   r5   Fz0both  arguments to matmul need to be at least 1D)
r   ry   r|   r   rw   r   r   r   r   r   )r   r   Zdim_tensor1Zdim_tensor2nm1Zbatch_tensor1r   m2pZbatch_tensor2Zexpand_batch_portionZoutput_shaper   r   r   matmul#  s:    







r   c                 C   sN   t | dkstt | }|dkr(g }|S |dkr:| d gS | d | d gS d S )Nr'   r   r   rh   )r%   Zself_lenr&   r   r   r   tN  s    
r   )r%   dim0dim1c                 C   s   t | }t||}t||}||kr,t| S g }t|D ]B}||krT|| |  q8||krl|| |  q8|| |  q8|S r!   )r   rG   r/   r   r   )r%   r   r   Zndimsr&   r   r   r   r   	transposeZ  s    

r   )rZ   r   biasc                 C   s,   t | t|}|d k	r(t|||ks(t|S r!   )r   r   r   r   )rZ   r   r   r&   r   r   r   lineark  s    r   r%   Zmat1rv   betaalphac                 C   s   t | t||S r!   )r   rw   r   r   r   r   addmmr  s    r   )arrayr=   c                 C   s   d}| D ]}|dk rd}q|S )NFr   Tr   )r   Znon_negativevalr   r   r   check_non_negativev  s
    r   )rZ   weight_sizesr   rS   rk   rT   groupsc           
      C   s   t | }t |}t|rtt|r(t||ks4t|d |ksDt|d | dksXt| d |d | kspt|d kst |dkr|d |d ksttd|D ]<}	| |	 d||	d    ||	d  ||	 d  d kstqd S )Nr   r   r'   )r   r   r   r   )
rZ   r   r   rS   rk   rT   r   kZ
weight_dimr   r   r   r   check_shape_forward  s    	(r   )
input_sizeweight_sizer   rS   rk   rT   r   c                 C   s   t | |||||| t|dk}t| }g }	d}
d}|	| |
  |	||  td|D ]^}|rn||d  nd}||| d  d }|	| | d||d    | ||d   d  qZ|	S )Nr   r'   r   )r   r   r   r   )r   r   r   rS   rk   rT   r   Zhas_dilationr6   rq   Zinput_batch_size_dimZweight_output_channels_dimdZ	dilation_kernelr   r   r   conv_output_size  s.    	      *r   rZ   r   r   rS   rk   rT   r   c                 C   s4   t |dkstt | dks tt| ||||||S )Nr(   r   r   r   r   r   r   r   conv1d  s    	r   c                 C   s4   t |dkstt | dks tt| ||||||S )Nr)   r   r   r   r   r   conv2d  s    	r   )	rZ   r   r   running_meanrunning_vartrainingmomentumepscudnn_enabledc	                 C   s   g }	| D ]}
|	 |
 q|	S r!   r.   )rZ   r   r   r   r   r   r   r   r   r&   r+   r   r   r   
batch_norm  s    r   c                 C   s4   t |dkstt | dks tt| ||||||S )N   r   r   r   r   r   conv3d  s    	r   T)r6   dim_post_exprwrap_scalarc                 C   sJ   |dkr|st d}| }|d }| |k s2| |kr6t | dk rF| |7 } | S r   )r   )r6   r   r   minr   r   r   r   rG     s    rG   rZ   c                 C   s   g }|S r!   r   )rZ   r&   r   r   r   zero_dim_tensor  s    r   c                 C   s   d}| D ]}|| }q|S r?   r   )r}   r&   r+   r   r   r   r     s    
r   r   r:   inp1inp2inp3c                 C   s   | dkst tt| gS r   r   rs   mathceilr   r   r   r   
arange_end  s    r   r   r   r:   r   r   r   c                 C   s,   |dkst || kst tt||  gS r   r   r   r   r   r   arange_start  s    r   r   r   r   r:   r   r   r   c                 C   sF   |dkst |dk r"| |ks.t n|| ks.t tt||  | gS r   r   r   r   r   r   arange_start_step  s
    r   )rZ   rD   c                 C   s   t | t |kstt |}g }g }t|D ]*}t|| |}|| || |  q,td|D ]&}t|D ]}|| || ksntqnqb|S r?   )r   r   r   rG   r   )rZ   rD   r   Z	seen_dimsZnewSizesr   r6   jr   r   r   permute'  s    
r   )rZ   	start_dimend_dimc                 C   s   t |t| }t |t| }||ks(tt| dkr:dgS ||kr^g }| D ]}|| qJ|S d}t||d D ]}|| | 9 }qpg }t|D ]}|| |  q|| t|d t| D ]}|| |  q|S r   )rG   r   r   r   r   )rZ   r   r   r&   r+   Zslice_numelr   r*   r   r   r   flatten6  s(    
r   c                 C   s   dt | gS r   r   r   r   r   r   nonzero_lower_boundO  s    r   c                 C   s   t | t| gS r!   r   r   r   r   r   nonzero_upper_boundR  s    r   r%   r6   keepdimc                 C   sJ   t |t| }g }t| D ]*\}}||kr:|rD|d q|| q|S r?   )rG   r   	enumerater   )r%   r6   r   r&   r   self_dimr   r   r   _reduce_along_dimU  s    r   )r%   r6   r   r=   c                 C   s   |d krg S t | ||S r!   )r   r   r   r   r   argmax`  s    r   )r%   rv   r=   c                 C   sn   t | dkstdt |dks(td| d |d ks@td| d |d ksXtd| d | d |d gS )Nr(   zbmm only supports 3D tensorsr   zmismatching batch dimensionr'   r   z!mismatching contracting dimensionrh   ru   r   r   r   bmme  s
    r   )r%   r=   c                 C   s
   t | gS r!   r   r-   r   r   r   _shape_as_tensorl  s    r   )r%   r   r6   r=   c                 C   sT   t | dkrg }n:|| | ks<td| d| d| |  t| }|||< ||fS )Nr   zk (z) is too big for dimension z	 of size )r   r   r/   )r%   r   r6   resultr   r   r   topko  s    *r   )r%   targetr   	reductionr=   c           
      C   s   t | }t |}d|  k r$dks*n t|dks6t|dkoD|dk}|s^| d |d ks^t| d }g }|d kst |dkr|d |kst|dkr|dkr| d g}	n|}	|	|fS )Nr   r'   r   r5   rh   )
r%   r   r   r   r   Z
target_dimZno_batch_dimZ	n_classesZscalar_shapereduction_shaper   r   r   nll_loss_forwardx  s    $r   )rZ   normalized_shaper=   c                 C   sh   g }t | t | }|dks tt|D ]}|| |  q(t|t | D ]}|d qJt| ||fS r   )r   r   r   r   r/   )rZ   r   r   Znum_unreduced_dimensionsr   r   r   r   native_layer_norm  s    r   )rZ   r   r   r   r   r   r=   c                 C   s$   |r| d g}ndg}t | ||fS rV   r0   )rZ   r   r   r   r   r   _sizer   r   r   native_batch_norm  s    r   shape_compute_graph_mappingbounded_compute_graph_mappingscript_func_map)funcc                 C   s\   | t krTtj| }tj|j tdD ] }tj|j tj	|j q*|t | < t |  S )Nr'   )
r   torchZjitscript_CZ_jit_pass_inlinegraphr   Z_jit_pass_peepholeZ_jit_pass_constant_propagation)r   Zscripted_func_r   r   r   process_func  s    r   operator_schemar   c                 C   s   t |t| < d S r!   )r   r   r   r   r   r   add_shape_compute_mapping  s    r  )r   lower_bound_funcupper_bound_funcc                 C   s   t |t |f}|t| < d S r!   )r   r   )r   r  r  fnsr   r   r   add_bounded_compute_mapping  s    r  z^aten::contiguous(Tensor(a) self, *, MemoryFormat memory_format=contiguous_format) -> Tensor(a)zFaten::rsub.Tensor(Tensor self, Scalar other, Scalar alpha=1) -> Tensorz:aten::dropout(Tensor input, float p, bool train) -> TensorzDaten::adaptive_avg_pool2d(Tensor self, int[2] output_size) -> Tensorz,prim::NumToTensor.Scalar(Scalar a) -> Tensorz(prim::NumToTensor.bool(bool a) -> Tensorzuaten::zeros(int[] size, *, int? dtype=None, int? layout=None, Device? device=None, bool? pin_memory=None) -> (Tensor)z{aten::to.dtype(Tensor(a) self, int dtype, bool non_blocking=False, bool copy=False, int? memory_format=None) -> (Tensor(a))zvaten::arange(Scalar end, *, int? dtype=None, int? layout=None, Device? device=None, bool? pin_memory=None) -> (Tensor)zaten::arange.start(Scalar start, Scalar end, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensorzaten::arange.start_step(Scalar start, Scalar end, Scalar step, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensorz*aten::squeeze(Tensor(a) self) -> Tensor(a)z7aten::squeeze.dim(Tensor(a) self, int dim) -> Tensor(a)z5aten::unsqueeze(Tensor(a) self, int dim) -> Tensor(a)zfaten::slice.Tensor(Tensor(a) self, int dim=0, int? start=None, int? end=None, int step=1) -> Tensor(a)zAaten::select.int(Tensor(a) self, int dim, int index) -> Tensor(a)z@aten::index_select(Tensor self, int dim, Tensor index) -> Tensorzaten::layer_norm(Tensor input, int[] normalized_shape, Tensor? weight=None, Tensor? bias=None, float eps=1e-05, bool cudnn_enable=True) -> TensorzIaten::softmax.int(Tensor self, int dim, ScalarType? dtype=None) -> Tensorzhaten::_no_grad_embedding_renorm_(Tensor weight, Tensor input, float max_norm, float norm_type) -> Tensorzgaten::embedding_renorm_(Tensor(a!) self, Tensor indices, float max_norm, float norm_type) -> Tensor(a!)z~aten::embedding(Tensor weight, Tensor indices, int padding_idx=-1, bool scale_grad_by_freq=False, bool sparse=False) -> Tensorz,aten::mm(Tensor self, Tensor mat2) -> Tensorz/aten::dot(Tensor self, Tensor tensor) -> Tensorz+aten::mv(Tensor self, Tensor vec) -> Tensorz1aten::matmul(Tensor self, Tensor other) -> TensorzFaten::linear(Tensor input, Tensor weight, Tensor? bias=None) -> Tensorzaten::max_pool2d(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> Tensorzaten::max_pool2d_with_indices(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> (Tensor, Tensor)z$aten::t(Tensor(a) self) -> Tensor(a)zDaten::transpose.int(Tensor(a) self, int dim0, int dim1) -> Tensor(a)zaten::conv1d(Tensor input, Tensor weight, Tensor? bias=None, int[1] stride=1, int[1] padding=0, int[1] dilation=1, int groups=1) -> Tensorzaten::conv2d(Tensor input, Tensor weight, Tensor? bias=None, int[2] stride=1, int[2] padding=0, int[2] dilation=1, int groups=1) -> Tensorzaten::batch_norm(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps, bool cudnn_enabled) -> Tensorzaten::conv3d(Tensor input, Tensor weight, Tensor? bias=None, int[3] stride=1, int[3] padding=0, int[3] dilation=1, int groups=1) -> TensorzVaten::flatten.using_ints(Tensor(a) self, int start_dim=0, int end_dim=-1) -> Tensor(a)z0aten::cat(Tensor[] tensors, int dim=0) -> Tensorz6aten::permute(Tensor(a) self, int[] dims) -> Tensor(a)z3aten::view(Tensor(a) self, int[] size) -> Tensor(a)z:aten::expand_as(Tensor(a) self, Tensor other) -> Tensor(a)zMaten::expand(Tensor(a) self, int[] size, *, bool implicit=False) -> Tensor(a)z`aten::mean.dim(Tensor self, int[1] dim, bool keepdim=False, *, ScalarType? dtype=None) -> Tensorzgaten::sum.dim_IntList(Tensor self, int[1] dim, bool keepdim=False, *, ScalarType? dtype=None) -> TensorzZaten::max.dim(Tensor self, int dim, bool keepdim=False) -> (Tensor values, Tensor indices)z<aten::mean(Tensor self, *, ScalarType? dtype=None) -> Tensorz;aten::sum(Tensor self, *, ScalarType? dtype=None) -> Tensorz^aten::addmm(Tensor self, Tensor mat1, Tensor mat2, *, Scalar beta=1, Scalar alpha=1) -> Tensorzbaten::upsample_nearest2d.vec(Tensor input, int[]? output_size, float[]? scale_factors) -> (Tensor)z_aten::quantize_per_tensor(Tensor self, float scale, int zero_point, ScalarType dtype) -> Tensorzraten::quantize_per_tensor.tensor_qparams(Tensor self, Tensor scale, Tensor zero_point, ScalarType dtype) -> Tensorz'aten::dequantize(Tensor self) -> TensorzNquantized::add(Tensor qa, Tensor qb, float scale, int zero_point) -> Tensor qczFaten::argmax(Tensor self, int? dim=None, bool keepdim=False) -> Tensorz-aten::bmm(Tensor self, Tensor mat2) -> Tensorz-aten::_shape_as_tensor(Tensor self) -> Tensorzraten::topk(Tensor self, int k, int dim=-1, bool largest=True, bool sorted=True) -> (Tensor values, Tensor indices)zaten::nll_loss_forward(Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index) -> (Tensor output, Tensor total_weight)zaten::native_layer_norm(Tensor input, int[] normalized_shape, Tensor? weight, Tensor? bias, float eps) -> (Tensor, Tensor, Tensor)zaten::native_batch_norm(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps) -> (Tensor, Tensor, Tensor)zCaten::lerp.Tensor(Tensor self, Tensor end, Tensor weight) -> TensorzMaten::where.ScalarSelf(Tensor condition, Scalar self, Tensor other) -> TensorzQaten::add_.Tensor(Tensor(a!) self, Tensor other, *, Scalar alpha=1) -> Tensor(a!)z&aten::nonzero(Tensor self) -> (Tensor))r5   FF)T)NF)r5   )]typingr   r   r   r   r   r   r   r   rs   floatnumberr   r   r#   r$   r,   r/   r1   r2   r8   r;   r>   r<   r@   boolrC   rI   rJ   rN   rW   rY   ri   ro   rp   rt   rw   ry   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rG   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ZScriptFunctionZScriptFnr   str__annotations__r   r   r   r  r  r   r   r   r   <module>   s
   $
 $G

         +""

 







     	      $,	60
T













































