U
    KcS                     @   sz  d Z ddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddgZdddd ddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dgZddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddÐdĐdŐdƐdǐdȐdɐdʐdːd̐d͐dΐdϐdАdѐdҐdӐdԐdՐd֐dאdؐdِdڐdېdܐdݐdސdߐddddddddddddddddddddddddddddddddd ddddddddd	d
dddddddddddddddgZddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGg.ZdHdI Zi Ze D ]\ZZeee< qHeD ]\ZZeee< q`dJS (K  z
From https://docs.google.com/spreadsheets/d/12R3nCOLskxPYjjiNkdqy4OdQ65eQp_htebXGODsjSeA/edit#gid=0
Try to keep this list in sync with that.
)tiTh )Ztensori: )modeif )catiB )maxi )zerosi )loadiL  )Zno_gradi& )savei )Z
from_numpyiw )Zmanual_seedi )Zonesi`X )ZrandniM )stacki )sumi )Zarangei' )Zrandiq )ZmeaniY )expi  )Z
zeros_likei )mini8 )Zsigmoidi )logi  )matmuliú  )clampi  )sqrtio  )absi  )tanhi)  )emptyiw  )Zargmaxi#  )Zbmmi  )powi#  )Znormiy  )mmiy  )Z	is_tensorijs  )Z	ones_likeiHs  )Znonzeroi	p  )fullin  )Z	unsqueezeim  )whereig  )ZrandpermiRg  )Zeyei_  )muliZ  )Ztopki	X  )Z	as_tensoriU  )sortiS  )ZsqueezeiQ  )randinti#Q  )ZlinspaceiIN  )addiK  )Z	transposeiH  )splitiG  )ZgatheriE  )Zset_grad_enabledi>  )sini5=  )cosi<  )divi<  )Zindex_selecti:  )Zmultinomiali7  )flatteni7  )isnaniZ7  )Z
randn_likei(3  )eqi1  )Zeinsumi0  )roundiO0  )flooril-  )Zallclosei*  )Zreshapeim)  )Zdiagi'  )chunkim%  )Zstdi$  )Zset_default_tensor_typeiA$  )Ztriuio!  )Zmeshgridid   )Zset_num_threadsi  )uniquei  )Z	full_likeid  )Ztrilir  )dotik  )signi  )equali  )normali^  )Zcumsumi  )disti  )isfinitei  )gti/  )Zset_printoptionsi   )rangeis  )Z
empty_likei  )Zflipi  )Zmasked_selecti  )Z	bernoullii  )atani  )vari  )prodiP  )erfi  )Zinversei  )Zaddmmi  )Z	logsumexpi  )ZfftiT  )ltiE  )log2i  )Zenable_gradi  )Z	rand_likei[  )Zargsorti  )seed\  )mvi  )Zgeri  )gei  )atan2i  )ceili  )nei  )Zbincounti  )acosi  )Zrsqrti  )Zsvdi  )Znumeli  )log1pi  )Zunbindi
  )lei
  )isinfi
  )ZcrossiV
  )Zset_default_dtypei	  )Zargmini	  )Zsparse_coo_tensori	  )log10i 	  )Zkthvaluei  )Zset_rng_statein  )Zget_rng_statei  )Zget_default_dtypeiW  )ZdetiL  )ZqriH  )Zhistci<  )Zsymeigi(  )tracei	  )Zmediani  )Zaddcmuli  )	remainderi  )Zbaddbmmi  )lgamma  )Zrepeat_interleavei>  )fmodi(  )Z
reciprocali'  )tani  )Zinitial_seedi  )Ztakei  )Zstfti  )Zget_num_threadsi  )reali  )Zcholeskyi~  )Zquantize_per_tensorip  )Z
diag_embediT  )ZlerpiS  )asiniA  )Zeigi5  )trunci
  )Zdiagonali  )coshi  )Zrffti  )Zcumprodi  )addri  )Zrolli  )Znarrowi  )Zdigammai  )Zsquarei  )sinhik  )Zlogspacei<  )Zbroadcast_tensorsi.  )Zirffti  )fraci  )Zhann_windowi  )Zsolvei  )Zlogdeti  )expm1i  )Zcdisti  )Zaddmvi  )Zrandint_likex  )Z	tensordotrN   )Zifftm  )Ztrue_divideiV  )Zerfinvi>  )Zaddcdivi3  )Zaddbmmi-  )Zrenormi  )Zpinversei  )isclosei  )erfci  )Z
