o
    h                     @   s  U d dl Z d dlZd dlZd dlmZ d dlmZ d dlZd dlm	  m
Z
 d dlmZmZmZmZmZ daeeeef  ed< eejjejjejjejjejjejjfZg edfedfedfed	fed
fedfedfe
jdfejdfej dfej!dfej"dfej#dfej$dfej%dfej&dfej'dfej(dfej)dfej*dfej+dfej,dfej-dfej.dfej/dfej0dfej1dfej2d fej3d!fej4d"fej5d#fej6d$fej7d%fej8d&fej9d'fej:d(fej/dfej0dfej;d)fej<d*fej=d+fej>d,fej?d-fej@d.fejAd/fejBd0fe j.dfe jCd1fe j@d.fe jDd2fe jEd3fe j)dfe j*dfe j-dfe j#dfe j9d'fe j:d(fe j8d&fe j5d#fe j4d"fe j6d$fe j2d fe j1dfe j3d!fe j/dfe j;d)fe j0dfejFd4fejGd5fejHjId6fejHjJd7fejjKd8fejLjMjNd9fejLjMjOd:fejLjPjQd;fejLjPjRd<fejLjPjSd=fejLjPjTd>fejjUd?fejjVd@fejWdAfejXjYdBfejXjZdCfejXj[dDfejXj\dEfejXj]dFfejXj^dGfejXj_dHfejXj`dIfejXjadJfZbdKdL Zcec ZddMdN ZedOdP ZfdQdR ZgdSdT ZhdS )U    N)OrderedDict)Optional)_list_with_default_pair
_quadruple_single_triple_builtin_tablezaten::_pairzaten::_quadruplezaten::_singlezaten::_triplezaten::list_with_defaultz
aten::dictzaten::cudnn_is_acceptablez
aten::ceilzaten::copysignz	aten::erfz
aten::erfcz	aten::expzaten::expm1z
aten::fabszaten::floorzaten::gammazaten::lgammaz	aten::logzaten::log10zaten::log1pz	aten::powz
aten::sqrtzaten::isnanzaten::asinhzaten::atanhz
aten::coshz
aten::sinhz
aten::tanhz
aten::acosz
aten::asinz
aten::atanzaten::atan2z	aten::cosz	aten::sinz	aten::tanzaten::acoshz
aten::fmodz
aten::modfzaten::factorialzaten::frexpzaten::isinfzaten::degreeszaten::radiansaten::isfinitezaten::anglezaten::polarzaten::ldexpzaten::_assertz
aten::gradzaten::backwardzaten::_infer_sizez aten::_no_grad_embedding_renorm_zaten::_assert_int_or_pairzaten::_no_grad_fill_zaten::_no_grad_normal_zaten::_no_grad_uniform_zaten::_no_grad_zero_zaten::_get_tracing_statezaten::_get_cpu_capabilityz
aten::warnz
aten::stftzaten::istftzaten::cdistz
aten::normzaten::unique_dimzaten::unique_consecutivezaten::nuclear_normzaten::frobenius_normzaten::tensordotc                  C   s   g d} dd | D S )N)stftistftlucdistnormuniqueunique_consecutive	tensordotc                 S   s   h | ]}t tj|qS  )getattrtorch
functional).0namer   r   g/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/torch/jit/_builtins.py	<setcomp>   s    z7_gen_torch_functional_registered_ops.<locals>.<setcomp>r   )opsr   r   r   $_gen_torch_functional_registered_opsz   s   
r   c                 C   s   | t v S N)_functional_registered_opsfnr   r   r   _is_special_functional_bound_op   s   r!   c                  C   s   t d urt S i a dd } tD ]}| | qttjdf ttjdf ttjdf dd lm	  m
} | rJt|jdf t|jdf tD ]
\}}|t t|< qLt S )	Nc                 S   sf   t | D ],}t| |}t|r0t|s0|tjur0|tjur0|dkr'|dd  }t|d| f qd S )N_segment_reduce   zaten::)	dirr   callabler!   r   no_gradautocast_builtin_opsappend)modr   vr   r   r   register_all   s   


z(_get_builtin_table.<locals>.register_allz	aten::gcdr
   zaten::mathremainderr   zaten::get_gradientszaten::dist_backward)r	   _modules_containing_builtinsr(   r)   mathgcdisfinite	remaindertorch.distributed.autograddistributedautogradis_availableget_gradientsbackwardid)r,   r*   dist_autogradbuiltinaten_opr   r   r   _get_builtin_table   s    
r<   c                 C   s   |t  t| < d S r   )r<   r8   )r    opr   r   r   _register_builtin   s   r>   c                 C   s   t  t| S r   )r<   getr8   r   r   r   r   _find_builtin   s   r@   )icmathr.   warningscollectionsr   typingr   r   torch.backends.cudnnbackendscudnntorch.nn.modules.utilsr   r   r   r   r   r	   dictintstr__annotations___C_nn_fft_linalg_nested_sparse_specialr-   is_acceptableceilcopysignerferfcexpexpm1fabsfloorgammalgammaloglog10log1ppowsqrtisnanasinhatanhcoshsinhtanhacosasinatanatan2cossintanacoshfmodmodf	factorialfrexpisinfdegreesradiansr0   phaserectldexp_assertr4   gradr7   _infer_sizennr   _no_grad_embedding_renorm_assert_int_or_pairinit_no_grad_fill__no_grad_normal__no_grad_uniform__no_grad_zero__get_tracing_state_get_cpu_capabilitywarn_VFr   r   r   r   
unique_dimr   nuclear_normfrobenius_normr   r(   r   r   r!   r<   r>   r@   r   r   r   r   <module>   s  
	*	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEF
G
H
IJKLMNO
P
QR
S
T
U
V
W
X
Y
Z
[c(