/usr/local/lib64/python3.6/site-packages/torch/__pycache__
NameSizeModeActions
autocast_mode.cpython-36.pyc90400644editdlrm
functional.cpython-36.pyc599640644editdlrm
hub.cpython-36.pyc191710644editdlrm
overrides.cpython-36.pyc1243060644editdlrm
quasirandom.cpython-36.pyc67390644editdlrm
random.cpython-36.pyc42710644editdlrm
serialization.cpython-36.pyc285820644editdlrm
storage.cpython-36.pyc83340644editdlrm
torch_version.cpython-36.pyc29650644editdlrm
types.cpython-36.pyc17350644editdlrm
version.cpython-36.pyc2720644editdlrm
_appdirs.cpython-36.pyc220230644editdlrm
_classes.cpython-36.pyc24730644editdlrm
_deploy.cpython-36.pyc22620644editdlrm
_jit_internal.cpython-36.pyc337230644editdlrm
_linalg_utils.cpython-36.pyc28830644editdlrm
_lobpcg.cpython-36.pyc302630644editdlrm
_lowrank.cpython-36.pyc94730644editdlrm
_namedtensor_internals.cpython-36.pyc48560644editdlrm
_ops.cpython-36.pyc41770644editdlrm
_python_dispatcher.cpython-36.pyc34110644editdlrm
_six.cpython-36.pyc10930644editdlrm
_sources.cpython-36.pyc40430644editdlrm
_storage_docs.cpython-36.pyc14360644editdlrm
_tensor.cpython-36.pyc372740644editdlrm
_tensor_docs.cpython-36.pyc1027930644editdlrm
_tensor_str.cpython-36.pyc115320644editdlrm
_torch_docs.cpython-36.pyc3646960644editdlrm
_utils.cpython-36.pyc168940644editdlrm
_utils_internal.cpython-36.pyc13220644editdlrm
_VF.cpython-36.pyc11120644editdlrm
_vmap_internals.cpython-36.pyc112100644editdlrm
__config__.cpython-36.pyc7330644editdlrm
__future__.cpython-36.pyc9840644editdlrm
__init__.cpython-36.pyc244180644editdlrm
Edit: /usr/local/lib64/python3.6/site-packages/torch/__pycache__/overrides.cpython-36.pyc (124306B)
3 EgH@sdZddlZddlZddlZddlZddlZddlmZmZm Z m Z m Z m Z m Z ddlZddlmZmZmZmZddddd d d d gZejdee d ddZejdee d ddZejdee e fd ddZe ddd Ze e e e dddZe e e e dddZeedZeedZeedZejdee e e fd ddZejdee d ddZ e e!dd d Z"d!d Z#dS)"aE Python implementation of ``__torch_function__`` While most of the torch API and handling for ``__torch_function__`` happens at the C++ level, some of the torch API is written in Python so we need python-level handling for ``__torch_function__`` overrides as well. The main developer-facing functionality in this file are handle_torch_function and has_torch_function. See torch/functional.py and test/test_overrides.py for usage examples. Note ---- heavily inspired by NumPy's ``__array_function__`` (see: https://github.com/pytorch/pytorch/issues/24015 and https://www.numpy.org/neps/nep-0018-array-function-protocol.html ) If changing this file in a way that can affect ``__torch_function__`` overhead, please report the benchmarks in ``benchmarks/overrides_benchmark``. See the instructions in the ``README.md`` in that directory. N)DictSetListAnyCallableIterableType)_has_torch_function_has_torch_function_unary_has_torch_function_variadic _add_docstrget_ignored_functionsget_overridable_functionsget_testing_overrideshandle_torch_functionhas_torch_functionis_tensor_likeis_tensor_method_or_propertywrap_torch_function)returncCstj}tjtjtjtjtjtjtjtj tj tj tj tj tjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtjtj tj!tj"tj#tj$tj%tj&tj'tj(tj)tj*tj+tj,tj-tj.tj/tj0tj1tj2tj3tj4tj5tj6tj7tj8tj9tj:tj;tjtj?tj@tjAtjBtjCtjDtjEtjFtjGtjHtjItjJjKtjJjLtjMtjNtjOtjPtjQtjRtjStjTtjUtjVtjWtjXtjYtjZtj[tj\tj]tj^tj_tj`tjatjbtjctjdtjetjftjgtjhtjitjjjktjljmjntjljmjotjljmjptjljmjqtjljmjrtjljmjstjljmjttjljmjutjljmjvtjljmjwtjljmjxtrtutjytjztj{tj|tj}tj~tjtjtjtjtjtjtjtjljmjtjtjtjtjtjtjtjtjtjtj|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|j|jj|j|j|jhS)a% Return public functions that cannot be overridden by ``__torch_function__``. Returns ------- Set[Callable] A tuple of functions that are publicly available in the torch API but cannot be overridden with ``__torch_function__``. Mostly this is because none of the arguments of these functions are tensors or tensor-likes. Examples -------- >>> torch.Tensor.as_subclass in torch.overrides.get_ignored_functions() True >>> torch.add in torch.overrides.get_ignored_functions() False )torchTensortypenameZ is_tensorZ is_storageZset_default_tensor_typeZ set_rng_stateZ get_rng_stateZ manual_seedZ initial_seedseedsaveloadZset_printoptionsforkZget_default_dtypeZget_num_interop_threadsZget_num_threadsZinit_num_threadsZimport_ir_moduleZimport_ir_module_from_bufferZis_anomaly_enabledZis_grad_enabledZmerge_type_from_type_commentZparse_irZ parse_schemaZparse_type_commentZset_anomaly_enabledZset_flush_denormalZset_num_interop_threadsZset_num_threadswaitZ as_tensorZ from_numpy get_devicetensorZdefault_generatorZhas_cudaZ has_cudnnZ has_lapackdevicedtypeZfinfoZhas_mklZ has_mkldnnZ has_openmpZiinfo memory_formatqschemeZset_grad_enabledZno_gradZ enable_gradZinference_modeZis_inference_mode_enabledlayoutZ align_tensorsZarange as_stridedZbartlett_windowZblackman_windowZbroadcast_shapesZcan_castZcudnn_affine_grid_generatorZcudnn_batch_normZcudnn_convolutionZcudnn_convolution_transposeZcudnn_convolution_reluZcudnn_convolution_add_reluZcudnn_grid_samplerZcudnn_is_acceptableemptyZ empty_stridedZempty_quantizedZeyefftZfftfreqZrfftfreq from_filefullZhamming_windowZ hann_windowZ kaiser_windowZlinspaceZlogspaceZmkldnn_adaptive_avg_pool2dZmkldnn_convolutionZ#mkldnn_convolution_backward_weightsZmkldnn_max_pool2dZmkldnn_max_pool3dZmkldnn_linear_backward_weightsnormalZonesZ promote_typesZrandZrandnrandintZrandpermrangeZ result_typeZ scalar_tensorZsparse_coo_tensorZsparse_csr_tensorZ tril_indicesZ triu_indicesZvanderzerosZ _jit_internalZboolean_dispatchnn functionalZassert_int_or_pairZupsampleZupsample_bilinearZupsample_nearestrhas_torch_function_unaryhas_torch_function_variadicrsigmoidZ hardsigmoidtanhZset_autocast_enabledZis_autocast_enabledZclear_autocast_cacheZset_autocast_cpu_enabledZis_autocast_cpu_enabledZset_autocast_cpu_dtypeZget_autocast_cpu_dtypeZget_autocast_gpu_dtypeZset_autocast_gpu_dtypeZautocast_increment_nestingZautocast_decrement_nestingZis_autocast_cache_enabledZset_autocast_cache_enabledZ hardswishZis_vulkan_availableZ$are_deterministic_algorithms_enabledZuse_deterministic_algorithmsZunify_type_listZis_warn_always_enabledZset_warn_alwaysZvitals_enabledZ set_vitalZ read_vitalsZ frombuffer __delitem____dir____getattribute____init____iter____init_subclass__ __delattr__ __setattr____torch_function____new__ __class____subclasshook__Z as_subclassZ reinforcenewZ new_tensorZ new_emptyZnew_empty_stridedZ new_zerosZnew_onesZnew_fullZ_make_subclassstrideZ unflattenZ to_sparse_csrZ_reduce_ex_internalZ _fix_weakrefZ_python_dispatch__get__Z_conjZ_conj_physicalZ _neg_view)rrC;/usr/local/lib64/python3.6/site-packages/torch/overrides.pyr /sZcCstj}|jj|jj|jjhS)a Return public functions that do not wrap in a subclass when invoked by the default ``Tensor.__torch_function__`` that preserves subclasses. Typically, these functions represent field accesses (i.e., retrieving a Tensor that is stored somewhere on the Tensor) as opposed to computation. Users of these functions expect object identity to be preserved over multiple accesses (e.g., ``a.grad is a.grad``) which cannot be upheld if we're wrapping on the fly every time (furthermore, the tensor stored here might already be the subclass, in which case wrapping really ought not to happen). Not ALL property accessors have this property; for example ``Tensor.T`` actually just creates a new transposed tensor on the fly, and so we SHOULD interpose on these calls (you need to check the implementation of the function to see if this is the case or not). Additionally, if a property accessor doesn't return a Tensor, it doesn't have to be on this list (though it is harmless if it is). )rr_baserBgrad_grad)rrCrCrDget_default_nowrap_functionssrHc RCs5tj}tjdYddtjdZddtjddtjddtjd[ddtjd\ddtjd]d dtj d^d dtj d_d dtj d`d dtj daddtj dbddtjdcddtjddddtjdeddtjddtjdfddtjdgddtjdhddtjdiddtjdjddtjdkddtjdlddtjdmddtjddtjd dtjdnd!dtjdod"dtjd#dtjdpd$dtj dqd%dtj!drd&dtj"dsd'dtj#dtd(dtj$dud)dtj%dvd*dtj&dwd+dtj'd,dtj(d-dtj)d.dtj*dxd1dtj+dyd2dtj,d3dtj-d4dtj.d5dtj/d6dtj0d7dtj1d8dtj2d9dtj3d:dtj4dzd;dtj5ddtj7d|d?dtj8d}d@dtj9d~dAdtj:ddBdtj;ddCdtj<ddDdtj=ddEdtj>ddFdtj?dGdtj@ddHdtjAdIdtjBdJdtjCddKdtjDdLdtjEddMdtjFddNdtjGddQdtjHddRdtjIddTdtjJddUdVdtjKdWdtjLddXdtjMjLddYdtjMjNddZdtjOdd[dtjPdd\dtjQd]dtjRdd^dtjSdd_dtjTdd`dtjUddadtjVddbdtjWddcdtjXddddtjYdedtjZddgdtj[dhdtj\ddidtj]djdtjMj^ddkdtj_ddldtj`ddmdtjaddndtjbddodtjcddpdtjdddqdtjeddrdtjfddsdtjgdtdtjhddudtjiddvdtjjddwdtjkddxdtjldydtjmddzdtjndd{dtjodd|dtjpdd}dtjqd~dtjrdddtjsdddtjtdddtjudddtjvdddtjwdddtjxdddtjydddtjzdddtj{ddtj|ddtjMj|ddtj}ddtj~dddtjdddtjdddtjdddtjdddtjdddtjdddtjdddtjdddtjdddtjdddtjddtjddtjddtjdddtjdddtjMjdddtjMjdddtjMjdddtjMjdddtjddtjdddtjdddtjdddtjdddtjddtjdddtjdddtjdddtjdddtjdddtjdddtjddtjddtjdddtjddtjddtjddtjddtjddtjddtjddtjddtjddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjjdddtjdddtjdddtjddtjddtjddtjdddtjdddtjddtjdddtjdddtjÐdddtjĐdddtjddtjddfddtjǐdddtjȐdddtjɐdddtjʐdddtjːdddtj̐dddtj͐dddtjΐdddtjϐdddtjАdddtjѐd ddtjddtjddtjddtjՐd ddtjddtjאd ddtjؐd ddtjِd ddtjڐdddtjېdddtjܐdddtjݐdddtjސdddtjMjddtjdddtjddtjdddtjdddtjdddtjdddtjdddtjddtjddtjdddtjdddtjddtjddtjdddtjddtjddtjdddtjdddtjddtjddtjdddtjMjdddtjMjd ddtjd dtjd dtjd dtjd dtjd dtjddtjddtjddtjddtjd!ddtjddtjd"ddtjd#ddtjddtjd$ddtjd%ddtjd&ddtjd'ddtj d(ddtj d)ddtj d*ddtj d+ddtj d,ddtjd-d dtjd.d!dtjd/d"dtjd0d#dtjd1d$dtjd2d%dtjd3d&dtjd'dtjd4d(dtjd5d)dtjd6d*dtjd7d+dtjd8d,dtjd9d-dtjd:d.dtjd;d/dtjd0dtjd<d1dtjd=d2dtj d>d3dtj!d?d4dtj"d@d5dtj#dAd6dtj$dBd7dtj%d8dtj&d9dtj'dCd:dtj(dDd;dtjMj(dEddtj*dGd?dtjMj*dHd@dtjMj+dIdAdtj,dBdtj-dJdCdtj.dKdDdtj/dLdEdtj0dMdFdtj1dNdGdtj2dOdHdtj3dPdIdtj4dQdJdtj5dRdKdtj6dSdLdtj7dTdMdtj8dNdtj9dUdOdtj:dVdPdtj;dWdQdtj<dRdtj=dSdtj>dTdtj?dUdtj@dVdtjAdXdWdtjBdZdXdtjCdYdtjDdZdtjEd[d[dtjFd\d\dtjGd]d]dtjHd^d^dtjId_d_dtjJd`dtjKdadtjLdbdtjMd`dddtjNdedtjOdadfdtjPdgdtjQdbdhdtjQdcdidtjQdddjdtjRdedkdtjSdfdldtjTdgdmdtjUdhdndtjVdidodtjWjXjYdpdtjWjXjZdqdtjWjXjdjdrdtjWjXj[dkdsdtjWjXj\dldtdtjWjXj]dmdudtjWjXj^dndvdtjWjXj_dodwdtjWjXj`dpdxdtjWjXjdqdydtjWjXjadrdzdtjWjXjbdsd{dtjWjXj,dtd}dtjWjXj5dud~dtjWjXjcdvddtjWjXj6dwddtjWjXjIdxddtjWjXjndyddtjWjXjdd{ddtjWjXjsd|ddtjWjXjd}ddtjWjXjed~ddtjWjXjfdddtjWjXjgdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjhdddtjWjXjidddtjWjXjjdddtjWjXjkdddtjWjXjldddtjWjXjmdddtjWjXjnddtjWjXjodddtjWjXjpdddtjWjXjՐdddtjWjXjqdddtjWjXjڐdddtjWjXjrdddtjWjXjܐdddtjWjXjdddtjWjXjsdddtjWjXjdddtjWjXjtdddtjWjXjdddtjWjXjudddtjWjXjvdddtjWjXjwdddtjWjXjdddtjWjXjxddtjWjXjydddtjWjXjzdddtjWjXj$dddtjWjXj0dddtjWjXj3dddtjWjXj1dddtjWjXj{dddtjWjXj2dddtjWjXj|dddtjWjXj}dddtjWjXj~dddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjdddtjWjXjddtjWjXjddtjWjXjdÐddtjWjXjdĐddtjWjXjddSdd=dۜddtjWjXjdŐddtjdƐddtjdǐddtjMjdȐddtjMjdɐddtjMjd͐ddtjdΐddtjdϐddtjddtjddtjdАddtjdѐddtjddtjdҐddtjdӐddtjdԐddtjMjdՐddtjddtjddtjd֐ddtjddtjdאddtjdؐddtjddtjdِddtjdڐddtjdېddtjdܐddtjddtjddtjddtjddtjddtjdݐddtjMjdސddtjdߐddtjdddtjddtjddtjddtjddtjd dtjÐtădddfd dtjŐtădddfd dtjƐd dtjǐd dtjȐdddtjɐdddtjdtjddfddtjːdddtj̐ddtj͐dddtjΐdddtjϐddtjАddtjѐdddtjdddtjҐdddtjӐdddtjԐdddtjՐddtj֐ddtjאdddtjؐddtjِdd dtjڐdd!dtjېdd"dtjܐdd#dtjݐdd$dtjސd%dtjdd'dtjߐdd(dtjdd)dtjdd*dtjd+dtjd,dtjdd-dtjdd/dtjd0dtjdd1dtjdd2dtjdd3dtjdd4dtjdd5dtjdd6dtjdd7dtjdd8dtjd9dtjMjd:dtjd;dtjddtjMjdd?dtjd ddd@dAdtjd dBdtjd dCdtjd dDdtjddEdtjddFdtjddGdtjddHdtjddIdtjddJdtjddLdtjddMdtjddNdtjddOdtjddPdtjddQdtjddSdtjMjddTdtjMjddUdtjddVdtjdWdtjdXdtjjdYdtjjdZdtjjd[dtjj d\dtjjd]dtjjd^dtjjd_dtjj d`dtjjddadtjjdbdtjj dcdtjj ddddtjj d dedtjjdfdtjj͐dgdtjjdhdtjjdidtjjdjdtjjdkdtjjd!dldtjjdmdtjjd"dndtjjܐdodtjjdpdtjjdqdtjjdrdtjjdsdtjjd#dtdtjjd$dudtjjd%dvdtjdwdtjdxdtjd&dydtjd'dzdtjd(d{dtjMjd)d|dtjMjd*d}dtjd+d~dtjd,ddtjd-ddtj ddtj!d/ddtj"ddtj#ddtj$d1ddtj%d3ddtj&d4ddtj'd5ddtjd6ddtj(d7ddtj)ddtj*d8ddtj+d9ddtj,d:ddtj-d;ddtj.d<ddtj/d=ddtj0d>ddtj1d?ddtj2d@ddtj3dAddtj4ddtj5dBddtj6dCddtj7dDdd|j8dd|j9dd|j:dd|j;dd|j<dd|j=dd|j>dd|j?dd|j@dd|jAdd|jBdd|jCdd|jDdd|jEdd|jFdd|jGdd|jHdd|jIdd|jJdd|jKdd|jLdd|jMdd|jNdd|jOdd|jPdd|jQdd|jRdd|jSdd|jTdd|jUdd|jVdd|jWdd|jXdd|jYdd|jZdd|j[dd|j\dd|j]dd|j^dd|j_j`dd|jaj`dd|jbj`dd|jcj`dd|jdj`dd|jej`dd|jfj`dd|jgj`dd|jhj`dd|jij`dd|jjj`dd|jkj`dd|jlj`dd|jmj`dd|jnj`dd|joj`dd|jpj`dd|jqj`dd|jrj`dd|jsj`dd|jtj`dd|juj`dd|jvj`dd|jwj`dd|jxj`dd|jyj`dd|jzj`dd|j{j`dd|j|j`dd|j}j`dd|j~j`dd|jj`dd|j͐j`dd|jj`dd|jj`dd|jdEdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdFdd|jtjfdd|jtjfdd|jtjfdd|jtjfdd|jdGdddd|jdd|jdd|jtjfdd|jdHdd|jtjfdd|jtjfdd|jtjfdd|jdd|jdd|jdd|jtjfdd|jtjfdd|jdd|jdd|jd d|jdIddd d|jd d|jd d|jtjfd d|jtjfdd|jdddd|jdd|jtjfdd|jdd|jdd|jtjfdd|jdd|jdd|jdd|jdd|jdd|jdd|jdd|jdJdddd|jdd|jtjfdd|jdd|jd d|jAd!d|jLd"d|jd#d|jd$d|jd%d|jd&d|jd'd|jd(d|jdKd)d|jd*d|jÐdLddd+d|jĐd,d|jŐd-d|jƐd.d|jǐd/d|jȐd0d|jɐdMd1d|jʐd2d|jːd3d|j̐d4d|j͐d5d|jΐd6d|jϐdNd7d|jАd8d|jtjfd9d|jҐd:d|jӐd;d|jԐdd|jdOd?d|jאd@d|jؐdAd|jِdBd|jڐdCd|j dDd|jddtjfdEd|jܐdFd|jݐdGd|jސdHd|jߐdId|jdJd|jdKd|jdPdLd|jdMd|jdNd|jdOd|jdPd|jdQdQd|jdRdtjMjdRdSdi(}i}t}x |jD]\}}|j|jdTdU|jdUdV|jdUdW|jdUg}|jjdX5r|jtdXd}|jdU|dUdV|dUdW|dUgxD|D]<}t||d} t| 5r| |k5r| |k5r||| <5qW4qW|j||S(SarReturn a dict containing dummy overrides for all overridable functions Returns ------- Dict[Callable, Callable] A dictionary that maps overridable functions in the PyTorch API to lambda functions that have the same signature as the real function and unconditionally return -1. These lambda functions are useful for testing API coverage for a type that defines ``__torch_function__``. Examples -------- >>> import inspect >>> my_add = torch.overrides.get_testing_overrides()[torch.add] >>> inspect.signature(my_add) NcSsdS)NrC)inputoutrCrCrD)sz'get_testing_overrides..cSsdS)NrIrJrC)rKrLrCrCrDrM*scSsdS)NrIrJrC)rK output_sizerCrCrDrM+scSsdS)NrIrJrC)inputsrNrCrCrDrM,scSsdS)NrIrJrC)rKrLrCrCrDrM-scSsdS)NrIrJrC)rKrLrCrCrDrM.scSsdS)NrIrJrC)rKrLrCrCrDrM/scSsdS)NrIrJrC)rKrLrCrCrDrM0scSsdS)NrIrJrC)rKotherrLrCrCrDrM1srIcSsdS)NrIrJrC)rKbatch1batch2alphabetarLrCrCrDrM2scSsdS)NrIrJrC)rKtensor1tensor2valuerLrCrCrDrM3scSsdS)NrIrJrC)rKrUrVrWrLrCrCrDrM4scSsdS)NrIrJrC)rKmat1mat2rTrSrLrCrCrDrM5scSsdS)NrIrJrC)rKmatvecrTrSrLrCrCrDrM6scSsdS)NrIrJrC)rKZvec1vec2rTrSrLrCrCrDrM7scSsdS)NrIrJrC)thetasize align_cornersrCrCrDrM8scSsdS)NrIrJrC)rKdimrCrCrDrM9sh㈵>:0yE>FcSsdS)NrIrJrC)rKrPZtrolatol equal_nanrCrCrDrM:scSsdS)NrIrJrC)rKptraininplacerCrCrDrM;scSsdS)NrIrJrC)rKr`rCrCrDrM<scSsdS)NrIrJrC)rKr`rCrCrDrM=scSsdS)NrIrJrC)rKr`keepdimrLrCrCrDrM>scSsdS)NrIrJrC)rKrLrCrCrDrM?scSsdS)NrIrJrC)rKr`rhrLrCrCrDrM@scSsdS)NrIrJrC)rKrCrCrDrMAscSsdS)NrIrJrC)rKrCrCrDrMBscSsdS)NrIrJrC)rKr`rCrCrDrMCscSsdS)NrIrJrC)rKrLrCrCrDrMDscSsdS)NrIrJrC)rKrCrCrDrMEscSsdS)NrIrJrC)rKrLrCrCrDrMFscSsdS)NrIrJrC)rKrLrCrCrDrMGscSsdS)NrIrJrC)rKrLrCrCrDrMHscSsdS)NrIrJrC)rKrLrCrCrDrMIscSsdS)NrIrJrC)rKrLrCrCrDrMJscSsdS)NrIrJrC)rKrPrLrCrCrDrMKscSsdS)NrIrJrC)rKrLrCrCrDrMLscSsdS)NrIrJrC)rKrLrCrCrDrMMscWsdS)NrIrJrC)tensorsrCrCrDrMNscWsdS)NrIrJrC)rirCrCrDrMOscWsdS)NrIrJrC)rirCrCrDrMPsrTcSsdS)NrIrJrC)rK kernel_sizerApadding ceil_modecount_include_padrCrCrDrMQscSsdS)NrIrJrC)rKrQrRrSrTrLrCrCrDrMRsc SsdS)NrIrJrC) rKweightbias running_mean running_vartrainingmomentumeps cudnn_enabledrCrCrDrMSscSsdS)NrIrJrC)grad_outrKmeaninvstdrnZsum_dyZ sum_dy_xmuZ count_tensorrCrCrDrMTscSsdS)NrIrJrC)rvrKrwrxrnZinput_gZweight_gZbias_grCrCrDrMUscSsdS)NrIrJrC)rKrnrorwrxrtrCrCrDrMVscSsdS)NrIrJrC)rKrwrxrprqrsrtcountrCrCrDrMWscSsdS)NrIrJrC)rKrwrxrprqrsrtryrCrCrDrMXscSsdS)NrIrJrC)rKrtrCrCrDrMYscSsdS)NrIrJrC)rKrprqrsrCrCrDrMZscSsdS)NrIrJrC)rK generatorrLrCrCrDrM[scSsdS)NrIrJrC)input1input2rnrorCrCrDrM\srwcSsdS)NrIrJrC)rKtargetrn size_averagereduce reduction pos_weightrCrCrDrM]scSsdS)NrIrJrC)rKweightsZ minlengthrCrCrDrM_scSsdS)NrIrJrC)ryZprobrzrCrCrDrM`scSsdS)NrIrJrC)rKrPrLrCrCrDrMascSsdS)NrIrJrC)rKrLrCrCrDrMbscSsdS)NrIrJrC)rKrPrLrCrCrDrMcscSsdS)NrIrJrC)rKrPrLrCrCrDrMdscSsdS)NrIrJrC)rKrPrLrCrCrDrMescSsdS)NrIrJrC)rKrPrLrCrCrDrMfscWsdS)NrIrJrC)rirCrCrDrMgscSsdS)NrIrJrC)rKrYrLrCrCrDrMhscWsdS)NrIrJrC)rirCrCrDrMiscSsdS)NrIrJrC)selfr^rCrCrDrMjscSsdS)NrIrJrC)rKZ boundaries out_int32rightrLrCrCrDrMkscWsdS)NrIrJrC)rirCrCrDrMlscSsdS)NrIrJrC)rir`rLrCrCrDrMmscSsdS)NrIrJrC)rir`rLrCrCrDrMns@#use_mm_for_euclid_dist_if_necessarycSsdS)NrIrJrC)x1x2reZ compute_moderCrCrDrMoscSsdS)NrIrJrC)rKrLrCrCrDrMps?cSsdS)NrIrJrC)rKZalhpargrCrCrDrMqs)rLcWsdS)NrIrJrC)rLZmatricesrCrCrDrMrscSsdS)NrIrJrC)rKgroupsrCrCrDrMsscSsdS)NrIrJrC)rKupperrLrCrCrDrMtscSsdS)NrIrJrC)rKrLrCrCrDrMuscSsdS)NrIrJrC)rK check_errorsrLrCrCrDrMvscSsdS)NrIrJrC)rKrrLrCrCrDrMwscSsdS)NrIrJrC)r{r|rrLrCrCrDrMxscSsdS)NrIrJrC)rKnumelZn_binsZratioZ bit_widthrCrCrDrMyscSsdS)NrIrJrC)rKchunksr`rCrCrDrMzscSsdS)NrIrJrC)rKminmaxrLrCrCrDrM{scSsdS)NrIrJrC)rKrrrLrCrCrDrM|scSsdS)NrIrJrC)rKrrLrCrCrDrM}scSsdS)NrIrJrC)rKrrLrCrCrDrM~scSsdS)NrIrJrC)rirLrCrCrDrMscSsdS)NrIrJrC)rKZ correctionZfweightsZaweightsrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrZwith_replacementrCrCrDrMscSsdS)NrIrJrC)realimagrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)absangrCrCrDrMscSsdS)NrIrJrC)rKordrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKpadrWrCrCrDrMscSsdS)NrIrJrC)rKrnrorArkdilationrrCrCrDrMscSsdS)NrIrJrC)rKrnrorArkrrrCrCrDrMscSsdS)NrIrJrC)rKrnrorArkrrrCrCrDrMsc SsdS)NrIrJrC) rKrnrorArkrZ transposedZ output_addingrrCrCrDrMscSsdS)NrIrJrC)rKrnrorrCrCrDrMscSsdS)NrIrJrC)rKrnrorArkoutput_paddingrrrCrCrDrMscSsdS)NrIrJrC)rKrnrorArkrrrrCrCrDrMscSsdS)NrIrJrC)rKrnrorArkrrrrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)r{r|r}marginr~rrrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rrr`rtrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrPr`rLrCrCrDrMscSsdS)NrIrJrC) log_probstargets input_lengthstarget_lengthsblankr zero_infinityrCrCrDrMscSsdS)NrIrJrC)rKr`rLrCrCrDrMscSsdS)NrIrJrC)rKr`rLrCrCrDrMscSsdS)NrIrJrC)rKr`rLr!rCrCrDrMscSsdS)NrIrJrC)rKr`rLr!rCrCrDrMscSsdS)NrIrJrC)yxr`rCrCrDrMscSsdS)NrIrJrC)rKr`rLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKdiagonalrLrCrCrDrMscSsdS)NrIrJrC)rKrrLrCrCrDrMscSsdS)NrIrJrC)rKoffsetrCrCrDrMscSsdS)NrIrJrC)rKnr`prependappendrLrCrCrDrMscSsdS)NrIrJrC)rKrdim1Zdim2rCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrPrerCrCrDrMscSsdS)NrIrJrC)rKrP rounding_moderLrCrCrDrMscSsdS)NrIrJrC)rKrPrrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrerfrgrCrCrDrMscSsdS)NrIrJrC)rKrYrCrCrDrMscSsdS)NrIrJrC)rXrYrCrCrDrMscSsdS)NrIrJrC)rKindices_or_sectionsrCrCrDrMscSsdS)NrIrJrC)rirLrCrCrDrMscSsdS)NrIrJrC)rK eigenvectorsrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMsLcSsdS)NrIrJrC)rKUPLOrLrCrCrDrMscSsdS)NrIrJrC)rKrrLrCrCrDrMscWsdS)NrIrJrC)ZequationZoperandsrCrCrDrMscSsdS)NrIrJrC)rKrn padding_idxmax_norm norm_typescale_grad_by_freqsparserCrCrDrMsc SsdS)NrIrJrC) rKrnoffsetsrrrmoderper_sample_weightsrrCrCrDrMscSsdS)NrIrJrC)rKr!r$r requires_gradrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrPrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKscale zero_pointaxis quant_min quant_maxrCrCrDrMscSsdS)NrIrJrC)rKrrrrrCrCrDrMsc SsdS)NrIrJrC) rZ observer_onZ fake_quant_onZaveraging_constZ running_minZ running_maxrrrrZch_axisZper_row_fake_quantZsymmetric_quantrCrCrDrMscSsdS)NrIrJrC)rK packed_weightrorCrCrDrMscSsdS)NrIrJrC)rKrrorCrCrDrMscSsdS)NrIrJrC)rKrnpacked col_offsets weight_scaleweight_zero_pointrorCrCrDrMscSsdS)NrIrJrC)rKrnrrrrrorCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKabrCrCrDrMscSsdS)NrIrJrC)rKrerfrCrCrDrMscSsdS)NrIrJrC)rKrerfrCrCrDrMscSsdS)NrIrJrC)rKrr`normrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKsr`rrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKr`rCrCrDrMscSsdS)NrIrJrC)rKr`rCrCrDrMscSsdS)NrIrJrC)rKrr`rrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKZ start_dimZend_dimrCrCrDrMscSsdS)NrIrJrC)rKdimsrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKr`rhrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrPrCrCrDrMscSsdS)NrIrJrC)rKexponentrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKZ fill_valuerLr!r$r rrCrCrDrMscSsdS)NrIrJrC)LU_data LU_pivotsZ unpack_dataZ unpack_pivotsrCrCrDrMscSsdS)NrIrJrC)rKr`indexrLZ sparse_gradrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKr\rLrCrCrDrMscSsdS)NrIrJrC)rKr\rLrCrCrDrMscSsdS)NrIrJrC)rKspacingr`Z edge_orderrCrCrDrMscSsdS)NrIrJrC)rKgridinterpolation_mode padding_moder_rCrCrDrMscSsdS)NrIrJrC)rKrrrr_rCrCrDrMscSsdS)NrIrJrC)rKrrrr_rCrCrDrMscSsdS)NrIrJrC)rK num_groupsrnrortrurCrCrDrMsc SsdS)NrIrJrC) rKhxparams has_biases num_layersZgropoutrf bidirectional batch_firstrCrCrDrMscSsdS)NrIrJrC)rKrw_ihw_hhb_ihb_hhrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrM s?cSsdS)NrIrJrC)rKlambdrCrCrDrM scSsdS)NrIrJrC)rKvaluesrLrCrCrDrM scSsdS)NrIrJrC)rKr}rr~rrrCrCrDrM sdcSsdS)NrIrJrC)rKbinsrrrLrCrCrDrM scSsdS)NrIrJrC)rKrrrrnZdensityrLrCrCrDrMscSsdS)NrIrJrC)rKtaurCrCrDrMscSsdS)NrIrJrC)rXrYrLrCrCrDrMscSsdS)NrIrJrC)rKrrCrCrDrMscSsdS)NrIrJrC)rirLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKr`rsourcerCrCrDrMscSsdS)NrIrJrC)rKr`rrrCrCrDrMscSsdS)NrIrJrC)rKindicesr accumulaterCrCrDrMscSsdS)NrIrJrC)rKr`rrLrCrCrDrMscSsdS)NrIrJrC)rKr`rrWrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)eteZ assume_uniqueinvertrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrM scSsdS)NrIrJrC)rKrLrCrCrDrM!sc SsdS)NrIrJrC) rKrprqrnrouse_input_statsrsrtrurCrCrDrM"scSsdS)NrIrJrC)rKrCrCrDrM$scSsdS)NrIrJrC)rKrLrCrCrDrM%scSsdS)NrIrJrC)rKrLrCrCrDrM&scSsdS)NrIrJrC)rKrrLrCrCrDrM'scSsdS)NrIrJrC)rKrCrCrDrM(scSsdS)NrIrJrC)rKrCrCrDrM)scSsdS)NrIrJrC)rKrCrCrDrM*scSsdS)NrIrJrC)rKrCrCrDrM+scSsdS)NrIrJrC)rKrCrCrDrM,scSsdS)NrIrJrC)rKrCrCrDrM-scSsdS)NrIrJrC)rKrCrCrDrM.scSsdS)NrIrJrC)rKrPrCrCrDrM/scSsdS)NrIrJrC)rKrCrCrDrM0scSsdS)NrIrJrC)rKrPZrtolrcrdrCrCrDrM1scSsdS)NrIrJrC)rKrCrCrDrM2sc SsdS)NrIrJrC) rKn_fft hop_length win_lengthwindowcenter normalizedonesidedlengthreturn_complexrCrCrDrM3scSsdS)NrIrJrC)rKr}r~rr log_targetrCrCrDrM5scSsdS)NrIrJrC)rKrPrCrCrDrM6scSsdS)NrIrJrC)rKkr`rhrLrCrCrDrM7scSsdS)NrIrJrC)rKnormalized_shapernroZesprurCrCrDrM8scSsdS)NrIrJrC)rKrPrLrCrCrDrM9scSsdS)NrIrJrC)rKrPrLrCrCrDrM:scSsdS)NrIrJrC)rKrPrLrCrCrDrM;scSsdS)NrIrJrC)rKrPrLrCrCrDrM<scSsdS)NrIrJrC)rKendrnrLrCrCrDrM=scSsdS)NrIrJrC)rKrLrCrCrDrM>scSsdS)NrIrJrC)rKrBXrZiKnitertollargestmethodtrackerZ ortho_iparamsZ ortho_fparamsZ ortho_bparamsrCrCrDrM?scSsdS)NrIrJrC)rKrLrCrCrDrMAscSsdS)NrIrJrC)rKr`r!rCrCrDrMBscSsdS)NrIrJrC)rKrLrCrCrDrMCscSsdS)NrIrJrC)rKrLrCrCrDrMDscSsdS)NrIrJrC)rKrLrCrCrDrMEscSsdS)NrIrJrC)rKrPrLrCrCrDrMFscSsdS)NrIrJrC)rKrPrLrCrCrDrMGscSsdS)NrIrJrC)rKrCrCrDrMHscSsdS)NrIrJrC)rrrLrCrCrDrMIscSsdS)NrIrJrC)rKrPrLrCrCrDrMJscSsdS)NrIrJrC)rKrLrCrCrDrMKscSsdS)NrIrJrC)rKrPrLrCrCrDrMLscSsdS)NrIrJrC)rKrPrLrCrCrDrMMscSsdS)NrIrJrC)rKnamesrhrLrCrCrDrMNscSsdS)NrIrJrC)rKrtrCrCrDrMOscSsdS)NrIrJrC)rKrrhrLrCrCrDrMPsc SsdS)NrIrJrC) data batch_sizesrrrrdropoutrfrrCrCrDrMQscSsdS)NrIrJrC)rKrrrrrrCrCrDrMRscSsdS)NrIrJrC)rKArLrCrCrDrMSscSsdS)NrIrJrC)rKrPrLrCrCrDrMTscSsdS)NrIrJrC)rKrPrLrCrCrDrMUscSsdS)NrIrJrC)rZpivot get_infosrLrCrCrDrMVscSsdS)NrIrJrC)rrrrLrCrCrDrMWscSsdS)NrIrJrC)r{r|r}rr~rrrCrCrDrMXscSsdS)NrIrJrC)rKmaskrWrCrCrDrMYscSsdS)NrIrJrC)rKrrrCrCrDrMZscSsdS)NrIrJrC)rKrrLrCrCrDrM[scSsdS)NrIrJrC)rKrPrLrCrCrDrM\scSsdS)NrIrJrC)rKrPrLrCrCrDrM]scSsdS)NrIrJrC)rKrrCrCrDrM^scSsdS)NrIrJrC)rKrrLrCrCrDrM_scSsdS)NrIrJrC)rKrZ symmetricrCrCrDrM`scSsdS)NrIrJrC)rKr hermitianrCrCrDrMascSsdS)NrIrJrC)rirLrCrCrDrMbscSsdS)NrIrJrC)rKrCrCrDrMcscSsdS)NrIrJrC)rKrLrCrCrDrMdscSsdS)NrIrJrC)rKrPrLrCrCrDrMescSsdS)NrIrJrC)rKrPrLrCrCrDrMfscSsdS)NrIrJrC)rKrjrArkrrlrCrCrDrMgscSsdS)NrIrJrC)rKrjrArkrrlrCrCrDrMhscSsdS)NrIrJrC)rKrjrArkrrlrCrCrDrMiscSsdS)NrIrJrC)rKrjrArkrreturn_indicesrlrCrCrDrMjscSsdS)NrIrJrC)rKr`rCrCrDrMlscSsdS)NrIrJrC)rKr`rhr!rLrCrCrDrMmscSsdS)NrIrJrC)rKr`rCrCrDrMnscSsdS)NrIrJrC)rKr`rCrCrDrMosc_sdS)NrIrJrC)rikwargsrCrCrDrMpscSsdS)NrIrJrC)rKrLrCrCrDrMqscSsdS)NrIrJrC)rKrPrLrCrCrDrMrscSsdS)NrIrJrC)rKrPrLrCrCrDrMsscSsdS)NrIrJrC)rKrnrorprqrrZexponential_average_factorepsilonrCrCrDrMtsc SsdS)NrIrJrC) rKrnrorkrArr benchmark deterministicrCrCrDrMvsc SsdS)NrIrJrC) rKrnrorkrrArrrrrCrCrDrMwsc SsdS)NrIrJrC) rKrnrorkrArrrrrCrCrDrMyscSsdS)NrIrJrC)rKrnZweight_stride0rZcxrZ hidden_sizerrrrfrrZ dropout_staterCrCrDrM{scSsdS)NrIrJrC)rKrYrLrCrCrDrM}scSsdS)NrIrJrC)rKr`rhrLrCrCrDrM~scSsdS)NrIrJrC)rKr destinationrCrCrDrMscSsdS)NrIrJrC)rKrr rCrCrDrMscSsdS)NrIrJrC)rK descendingrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKZ num_samples replacementrLrCrCrDrMscSsdS)NrIrJrC)rKr[rLrCrCrDrMscSsdS)NrIrJrC)rKrerCrCrDrMscSsdS)NrIrJrC)rKr`startrrCrCrDrMscSsdS)NrIrJrC)rKr`r rrCrCrDrMscSsdS)NrIrJrC)rKnanZposinfZneginfrLrCrCrDrMscSsdS)NrIrJrC)rKrnrorprqrrrsrtrCrCrDrMscSsdS)NrIrJrC)rKrrnrortrCrCrDrMscSsdS)NrIrJrC)rKrnroNCZHxWgrouprtrCrCrDrMscSsdS)NrIrJrC)rKrerCrCrDrMscSsdS)NrIrJrC)rKrerCrCrDrMscSsdS)NrIrJrC)rKrer`rhr!rCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrNrCrCrDrMscSsdS)NrIrJrC)rKrNrCrCrDrMscSsdS)NrIrJrC)rKrNrrCrCrDrMscSsdS)NrIrJrC)rKrNrrCrCrDrMscSsdS)NrIrJrC)rKrNrrCrCrDrMscSsdS)NrIrJrC)rKrNrrCrCrDrMscSsdS)NrIrJrC)rKrNrrCrCrDrMscSsdS)NrIrJrC)rKrNrrCrCrDrMscSsdS)NrIrJrC)r]r^r_rCrCrDrMscSsdS)NrIrJrC)rKrerrrgrCrCrDrMscSsdS)NrIrJrC)rKrjrArkrlrmdivisor_overriderCrCrDrMscSsdS)NrIrJrC)rKrjrArkrlrmrrCrCrDrMs皙?cSsdS)NrIrJrC)rKrprqrnrorrrsrtrCrCrDrMscSsdS)NrIrJrC)r{r|rnrorCrCrDrMscSsdS)NrIrJrC)rKr}rnr~rrrCrCrDrMscSsdS)NrIrJrC)rKr}rnr~rrrrCrCrDrMscSsdS)NrIrJrC)rKrSrgrCrCrDrMscSsdS)NrIrJrC)r{r|r}rr~rrrCrCrDrMscSsdS)NrIrJrC)rKr}rnr~ ignore_indexrrZlabel_smoothingrCrCrDrMscSsdS)NrIrJrC)rrrrrrrrCrCrDrMscSsdS)NrIrJrC)rKrerrrgrCrCrDrMscSsdS)NrIrJrC)rKrerrrgrCrCrDrMscSsdS)NrIrJrC)rKrerrrgrCrCrDrMscSsdS)NrIrJrC)rKrSrgrCrCrDrMscSsdS)NrIrJrC)rKrnrrrrrrCrCrDrMsc SsdS)NrIrJrC) rKrnrrrrrrrZinclude_last_offsetrrCrCrDrMscSsdS)NrIrJrC)rKrerrrgrCrCrDrMscSsdS)NrIrJrC)rKrNrjrrkrArCrCrDrMscSsdS)NrIrJrC)rKrjrN output_ratior_random_samplesrCrCrDrMscSsdS)NrIrJrC)rKrjrNrrrrCrCrDrMscSsdS)NrIrJrC)rKrjrNrrrrCrCrDrMscSsdS)NrIrJrC)rKrjrNrrrrCrCrDrMsư>cSsdS)NrIrJrC)rKr}varr)rtrrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKr`rCrCrDrMsbilinearr-cSsdS)NrIrJrC)rKrrrr_rCrCrDrMscSsdS)NrIrJrC)rKrrnrortrCrCrDrMs绽|=cSsdS)NrIrJrC)Zlogitsrhardrtr`rCrCrDrMscSsdS)NrIrJrC)rKrrCrCrDrMscSsdS)NrIrJrC)rKZmin_valZmax_valrgrCrCrDrMscSsdS)NrIrJrC)rKr}rr~rrrCrCrDrMscSsdS)NrIrJrC)rKrprqrnrorrsrtrCrCrDrMsnearestcSsdS)NrIrJrC)rKr^Z scale_factorrr_Zrecompute_scale_factorrCrCrDrMscSsdS)NrIrJrC)rKr}r~rrrrCrCrDrMscSsdS)NrIrJrC)rKr}r~rrrCrCrDrMscSsdS)NrIrJrC)rKrrnrortrCrCrDrMs{Gz?cSsdS)NrIrJrC)rKZnegative_slopergrCrCrDrMscSsdS)NrIrJrC)rKrnrorCrCrDrMs-C6??cSsdS)NrIrJrC)rKr^rSrTrrCrCrDrMscSsdS)NrIrJrC)rKr` _stacklevelr!rCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrrjrArlrCrCrDrMscSsdS)NrIrJrC)rKrrjrArlrCrCrDrMscSsdS)NrIrJrC)r{r|r}rr~rrrCrCrDrMscSsdS)NrIrJrC)rKrjrArkrrlrrCrCrDrMscSsdS)NrIrJrC)rKrjrArkrrrlrCrCrDrMscSsdS)NrIrJrC)rKrjrArkrrlrrCrCrDrMscSsdS)NrIrJrC)rKrjrArkrrrlrCrCrDrMscSsdS)NrIrJrC)rKrjrArkrrrlrCrCrDrMscSsdS)NrIrJrC)rKrjrArkrrrlrCrCrDrMscSsdS)NrIrJrC)rKrrjrArkrNrCrCrDrMscSsdS)NrIrJrC)rKrrjrArkrNrCrCrDrMscSsdS)NrIrJrC)rKrrjrArkrNrCrCrDrMscSsdS)NrIrJrC)rKr}r~rrrCrCrDrMscSsdS)NrIrJrC)querykeyrWZembed_dim_to_checkZ num_headsZin_proj_weightZ in_proj_biasZbias_kZbias_vZ add_zero_attnZ dropout_pZout_proj_weightZ out_proj_biasrrZkey_padding_maskZ need_weightsZ attn_maskZuse_separate_proj_weightZ q_proj_weightZ k_proj_weightZ v_proj_weightZstatic_kZstatic_vrCrCrDrMscSsdS)NrIrJrC)rKr}rerrnr~rrrCrCrDrMscSsdS)NrIrJrC)rKr}r~rrrCrCrDrMscSsdS)NrIrJrC)rKr}rnr~rrrCrCrDrMscSsdS)NrIrJrC)rKr}rnr~rrrrCrCrDrMs-q=cSsdS)NrIrJrC)rKrer`rtrLrCrCrDrMscSsdS)NrIrJrC)rZ num_classesrCrCrDrMsconstantcSsdS)NrIrJrC)rKrrrWrCrCrDrMscSsdS)NrIrJrC)rrrertrhrCrCrDrMscSsdS)NrIrJrC)rKr} log_inputr)r~rtrrrCrCrDrMscSsdS)NrIrJrC)rKrnrCrCrDrMscSsdS)NrIrJrC)rKrgrCrCrDrMscSsdS)NrIrJrC)rKrgrCrCrDrMs?UUUUUU?cSsdS)NrIrJrC)rKlowerrrrrgrCrCrDrMscSsdS)NrIrJrC)rKrgrCrCrDrMscSsdS)NrIrJrC)rKrgrCrCrDrMscSsdS)NrIrJrC)rKrgrCrCrDrM scSsdS)NrIrJrC)rKr}r~rrrTrCrCrDrM scSsdS)NrIrJrC)rKr}rdeltarCrCrDrM scSsdS)NrIrJrC)rKr}r~rrrCrCrDrM scSsdS)NrIrJrC)rKr`r!r!rCrCrDrM scSsdS)NrIrJrC)rKr`r!r!rCrCrDrMscSsdS)NrIrJrC)rKrT thresholdrCrCrDrMscSsdS)NrIrJrC)rKrrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKr,rWrgrCrCrDrMsc SsdS)NrIrJrC) anchorpositivenegativerrertswapr~rrrCrCrDrMs)distance_functionrr0rcSsdS)NrIrJrC)r-r.r/r1rr0rrCrCrDrMscSsdS)NrIrJrC)rKrjrrkrArCrCrDrMscSsdS)NrIrJrC)rKas_tuplerCrCrDrMsfrocSsdS)NrIrJrC)rKrer`rhrLr!rCrCrDrMscSsdS)NrIrJrC)rKrr`rhrLr!rCrCrDrMscSsdS)NrIrJrC)rKrr`rhrLr!rCrCrDrMscSsdS)NrIrJrC)rKrr`rhrLr!rCrCrDrMscSsdS)NrIrJrC)vpowr`rCrCrDrMscSsdS)NrIrJrC)rKrer`rhrLr!rCrCrDrM scSsdS)NrIrJrC)rKrCrCrDrM!scSsdS)NrIrJrC)rKrrCrCrDrM"scSsdS)NrIrJrC)rKr|Zinput3left transposerCrCrDrM#scSsdS)NrIrJrC)rrrertrhrCrCrDrM$scSsdS)NrIrJrC)rr`rCrCrDrM%scSsdS)NrIrJrC)rKqrrrCrCrDrM&scSsdS)NrIrJrC)rKrerCrCrDrM'sV瞯scSsdS)NrIrJrC)rKrrr!rCrCrDrM?scSsdS)NrIrJrC)rKrnrorwrrtZ output_scaleZoutput_zero_pointrCrCrDrM@scSsdS)NrIrJrC)rKrrrrr packed_ih packed_hhcol_offsets_ihcol_offsets_hhscale_ihscale_hh zero_point_ih zero_point_hhrCrCrDrMAscSsdS)NrIrJrC)rKrrrrrr=r>r?r@rArBrCrDrCrCrDrMDscSsdS)NrIrJrC)rKrjrArkrrlrCrCrDrMFscSsdS)NrIrJrC)rKrjrArkrrlrCrCrDrMHscSsdS)NrIrJrC)rKrrrrrr=r>r?r@rArBrCrDrCrCrDrMJscSsdS)NrIrJrC)rKrrrrrr=r>r?r@rArBrCrDrCrCrDrMLscSsdS)NrIrJrC)rKrLrCrCrDrMNscSsdS)NrIrJrC)rKr!r$r rrCrCrDrMOscSsdS)NrIrJrC)rKhighr!r$r rrCrCrDrMPscSsdS)NrIrJrC)rKr!r$r rrCrCrDrMQscSsdS)NrIrJrC)rKrCrCrDrMRscSsdS)NrIrJrC)rKrLrCrCrDrMSscSsdS)NrIrJrC)rKrPrLrCrCrDrMTscSsdS)NrIrJrC)rKrCrCrDrMUscSsdS)NrIrJrC)rKrCrCrDrMVscSsdS)NrIrJrC)rKrLrCrCrDrMWscSsdS)NrIrJrC)rKrgrCrCrDrMXscSsdS)NrIrJrC)rKrPrLrCrCrDrMYscSsdS)NrIrJrC)rKrer`ZmaxnormrLrCrCrDrMZscSsdS)NrIrJrC)rKr`rCrCrDrM[scSsdS)NrIrJrC)rKshaperCrCrDrM\sc SsdS)NrIrJrC) rKrrrrrrfrrrCrCrDrM]scSsdS)NrIrJrC)rKrrrrrrCrCrDrM^sc SsdS)NrIrJrC) rKrrrrrrfrrrCrCrDrM_scSsdS)NrIrJrC)rKrrrrrrCrCrDrM`scSsdS)NrIrJrC)rKZshiftsrrCrCrDrMascSsdS)NrIrJrC)rKrrrCrCrDrMbscSsdS)NrIrJrC)rKrLrCrCrDrMcscSsdS)NrIrJrC)rirLrCrCrDrMdscSsdS)NrIrJrC)rnrZcompressed_indices_dtyperCrCrDrMescSsdS)NrIrJrC)rKr)rrrrgrCrCrDrMfscSsdS)NrIrJrC)rKrLrCrCrDrMgscSsdS)NrIrJrC)rKrPrSrCrCrDrMhscSsdS)NrIrJrC)rKrXrYrTrSrLrCrCrDrMiscSsdS)NrIrJrC)rKr`rsrcrCrCrDrMjscSsdS)NrIrJrC)rKr`rrHrCrCrDrMkscSsdS)NrIrJrC)Zsorted_sequencerKrrrLrCrCrDrMlsrcSsdS)NrIrJrC)rrlengthsrrZunsaferCrCrDrMmscSsdS)NrIrJrC)rKr`rrCrCrDrMnscSsdS)NrIrJrC)rKrgrCrCrDrMoscSsdS)NrIrJrC)rKrLrCrCrDrMpscSsdS)NrIrJrC)rKrLrCrCrDrMqscSsdS)NrIrJrC)rKrLrCrCrDrMrscSsdS)NrIrJrC)rKrLrCrCrDrMsscSsdS)NrIrJrC)rKrLrCrCrDrMtscSsdS)NrIrJrC)rKrLrCrCrDrMuscSsdS)NrIrJrC)rKrLrCrCrDrMvscSsdS)NrIrJrC)rKrCrCrDrMwscSsdS)NrIrJrC)rKrCrCrDrMxscSsdS)NrIrJrC)rKrYrCrCrDrMyscSsdS)NrIrJrC)rKrYrCrCrDrMzscSsdS)NrIrJrC)rKr`r!rCrCrDrM{scSsdS)NrIrJrC)rKrrLrCrCrDrM|scSsdS)NrIrJrC)rKrPrLrCrCrDrM}s)stablerLcSsdS)NrIrJrC)rKr`r rJrLrCrCrDrM~scSsdS)NrIrJrC)rsplit_size_or_sectionsr`rCrCrDrMscSsdS)NrIrJrC)rrKr`rCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKr`rLrCrCrDrMscSsdS)NrIrJrC)rKrXrYrTrSrLrCrCrDrMscSsdS)NrIrJrC)rir`rLrCrCrDrMscSsdS)NrIrJrC)rKr`rCrCrDrMscSsdS)NrIrJrC)rKr`rCrCrDrMsreflectc SsdS)NrIrJrC) rKrrrrrZpad_moderrrrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKr`rCrCrDrMscSsdS)NrIrJrC)rKr`rCrCrDrMscSsdS)NrIrJrC)rKr;Z compute_uvrLrCrCrDrMscSsdS)NrIrJrC)rKr8rMrCrCrDrMscSsdS)NrIrJrC)rKZ full_matricesrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrrrLrCrCrDrMscSsdS)NrIrJrC)rKdim0rrCrCrDrMscSsdS)NrIrJrC)rKZaxis0Zaxis1rCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrrLrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKr`rhrLrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKr`r!rCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrerCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rKrPrLrCrCrDrMscSsdS)NrIrJrC)rrPrLrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrrCrCrDrMscSsdS)NrIrJrC)rKrr`rLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rindrCrCrDrMscSsdS)NrIrJrC)rrrrCrCrDrMscSsdS)NrIrJrC)rrrrLrCrCrDrMscSsdS)NrIrJrC)rKrr`rCrCrDrMscSsdS)NrIrJrC)rKr,rWrgrCrCrDrMscSsdS)NrIrJrC)rKrrCrCrDrMscSsdS)NrIrJrC)rKrr`r rLrCrCrDrMscSsdS)NrIrJrC)rKrCrCrDrMscSsdS)NrIrJrC)rKrOrrCrCrDrMscSsdS)NrIrJrC)rrr`rCrCrDrMscSsdS)NrIrJrC)rrr`rCrCrDrMscSsdS)NrIrJrC)rKrrr7Z unitriangularrCrCrDrMscSsdS)NrIrJrC)rKrrLrCrCrDrMsc SsdS)NrIrJrC) r-r.r/rrertr0r~rrrCrCrDrMscSsdS)NrIrJrC)rKrrLrCrCrDrMscSsdS)NrIrJrC)rKrPrCrCrDrMscSsdS)NrIrJrC)rKrLrCrCrDrMscSsdS)NrIrJrC)rKr`rCrCrDrMscSsdS)NrIrJrC)rKsortedreturn_inverse return_countsr`rCrCrDrMscSsdS)NrIrJrC)rKrRrSr`rCrCrDrMscSsdS)NrIrJrC)rKrr`rCrCrDrMscSsdS)NrIrJrC)rrKr`rCrCrDrMscSsdS)NrIrJrC)rrKr`rCrCrDrMscSsdS)NrIrJrC)rKr`rLrCrCrDrMscSsdS)NrIrJrC)rKr`rCrCrDrMscSsdS)NrIrJrC)rKr`rCrCrDrMscSsdS)NrIrJrC)rKrrCrCrDrMscSsdS)NrIrJrC)rirLrCrCrDrMscSsdS)NrIrJrC) conditionrrrCrCrDrMscSsdS)NrIrJrC)rKr!r$r rrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rr!rCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rarrayrCrCrDrMscSsdS)NrIrJrC)ridxrCrCrDrMscSsdS)NrIrJrC)rmemorCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)r format_specrCrCrDrMscSsdS)NrIrJrC)rprotorCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrr4rCrCrDrMscSsdS)NrIrJrC)rdrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrM scSsdS)NrIrJrC)rrCrCrDrM scSsdS)NrIrJrC)rrCrCrDrM scSsdS)NrIrJrC)rrCrCrDrM scSsdS)NrIrJrC)rrCrCrDrM scSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrM scSsdS)NrIrJrC)rrCrCrDrM!sc[sdS)NrIrJrC)rr! non_blockingrrCrCrDrM"scSsdS)NrIrJrC)rrCrCrDrM#scSsdS)NrIrJrC)rrCrCrDrM$scSsdS)NrIrJrC)rrCrCrDrM%scSsdS)NrIrJrC)rrCrCrDrM&scSsdS)NrIrJrC)rrCrCrDrM'scSsdS)NrIrJrC)rrCrCrDrM(scSsdS)NrIrJrC)rrCrCrDrM)scSsdS)NrIrJrC)rrCrCrDrM*scSsdS)NrIrJrC)rrrgrCrCrDrM+scSsdS)NrIrJrC)rrCrCrDrM,scSsdS)NrIrJrC)rrPrCrCrDrM-scSsdS)NrIrJrC)rorderZ ellipsis_idxrCrCrDrM.scSsdS)NrIrJrC)rcallablerCrCrDrM/scSsdS)NrIrJrC)rr^rArCrCrDrM0scSsdS)NrIrJrC)rr^rArCrCrDrM1scSsdS)NrIrJrC)rgradientZ retain_graphZ create_graphrOrCrCrDrM2scSsdS)NrIrJrC)rr"rCrCrDrM3scSsdS)NrIrJrC)rr"rCrCrDrM4scSsdS)NrIrJrC)rr"rCrCrDrM5scSsdS)NrIrJrC)rr"rCrCrDrM6s)rzcSsdS)NrIrJrC)rmediansigmarzrCrCrDrM7scSsdS)NrIrJrC)rrCrCrDrM8scSsdS)NrIrJrC)rZ coalescedrCrCrDrM9scSsdS)NrIrJrC)rr"rCrCrDrM:scSsdS)NrIrJrC)rrHr[rCrCrDrM;scSsdS)NrIrJrC)rr"rCrCrDrM<scSsdS)NrIrJrC)rr"rCrCrDrM=scSsdS)NrIrJrC)rr"rCrCrDrM>scSsdS)NrIrJrC)rrCrCrDrM?scSsdS)NrIrJrC)rrCrCrDrM@scSsdS)NrIrJrC)rrCrCrDrMAscSsdS)NrIrJrC)rr"rCrCrDrMBscSsdS)NrIrJrC)rr"rCrCrDrMCscSsdS)NrIrJrC)rrCrCrDrMDscSsdS)NrIrJrC)rr^rCrCrDrMEscSsdS)NrIrJrC)rrPrCrCrDrMFscSsdS)NrIrJrC)rrrzrCrCrDrMGscSsdS)NrIrJrC)rrWrCrCrDrMHscSsdS)NrIrJrC)rrWrCrCrDrMIscSsdS)NrIrJrC)rr"rCrCrDrMJscSsdS)NrIrJrC)rr"rCrCrDrMKscSsdS)NrIrJrC)rrerzrCrCrDrMLscSsdS)NrIrJrC)rrCrCrDrMMscSsdS)NrIrJrC)rr"rCrCrDrMNscSsdS)NrIrJrC)rrCrCrDrMOscSsdS)NrIrJrC)rrCrCrDrMPscSsdS)NrIrJrC)rr"rCrCrDrMQscSsdS)NrIrJrC)rrCrCrDrMRscSsdS)NrIrJrC)rrCrCrDrMSscSsdS)NrIrJrC)rrCrCrDrMTscSsdS)NrIrJrC)rrCrCrDrMUscSsdS)NrIrJrC)rrrCrCrDrMVscSsdS)NrIrJrC)rrCrCrDrMWscSsdS)NrIrJrC)rrCrCrDrMXscSsdS)NrIrJrC)rrwstdrzrCrCrDrMYscSsdS)NrIrJrC)rr`rCrCrDrMZscSsdS)NrIrJrC)rr"rCrCrDrM[scSsdS)NrIrJrC)rrr]rCrCrDrM\scSsdS)NrIrJrC)rrrr]rCrCrDrM]scSsdS)NrIrJrC)rrYrCrCrDrM^scSsdS)NrIrJrC)r dimensionr rrCrCrDrM_scSsdS)NrIrJrC)rrCrCrDrM`scSsdS)NrIrJrC)rrCrCrDrMascSsdS)NrIrJrC)rrCrCrDrMbscSsdS)NrIrJrC)rrCrCrDrMcscSsdS)NrIrJrC)rr`rCrCrDrMdscSsdS)NrIrJrC)rrCrCrDrMescSsdS)NrIrJrC)rrrrrCrCrDrMfscSsdS)NrIrJrC)rrCrCrDrMgscSsdS)NrIrJrC)rfrom_torzrCrCrDrMhscSsdS)NrIrJrC)rstreamrCrCrDrMiscSsdS)NrIrJrC)rrrCrCrDrMjscSsdS)NrIrJrC)rhookrCrCrDrMkscSsdS)NrIrJrC)rnamerCrCrDrMlscWsdS)NrIrJrC)rr^rCrCrDrMmscSsdS)NrIrJrC)rrrCrCrDrMnscSsdS)NrIrJrC)rrPrCrCrDrMoscWsdS)NrIrJrC)rr^rCrCrDrMpscSsdS)NrIrJrC)rr^rCrCrDrMqscSsdS)NrIrJrC)rrPrCrCrDrMrscSsdS)NrIrJrC)rrCrCrDrMsscSsdS)NrIrJrC)rrstorage_offsetr^rArCrCrDrMtscSsdS)NrIrJrC)rrCrCrDrMuscSsdS)NrIrJrC)rr"rCrCrDrMvscSsdS)NrIrJrC)rrCrCrDrMwscSsdS)NrIrJrC)rrCrCrDrMxscSsdS)NrIrJrC)rrrCrCrDrMyscSsdS)NrIrJrC)rsize1size2 dense_dimrCrCrDrMzscSsdS)NrIrJrC)rrirjrkrCrCrDrM{scSsdS)NrIrJrC)rrXrYrTrSrLrCrCrDrM|scSsdS)NrIrJrC)rrCrCrDrM}scSsdS)NrIrJrC)rrCrCrDrM~scSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rr^rCrCrDrMscWsdS)NrIrJrC)rZrepsrCrCrDrMscSsdS)NrIrJrC)rr!r[copyr"rCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrbr^steprCrCrDrMscSsdS)NrIrJrC)rrcrdrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrFrCrCrDrMscSsdS)NrIrJrC)rrPrCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrerCrCrDrMscSsdS)NrIrJrC)rrCrCrDrMscSsdS)NrIrJrC)rrcondZdriverrCrCrDrMs___Z__iZ__rZbitwise_)N)N)N)N)N)N)N)rIrIN)rIN)rIN)rIrIN)rIrIN)rIrIN)N)rarbF)F)N)N)NFN)N)NFN)N)N)N)N)N)N)N)N)N)N)NrFT)rIrIN)NN)NNNrwN)Nr)N)N)N)N)N)N)N)N)FFN)rN)rN)rr)N)rF)FN)N)FN)FN)FN)r)NNN)NNN)N)N)N)rINN)rF)N)N)N)N)N)N)r)NrIrrIrI)NrIrrIrI)NrIrrIrI)r)NrIrrrIrI)NrIrrrIrI)NrIrrrIrI)N)rNNrw)N)rIrbrJ)rJN)rrwF)N)N)NN)NNrJ)NrJ)N)N)rN)rN)rrJ)rIrJNNN)rrrI)N)r)NN)NN)N)F)N)FN)N)N)rN)rN)NNrFF)NrFrwFNN)NNNF)N)N)N)N)N)N)N)FFrJ)NrJNrJ)NrJNrJ)NrJNrJ)NrJNrJ)NrJNrJ)NrJN)NNN)NNN)NNN)NNNrJrqrJ)NrrNrqrJrqrJ)NrsNrqrJrqrJ)NrtNrqrJrqrJ)NruN)N)NrJ)NrJN)NrJ)rrJ)NFN)N)N)N)N)N)TT)NF)N)N)N)N)N)N)N)N)NNrI)NNraT)NN)N)N)r)N)rNNrw)rrrN)rNNNFN)N)N)N)N)N)N)F)N)FF)N)N)N)N)FN)rarbF)NNNTFNNF)NNrwF)NFN)NNraT)N)N)N)N)N)N) NNNNNNNNNNNNN)N)N)N)N)N)N)N)N)N)N)N)N)FN)N)FN)NN)N)N)N)TFN)N)rNNrw)N)N)N)N)NF)NF)N)N)N)N)NrrIF)NrrIF)NrrIF)NrrIFF)N)NFNN)N)N)N)N)N)NrJ)rJFN)FN)N)N)FN)N)r NNN)NNra)r)r)rNFN)N)N)N)N)N)F)F)F)F)F)F)N)rFF)NrFTN)NrFTN)NNFrra)N)NNNrw)NNNrwN)rF)rNNrw)NNrvNrwr )rrwF)rTF)rTF)rTF)rF)NNrFF) NNrFrwFNFN)rFF)rIrrI)NNFN)NNFN)NNFN)NNFN)FrrwrJ)rJ)rr-N)NNrarJ)rIFrrJ)r)rwrF)rNNrw)NNNNTrra)NNrNN)NNrwF)NNrw)NNra)rF)N)rrr)Nr N)NF)NF)rNNrw)NrrIFF)NrrIFF)NrrIFF)NrrIFF)NrrIFF)NrrIFF)NrN)NrN)NrN)NNrw) TNTNFNNNNN)rIrNNNrw)NNrw)NNNrw)NNrxNrw)rrIr$NrJ)rJ)r%r)rrF)TFNrbNrw)F)F)r'r(FF)F)F)F)NNrwr)rwr)NNrw)Nr N)Nr N)rIr+)r)F)rrrFNNrw)rIrrI)F)r3NFNN)NNFNN)rNFNNrqrJrqrJ)r3ryFNN)rr)r3NFNN)TF)rrF)NTr)r)r9)r9F)N)N)N)NNNF)N)N)F)TN)r<N)NFN)NFN)r)rI)rr)rIrI)N)NNNF)NNNF)N)N)N)F)N)N)N)NN)NN)NrrI)rIrz)N)N?UUUUUU?)r{r|FF)N)rI)rIrIN)FFN)rNNrF)F)N)N)N)N)N)N)N)N)N)NrJ)rJF)r)r)N)N)NN)rIrIN)rN)N)N)NNNTrLFTN)N)N)N)N)TTN)rMrN)TN)N)FTN)N)N)N)FN)N)N)N)N)NN)N)N)r)N)rN)r)FrJ)rJFNrJ)NrJrJ)NrJ)TFF)rN)rrrFNNrw)rN)N)r)TFFN)FFN)r)r)r)N)N)N)N)NN)NNNF)NF)NNFN)rrI)F)rI)rIr)F)rN)T)NrNN)rIrIN)rrI)N)NN(rrrabsoluteZadaptive_avg_pool1dZadaptive_max_pool1dacosZarccosacoshZarccoshaddZaddbmmZaddcdivZaddcmulZaddmmZaddmvaddrZaffine_grid_generatorallZallcloseZ alpha_dropoutZamaxZaminZaminmaxZangleanyZargmaxZargminZargsortasinZ _assert_asyncZarcsinasinhZarcsinhatanZarctanatan2atanhZarctanhZ atleast_1dZ atleast_2dZ atleast_3dZ avg_pool1dZbaddbmmZ batch_normZbatch_norm_backward_elemtZbatch_norm_backward_reduceZbatch_norm_elemtZbatch_norm_gather_statsZ#batch_norm_gather_stats_with_countsZbatch_norm_statsZbatch_norm_update_statsZ bernoullirZ binary_cross_entropy_with_logitsZbincountZbinomialZ bitwise_andZ bitwise_notZ bitwise_orZ bitwise_xorZbitwise_left_shiftZbitwise_right_shiftZ block_diagZbmmZbroadcast_tensorsZ broadcast_toZ bucketizeZcartesian_prodcatconcatZcdistceilZceluZ chain_matmulZchannel_shuffleZcholeskylinalgZ cholesky_exZcholesky_inverseZcholesky_solveZchoose_qparams_optimizedchunkclampZclipZ clamp_minZ clamp_maxZ column_stackZcovclone combinationscomplexcopysignZpolarrnZconjZ conj_physicalZ resolve_conjZ resolve_negZconstant_pad_ndZconv1dZconv2dZconv3dZ convolutionZconv_tbcZconv_transpose1dZconv_transpose2dZconv_transpose3dZcorrcoefcosZcosine_embedding_losscoshZcosine_similarityZ count_nonzeroZcrossZctc_lossZcummaxZcumminZcumprodZcumsumZcumulative_trapezoidZ logcumsumexpZdeg2radZ dequantizeZdetdetachZdiagZ diag_embedZdiagflatZdiffrZdigammadistdivdividedotrZdsmmZhsmmZdsplitZdstackZeigZeigvalsZeighZeigvalshZeinsumZ embeddingZ embedding_bagZ empty_likeeqequalerferfcZerfinvexpZexp2expm1Z fake_quantize_per_channel_affineZfake_quantize_per_tensor_affineZfused_moving_avg_obs_fake_quantZfbgemm_linear_fp16_weightZ)fbgemm_linear_fp16_weight_fp32_activationZfbgemm_linear_int8_weightZ)fbgemm_linear_int8_weight_fp32_activationZfbgemm_linear_quantize_weightZfbgemm_pack_gemm_matrix_fp16Zfbgemm_pack_quantized_matrixZfeature_alpha_dropoutZfeature_dropoutr'ZifftZrfftZirfftZhfftZihfftZfftnZifftnZrfftnZirfftnZfft2Zifft2Zrfft2Zirfft2ZfftshiftZ ifftshiftZfixflattenZflipZfliplrZflipudZfrobenius_normfloorZ floor_divideZ float_powerfmodfracfrexpZ full_likeZstridedZ lu_unpackgathergcdgeZ greater_equalZgeqrfZi0innerouterZgerr^Z grid_samplerZgrid_sampler_2dZgrid_sampler_3dZ group_normZgruZgru_cellgtZgreaterZ hardshrinkZ heavisideZhinge_embedding_lossZhistcZ histogramZhouseholder_productZhspmmZhsplitZhstackhypotZigammaZigammacrZ index_addZ index_copyZ index_putZ index_selectZ index_fillisfiniteisinisinfZisrealZisposinfZisneginfZ instance_normZint_reprZinverseinvZinv_exZ is_complexZis_conjZis_negZis_distributedZ is_inferenceZis_floating_pointZ is_nonzeroZ is_same_size is_signediscloseisnanZistftZkl_divZkronZkthvalueZ layer_normZlcmldexpleZ less_equalZlerplgammaZlobpcglogZ log_softmaxlog10log1plog2Z logaddexpZ logaddexp2ZlogdetZxlogy logical_andZ logical_not logical_or logical_xorZ logsumexpZlogitZlstmZ lstm_cellZlstsqltZlessZluZlu_solveZmargin_ranking_lossZ masked_fillZmasked_scatterZ masked_selectmatmulZ matrix_powerZ matrix_rankZ multi_dotZ matrix_exprmaximumZfmaxZ max_pool1dZ max_pool2dZ max_pool3dZmax_pool1d_with_indicesrwZnanmeanr_Z nanmedianZmeshgridrZminimumZfminZmiopen_batch_normZmiopen_convolutionZmiopen_convolution_transposeZmiopen_depthwise_convolutionZ miopen_rnnmmrZmovedimZmoveaxisZmsortmulmultiplyZ multinomialmvZmvlgammaZnarrowZ narrow_copyZ nan_to_numZnative_batch_normZnative_layer_normZnative_group_normZ native_normne not_equalnegr/Z nextafterr.r/Zadaptive_avg_pool2dZadaptive_avg_pool3dZ adaptive_max_pool1d_with_indicesZadaptive_max_pool2dZ adaptive_max_pool2d_with_indicesZadaptive_max_pool3dZ adaptive_max_pool3d_with_indicesZ affine_gridZ avg_pool2dZ avg_pool3dZbinary_cross_entropyZ cross_entropyZ dropout2dZ dropout3dZelufoldZfractional_max_pool2dZ"fractional_max_pool2d_with_indicesZfractional_max_pool3dZ"fractional_max_pool3d_with_indicesZgaussian_nll_lossZgeluZgluZ grid_sampleZgumbel_softmaxZhardtanhZ interpolateZl1_lossZ leaky_reluZlinearZlocal_response_normZ logsigmoidZ lp_pool1dZ lp_pool2dZmax_pool2d_with_indicesZmax_pool3d_with_indicesZ max_unpool1dZ max_unpool2dZ max_unpool3dZmse_lossZmulti_head_attention_forwardZmulti_margin_lossZmultilabel_margin_lossZmultilabel_soft_margin_lossZnll_loss normalizeZone_hotrZpairwise_distanceZpoisson_nll_lossZpreluZreluZrelu6ZrreluZseluZsiluZmishZsmooth_l1_lossZ huber_lossZsoft_margin_lossZsoftmaxZsoftminZsoftplusZ softshrinkZsoftsignZ tanhshrinkr,Ztriplet_margin_lossZ!triplet_margin_with_distance_lossZunfoldZnonzerorZ vector_normZ matrix_normZnorm_except_dimZ nuclear_normrZorgqrZormqrZpermuteZ pca_lowrankZpdistZpinverseZpinvZ pixel_shuffleZpixel_unshuffleZpoissonZ polygammar.Z ones_liker5prodputZq_per_channel_axisZq_per_channel_scalesZq_per_channel_zero_pointsZq_scaleZ q_zero_pointZqrZquantileZ nanquantileZquantize_per_channelZquantize_per_tensorZquantized_batch_normZquantized_gru_cellZquantized_lstm_cellZquantized_max_pool1dtupleZquantized_max_pool2dZquantized_rnn_relu_cellZquantized_rnn_tanh_cellZrad2degZ rand_likeZ randint_likeZ randn_likeZravelrZvdotZ view_as_realZview_as_complexZ reciprocal remainderZrenormZrepeat_interleaveZreshapeZrnn_reluZ rnn_relu_cellZrnn_tanhZ rnn_tanh_cellZrollZrot90roundZ row_stackZ_rowwise_pruneZrsqrtZrsubZsaddmmZscatterZ scatter_addZ searchsortedZsegment_reduceselectr2signZsignbitZsgnsinZsincsinhZslogdetZsmmZspmmZsolvesortsplitZsplit_with_sizessqrtZsquareZsqueezeZsspaddmmstackraZstd_meanZstftsubsubtractsumZnansumZsvdZ svd_lowrankZsvdvalsZsymeigZswapaxesZswapdimsspecialZentrZerfcxZexpitpsiZgammaincZ gammainccZgammalnZi0ei1Zi1eZ multigammalnZndtriZndtrZxlog1pyzetatZtakeZtake_along_dimtanr3Z tensorinvZ tensorsolveZ tensordotZ tensor_splitZtileZtopktracer7ZtrapzZ trapezoidZtriangular_solveZtrilZtriuZ true_dividetruncZunbinduniqueZunique_consecutiveZ unsafe_chunkZ unsafe_splitZunsafe_split_with_sizesZ unsqueezerZvar_meanZvsplitZvstackwhereZ zeros_like __floordiv__ __rfloordiv__ __ifloordiv__ __truediv__ __rtruediv__ __itruediv__ __lshift__ __rlshift__ __ilshift__ __rshift__ __rrshift__ __irshift____and____or____xor__ __float__ __complex__Z __array____bool__ __contains____neg__ __invert____mod____rmod____imod__Z__array_wrap__ __getitem__ __deepcopy____int__Z__long____hash__ __index____len__ __format__ __reduce_ex__ __reversed____repr__ __setitem__ __setstate__TrBZ_backward_hooksrEZ_cdatarFrGZ_grad_fnZgrad_fn_versionrr r!Zis_cudaZis_xpuZis_leafZ retains_gradis_metaZis_mlcZis_ortZ is_mkldnnZ is_quantizedZ is_sparseZ is_sparse_csrZ is_vulkanr$rgrndimZ output_nrrrFZvolatileZ__cuda_array_interface__typeZ _coalesced_Z_dimIZ_dimVZ_indicesZ_is_viewZ_nnzZ crow_indicesZ col_indicesZ _update_namesZ_valuesZalign_asZalign_toZapply_r%Z as_strided_ZbackwardZbfloat16Zpreserve_formatboolbytecharZcauchy_Zcoalesce contiguousZcontiguous_formatZcopy_cpuZcudaZxpuZdata_ptrrkr`doubleZcdoubleZ element_sizeexpandZ expand_asZ exponential_Zfill_Zfill_diagonal_floatZcfloatZ geometric_rZhalfZ has_namesrintZ is_coalescedZ is_contiguous is_pinnedZ is_set_toZ is_shareditemZ log_normal_longZmap_Zmap2_Z ndimensionZnelementZnormal_ZnumpyZ pin_memoryZput_r#Zrandom_Z record_streamZ refine_names register_hookrenamerepeatZrequires_grad_Z reshape_asresizeZresize_Z resize_asZ retain_gradset_Z share_memory_shortr^Z sparse_dimZ sparse_maskZsparse_resize_Zsparse_resize_and_clear_ZstoragerhZ storage_typeZ sum_to_sizerdZto_denseZ to_sparsetolistZ to_mkldnnZtype_asZuniform_rviewZview_asZzero_Z __dlpack__Z__dlpack_device__r items__name__ startswithlenextendgetattrr]update) rretZret2Zignoredrr4rsubnamergfuncrCrCrDr s                                                                                                                                   ) dispatchercsfdd}|S)aWraps a given function with ``__torch_function__`` -related functionality. Parameters ---------- dispatcher: Callable A callable that returns an iterable of Tensor-likes passed into the function. Note ---- This decorator may reduce the performance of your code. Generally, it's enough to express your code as a series of functions that, themselves, support __torch_function__. If you find yourself in the rare situation where this is not the case, e.g. if you're wrapping a low-level library and you also need it to work for Tensor-likes, then this function is available. Examples -------- >>> def dispatcher(a): # Must have the same signature as func ... return (a,) >>> @torch.overrides.wrap_torch_function(dispatcher) >>> def func(a): # This will make func dispatchable by __torch_function__ ... return a + 0 cstjfdd}|S)Ncs.||}t|r$t|f||S||S)N)rr)argsr relevant_args)r*r)rCrDwrappeds z3wrap_torch_function..inner..wrapped) functoolswraps)r)r-)r*)r)rDrsz"wrap_torch_function..innerrC)r*rrC)r*rDrs )r,rcCst}g}x|D]}t|}||krt|dr|jtjjkr|r|j|t|}x(t |D]\}}t |t|r\|}Pq\W|j ||q|h}|g}qW|S)aReturns a list of arguments on which to call __torch_function__. Checks arguments in relevant_args for __torch_function__ implementations, storing references to the arguments and their types in overloaded_args and overloaded_types in order of calling precedence. Only distinct types are considered. If a type is a subclass of another type it will have higher precedence, otherwise the precedence order is the same as the order of arguments in relevant_args, that is, from left-to-right in the argument list. The precedence-determining algorithm implemented in this function is described in `NEP-0018`_. See torch::append_overloaded_arg for the equivalent function in the C++ implementation. Parameters ---------- relevant_args : iterable of array-like Iterable of array-like arguments to check for __torch_function__ methods. Returns ------- overloaded_args : list Arguments from relevant_args on which to call __torch_function__ methods, in the order in which they should be called. .. _NEP-0018: https://numpy.org/neps/nep-0018-array-function-protocol.html r<) setr hasattrr<r_CZ_disabled_torch_function_implrr# enumerate issubclassinsert)r,Zoverloaded_typesoverloaded_argsargZarg_typeriZold_argrCrCrD_get_overloaded_argss"    r9) public_apir,rc Ost|}ttt|}xL|D]D}|j}t|drF|j|krFtjdt |||||}|t k r|SqWdj |j |j } tdj | dd|DdS)awImplement a function with checks for ``__torch_function__`` overrides. See torch::autograd::handle_torch_function for the equivalent of this function in the C++ implementation. Arguments --------- public_api : function Function exposed by the public torch API originally called like ``public_api(*args, **kwargs)`` on which arguments are now being checked. relevant_args : iterable Iterable of arguments to check for __torch_function__ methods. args : tuple Arbitrary positional arguments originally passed into ``public_api``. kwargs : tuple Arbitrary keyword arguments originally passed into ``public_api``. Returns ------- object Result from calling ``implementation`` or an ``__torch_function__`` method, as appropriate. Raises ------ TypeError : if no implementation is found. Example ------- >>> def func(a): ... if type(a) is not torch.Tensor: # This will make func dispatchable by __torch_function__ ... return handle_torch_function(func, (a,), a) ... return a + 0 __self__zDefining your `__torch_function__ as a plain method is deprecated and will be an error in PyTorch 1.11, please define it as a classmethod.z{}.{}zOno implementation found for '{}' on types that implement __torch_function__: {}cSsg|] }t|qSrC)r ).0r7rCrCrD Ssz)handle_torch_function..N)r9rmapr r<r1r;warningswarnDeprecationWarningNotImplementedformat __module__r! TypeError) r:r,r+rr6typesZoverloaded_argZtorch_func_methodresult func_namerCrCrDrs& a/Check for __torch_function__ implementations in the elements of an iterable. Considers exact ``Tensor`` s and ``Parameter`` s non-dispatchable. Arguments --------- relevant_args : iterable Iterable or aguments to check for __torch_function__ methods. Returns ------- bool True if any of the elements of relevant_args have __torch_function__ implementations, False otherwise. See Also ________ torch.is_tensor_like Checks if something is a Tensor-like, including an exact ``Tensor``. zSpecial case of `has_torch_function` for single inputs. Instead of: `has_torch_function((t,))` call: `has_torch_function_unary(t)` which skips unnecessary packing and unpacking work. aSpecial case of `has_torch_function` that skips tuple creation. This uses the METH_FASTCALL protocol introduced in Python 3.7; for 3.6 and before it has roughly equivilent performance compared to `has_torch_function`. Instead of: `has_torch_function((a, b))` call: `has_torch_function_variadic(a, b)` which skips unnecessary packing and unpacking work. c Cstjt}ttjttjjftjtjjftj jttj jftj ttj ftj ttj ftj ttj ftj ttj fg}x~|D]t\}}xh|D]^}|tj k r|jdrqn(|jdrqn|djsqn |dkrqn(t||}tt|d|krq|dkrqt||}|tj kr,tt|d|kr,qt|tjr Returns a set of the overridable methods on ``torch.Tensor`` )rr0rr)rWmethodsrCrCrD_get_tensor_methodssr[)r)rcCs|tkp|jdkS)aw Returns True if the function passed in is a handler for a method or property belonging to ``torch.Tensor``, as passed into ``__torch_function__``. .. note:: For properties, their ``__get__`` method must be passed in. This may be needed, in particular, for the following reasons: 1. Methods/properties sometimes don't contain a `__module__` slot. 2. They require that the first passed-in argument is an instance of ``torch.Tensor``. Examples -------- >>> is_tensor_method_or_property(torch.Tensor.add) True >>> is_tensor_method_or_property(torch.add) False rB)r[r!)r)rCrCrDrscCst|tjkptt|dS)a9 Returns ``True`` if the passed-in input is a Tensor-like. Currently, this occurs whenever there's a ``__torch_function__`` attribute on the type of the input. Examples -------- A subclass of tensor is generally a Tensor-like. >>> class SubTensor(torch.Tensor): ... >>> is_tensor_like(SubTensor([0])) True Built-in or user types aren't usually Tensor-like. >>> is_tensor_like(6) False >>> is_tensor_like(None) False >>> class NotATensor: ... >>> is_tensor_like(NotATensor()) False But, they can be made Tensor-like by implementing __torch_function__. >>> class TensorLike: ... @classmethod ... def __torch_function__(cls, func, types, args, kwargs): ... return -1 >>> is_tensor_like(TensorLike()) True r<)r rrr1)inprCrCrDrs")$__doc__rTrJr.rFr?typingrrrrrrrrZtorch._Cr r r r rM lru_cacher rHrrr9rrr0r1rr[r rrrCrCrCrDs`$D+$@? E