is_storagei  )Ztriangular_solvei  )Zrot90i  )Zlogical_noti  )Zgeqrf  )Zslogdeti  )Zlui  )Zhamming_windowi  )Zorgqri  )Zormqrn  )Zis_floating_pointiZ  )Zdiagflati2  )Zcholesky_solvei/  )Ztril_indicesi(  )Zchain_matmuli'  )Ztriu_indicesi$  )Zanglei
  )Zpoissoni  )Zmatrix_poweri  )Zunique_consecutivei  )Zquantize_per_channeli  )Zstd_meani  )Zbartlett_windowi  )Zvar_meani  )Zlstsqi  )logical_andi  )Zmvlgammai  )Zblackman_windowi  )Zbitwise_noti  )Zcholesky_inversei  )Z
as_stridedi  )Zfloor_divideia  )Zcartesian_prodiA  )Zlu_solvei=  )Zset_flush_denormali6  )Zempty_stridedi  )logical_xor  )Z	polygammarV   )
logical_ori  )Zset_num_interop_threadsi  )combinationsi  )Ztrapzi  )Zmatrix_ranki  )Z	lu_unpack   )Zresult_type   )Zconj   )Zcummax   )Zlobpcg   )Zbitwise_xor   )Zpromote_types   )Zget_num_interop_threads   )Zcummin   )Zbitwise_and   )Z
dequantize   )Z
bitwise_or   )imagrd   )Zcan_cast   )Zistft   )Zcompiled_with_cxx11_abi   )Z
is_complex   )Z
block_diag   )Zpca_lowrank|   )absolutez   )Zsvd_lowrankl   )neg   )nn.functional.softmaxi)  )nn.functional.relui|!  )nn.functional.interpolateim  )nn.functional.padiW  )nn.functional.log_softmaxi[  )znn.functional.normalizei"	  )nn.functional.cross_entropyi#  )znn.functional.grid_samplei  )znn.functional.one_hoti  )nn.functional.mse_lossi  )nn.functional.conv2di9  )nn.functional.dropouti  )nn.functional.softplusii  )nn.functional.sigmoidih  )nn.functional.lineari  )nn.functional.gelui  )nn.functional.avg_pool2di  )nn.functional.max_pool2dil  )nn.functional.nll_lossi_  )nn.functional.embeddingi  )nn.functional.tanhi  )nn.functional.leaky_relui  )!nn.functional.adaptive_avg_pool2diy  )nn.functional.cosine_similarityis  )nn.functional.unfoldia  )nn.functional.conv1diT  ).nn.functional.binary_cross_entropy_with_logitsiO  )nn.functional.l1_lossi;  )"nn.functional.binary_cross_entropyi  )nn.functional.elui  )nn.functional.batch_norm  )znn.functional.upsampler   )nn.functional.foldi1  )znn.functional.affine_gridi*  )nn.functional.max_pool1di)  )znn.functional.torchi&  )nn.functional.thresholdi  )nn.functional.smooth_l1_lossi  )nn.functional.pairwise_distance   )nn.functional.logsigmoid   )!nn.functional.adaptive_max_pool2d   )nn.functional.relu6r_   )nn.functional.pixel_shuffle   )nn.functional.avg_pool3d   )nn.functional.bilinearr   )nn.functional.conv_transpose2d   )znn.functional.gumbel_softmax   )nn.functional.max_unpool2d   )nn.functional.kl_divrd   )nn.functional.hardtanh   )nn.functional.ctc_loss   )nn.functional.layer_norm   )nn.functional.conv3d   )nn.functional.max_unpool3d   )nn.functional.hardshrink   )nn.functional.hardswish   )nn.functional.selur   )nn.functional.glu   )z nn.functional.assert_int_or_pair   )nn.functional.hardsigmoid   )znn.functional.upsample_bilinearr   )nn.functional.max_pool3d   )!nn.functional.adaptive_avg_pool3d   )nn.functional.instance_normrk   )nn.functional.embedding_bagrm   )znn.functional.upsample_nearestn   )nn.functional.avg_pool1di   )nn.functional.preluf   )nn.functional.celu\   )nn.functional.dropout2dV   )"nn.functional.hinge_embedding_lossR   )nn.functional.softsignQ   )nn.functional.max_unpool1dJ   )nn.functional.silur   )nn.functional.softshrinkF   )znn.functional.leaky_relu_D   )nn.functional.softminC   )nn.functional.channel_shuffleB   )$nn.functional.multilabel_margin_lossr   )nn.functional.dropout3dA   )nn.functional.multi_margin_lossr   )nn.functional.lp_pool2d@   )nn.functional.conv_transpose1d>   )!nn.functional.triplet_margin_lossr   )nn.functional.tanhshrink=   )!nn.functional.adaptive_max_pool1d;   )#nn.functional.cosine_embedding_loss:   )*nn.functional.multi_head_attention_forwardr   )z%nn.functional.max_pool1d_with_indices5   )nn.functional.poisson_nll_lossr   )!nn.functional.margin_ranking_loss4   )nn.functional.soft_margin_lossr   )!nn.functional.adaptive_max_pool3d3   )nn.functional.group_normr   )!nn.functional.local_response_normr   ))nn.functional.multilabel_soft_margin_lossr   )znn.functional.relu_2   )nn.functional.alpha_dropout1   )#nn.functional.feature_alpha_dropoutr   )nn.functional.lp_pool1dr   )z.nn.functional.adaptive_max_pool1d_with_indices0   )z.nn.functional.adaptive_max_pool2d_with_indicesr   )z.nn.functional.adaptive_max_pool3d_with_indicesr   )#nn.functional.fractional_max_pool2dr   )z0nn.functional.fractional_max_pool2d_with_indicesr   )#nn.functional.fractional_max_pool3dr   )z0nn.functional.fractional_max_pool3d_with_indicesr   )z%nn.functional.max_pool2d_with_indicesr   )z%nn.functional.max_pool3d_with_indicesr   )z#nn.functional.handle_torch_function/   )z nn.functional.has_torch_functionr   )!nn.functional.adaptive_avg_pool1d+   )znn.functional.pdistr   )znn.functional.rrelu_%   )znn.functional.elu_"   )znn.functional.boolean_dispatch!   )znn.functional.hardtanh_   )/nn.functional.triplet_margin_with_distance_loss   )znn.functional.selu_   )nn.functional.pixel_unshuffle   )nn.functional.conv_transpose3d   )nn.functional.gaussian_nll_loss   )z&nn.functional.has_torch_function_unaryr  )z)nn.functional.has_torch_function_variadicr  )znn.functional.celu_   )nn.functional.huber_loss   )nn.functional.mish   )znn.functional.threshold_   )znn.functional.gradrp   )znn.functional.conv_tbc   )znn.functional.mathr  )z	nn.Modulei% N)z	nn.Lineari  r|   )znn.Sequentiali N)z	nn.Conv2diX rx   )znn.ReLUi rr   )znn.BatchNorm2di1 r   )z
nn.DropoutiD ry   )znn.ModuleListiٜ N)znn.ParameteriV N)znn.CrossEntropyLossixT rv   )znn.MaxPool2di{ r   )znn.Embeddingi r   )znn.DataParalleli. N)z
nn.MSELossi
D rw   )z
nn.Sigmoidi"( r{   )znn.LeakyReLUi`  r   )znn.BatchNorm1di^  r   )z
nn.SoftmaxiZ  rq   )znn.Tanhi5  r   )znn.AdaptiveAvgPool2di  r   )znn.AvgPool2di	  r~   )znn.ConvTranspose2di  r   )znn.LSTMiC  N)z	nn.Conv1di  r   )znn.LayerNormi  r   )z
nn.BCELossiՄ  r   )znn.Upsamplei  rs   )znn.BCEWithLogitsLossit  r   )znn.GRUiMc  N)znn.Dropout2di[  r   )znn.LogSoftmaxiqY  ru   )z	nn.L1LossiX  r   )znn.GroupNormiV  r   )z
nn.NLLLossiT  r   )z	nn.Conv3diQ  r   )znn.IdentityiE  N)znn.InstanceNorm2di*@  r   )znn.BatchNorm3di?  r   )znn.PReLUi4  r   )znn.ReLU6iN1  r   )znn.ELUi0  r   )znn.LSTMCelli*  N)z
nn.Flatteni(  torch.flatten)znn.ModuleDicti(  N)znn.ReflectionPad2di&  rt   )znn.MaxPool3di6%  r   )znn.MaxPool1d#  r   )znn.RNNr  N)znn.ZeroPad2di"  rt   )znn.ParameterListi  N)znn.SyncBatchNormi  N)znn.PixelShufflei  r   )znn.SmoothL1Lossiu  r   )znn.Hardswishi:  r   )znn.AdaptiveMaxPool2di  r   )znn.SELUi  r   )znn.ConvTranspose3di  r  )z
nn.GRUCelli  N)znn.ReplicationPad2di  rt   )znn.KLDivLossi  r   )znn.ConvTranspose1di?  r   )znn.Softplusi   rz   )znn.SiLUi  r   )znn.AvgPool3di  r   )znn.CosineSimilarityi  r   )znn.GELUr5   r}   )znn.UpsamplingBilinear2diY  rs   )znn.InstanceNorm1diJ  r   )znn.Transformeri  N)znn.MultiheadAttentionik  r   )znn.AvgPool1di{  r   )znn.Dropout3di  r   )znn.AdaptiveAvgPool3dic  r   )znn.InstanceNorm3diM  r   )znn.Hardtanhi5
  r   )znn.MarginRankingLossi
  r   )znn.GLUi	  r   )znn.AdaptiveAvgPool1di	  r   )znn.EmbeddingBagi(	  r   )znn.TransformerEncoderLayeri  N)znn.TransformerEncoderi+  N)znn.MaxUnpool2di  r   )znn.UpsamplingNearest2di  rs   )znn.ConstantPad1dip  rt   )znn.ConstantPad2di  rt   )z
nn.CTCLossi  r   )znn.AdaptiveMaxPool1di  r   )znn.AdaptiveLogSoftmaxWithLossrC   N)znn.Bilineari  r   )z
nn.RNNCelliu  N)znn.MultiLabelSoftMarginLossiX  r   )z	nn.Unfoldi  r   )znn.RReLUi  znn.functional.rrelu)znn.CosineEmbeddingLossiM  r   )znn.LocalResponseNormi3  r   )znn.Softmax2di  rq   )znn.PairwiseDistancei  r   )znn.LogSigmoidi  r   )znn.TripletMarginLossi  r   )z
nn.RNNBaseim  N)znn.Thresholdi  r   )znn.AdaptiveMaxPool3di  r   )znn.CELUi  r   )znn.NLLLoss2di  r   )znn.SoftsignrO   r   )znn.ReplicationPad1di^  rt   )znn.SoftMarginLossiX  r   )znn.ParameterDicti  N)znn.ReflectionPad1di  rt   )znn.Softshrinki  r   )znn.AlphaDropouti  r   )znn.TanhshrinkrR   r   )znn.PoissonNLLLossi  r   )znn.MaxUnpool3di  r   )znn.Foldiv  r   )znn.MultiMarginLossrS   r   )znn.TransformerDecoderLayerif  N)znn.TransformerDecoderi_  N)znn.HardshrinkiP  r   )znn.ConstantPad3diF  rt   )znn.MultiLabelMarginLossiD  r   )znn.LPPool2di&  r   )z
nn.Softmini  r   )znn.MaxUnpool1di  r   )znn.FractionalMaxPool2di  r   )znn.Hardsigmoidi  r   )znn.ReplicationPad3di  rt   )znn.HingeEmbeddingLossi  r   )znn.LPPool1di  r   )znn.FractionalMaxPool3d   r   )znn.Containerr^   N)znn.Unflatten   znn.functional.unflatten)znn.FeatureAlphaDropoutrj   r   )z nn.TripletMarginWithDistanceLossk   r   )znn.ChannelShuffleZ   r   )znn.RNNCellBaseX   N)znn.LazyLinearr   r|   )znn.UninitializedParameter<   N)znn.CrossMapLRN2dr   N)znn.GaussianNLLLoss7   r  )znn.PixelUnshuffle-   r  )znn.Mish   r
  )znn.ReflectionPad3d   rt   )znn.HuberLossr  r  )znn.LazyConv2dr  N)znn.LazyConv1d	   N)znn.LazyConv3d   N)znn.LazyConvTranspose1dr  N)znn.LazyConvTranspose2dr  N)znn.LazyConvTranspose3dr  N)znn.LazyBatchNorm1dr  N)znn.LazyBatchNorm2dr  N)znn.LazyBatchNorm3dr  N)znn.UninitializedBufferr  NZbfloat16boolbytechar
contiguouscpuZcudadetachdoubleexpandZ	expand_asfloatZ
get_deviceZhalfZ
hardshrinkZ	index_addZ
index_copyZ
index_fillZ	index_putintZis_contiguous	is_pinnedZ	is_set_toZ	is_shared	is_signeditemlongZmasked_scatterZmasked_fillZnarrow_copyZnumpyZ
pin_memoryrepeatZ
reshape_asselectshortZstorage_offsetZsum_to_sizetoZ	to_mkldnntolisttypeZtype_asZunfoldviewZview_asc                  C   s|   dd t D } tD ]@\}}}|d kr&q|dkr0q|| krB|| |< q| |  |7  < qdd |  D } | jdd dd	 | S )
Nc                 S   s   i | ]\}}||qS  r1  .0kvr1  r1  M/tmp/pip-unpacked-wheel-gikjz4vx/functorch/_src/top_operators_github_usage.py
<dictcomp>[  s      z.get_nn_functional_top_list.<locals>.<dictcomp>r  c                 S   s   g | ]\}}||fqS r1  r1  r2  r1  r1  r6  
<listcomp>f  s     z.get_nn_functional_top_list.<locals>.<listcomp>c                 S   s   | d S )Nr  r1  )xr1  r1  r6  <lambda>g      z,get_nn_functional_top_list.<locals>.<lambda>T)keyreverse)top_nn_functionaltop_nn_moduleitemsr   )Ztop_nn_functional__countZfunctional_namer1  r1  r6  get_nn_functional_top_listZ  s    
rC  N)	__doc__Z	top_torchr>  r?  Zmethod_only_opsrC  Zusage_countr4  r5  r1  r1  r1  r6  <module>   s          2