functional.pyi 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156
  1. # @generated by tools/pyi/gen_pyi.py from torch/nn/functional.pyi.in
  2. # mypy: allow-untyped-defs
  3. from collections.abc import Sequence
  4. from typing import Any, Callable, Literal, overload
  5. from typing_extensions import TypeAlias
  6. from torch import Tensor
  7. from torch.types import _dtype, _int, _size
  8. from .common_types import (
  9. _ratio_any_t,
  10. _size_1_t,
  11. _size_2_opt_t,
  12. _size_2_t,
  13. _size_3_opt_t,
  14. _size_3_t,
  15. _size_any_t,
  16. )
  17. __all__ = [
  18. "GRID_SAMPLE_INTERPOLATION_MODES",
  19. "GRID_SAMPLE_PADDING_MODES",
  20. ]
  21. # 'TypedDict' is a new accepted type that represents a dictionary with a fixed set of allowed keys.
  22. # It is standards-track but not in `typing` yet. We leave this hear to be uncommented once the feature
  23. # is wide-spread.
  24. # from mypy_extensions import TypedDict
  25. # GRID_SAMPLE_INTERPOLATION_MODES = TypedDict('GRID_SAMPLE_INTERPOLATION_MODES', {'bilinear': int, 'nearest': int})
  26. # GRID_SAMPLE_PADDING_MODES = TypedDict('GRID_SAMPLE_PADDING_MODES', {'zeros': int, 'border': int, 'reflection': int})
  27. GRID_SAMPLE_INTERPOLATION_MODES: TypeAlias = dict[str, int]
  28. GRID_SAMPLE_PADDING_MODES: TypeAlias = dict[str, int]
  29. # These stubs were generated by running stubgen (`stubgen --parse-only functional.py`), followed by manual cleaning.
  30. #
  31. # The 'BroadcastingList{1,2,3}' types were replaced by `_size` or _output_ratio, as appropriate.
  32. # This was necessary since the JIT uses BroadcastingList* types but static checking with mypy etc requires a `Sequence`
  33. # type. There is no way to express the expected lengths of these lists in the current Python typing system.
  34. #
  35. # Functions created via `_add_docstr` in `functional.py` where merely typed as `Any` by `stubgen`, so those were
  36. # deleted from the stub and replaced by generated declarations. See `gen_pyi` for the implementation of the code
  37. # generation logic for those functions. In the future, it might be worth looking into using the mypy plugin system
  38. # to encode the type semantics of `_add_docstr`, should that system ever become widespread.
  39. def _canonical_mask(
  40. mask: Tensor | None,
  41. mask_name: str,
  42. other_type: _dtype | None,
  43. other_name: str,
  44. target_type: _dtype,
  45. check_other: bool = True,
  46. ) -> Tensor | None: ...
  47. __all__ += ["_canonical_mask"]
  48. def _none_or_dtype(input: Tensor | None) -> _dtype | None: ...
  49. __all__ += ["_none_or_dtype"]
  50. def adaptive_avg_pool2d(input: Tensor, output_size: _size_2_opt_t) -> Tensor: ...
  51. __all__ += ["adaptive_avg_pool2d"]
  52. def adaptive_avg_pool3d(input: Tensor, output_size: _size_3_opt_t) -> Tensor: ...
  53. __all__ += ["adaptive_avg_pool3d"]
  54. def adaptive_max_pool1d_with_indices(
  55. input: Tensor,
  56. output_size: _size,
  57. return_indices: bool = ...,
  58. ) -> tuple[Tensor, Tensor]: ...
  59. __all__ += ["adaptive_max_pool1d_with_indices"]
  60. def adaptive_max_pool2d_with_indices(
  61. input: Tensor,
  62. output_size: _size_2_opt_t,
  63. return_indices: bool = ...,
  64. ) -> tuple[Tensor, Tensor]: ...
  65. __all__ += ["adaptive_max_pool2d_with_indices"]
  66. def adaptive_max_pool3d_with_indices(
  67. input: Tensor,
  68. output_size: _size_3_opt_t,
  69. return_indices: bool = ...,
  70. ) -> tuple[Tensor, Tensor]: ...
  71. __all__ += ["adaptive_max_pool3d_with_indices"]
  72. def affine_grid(
  73. theta: Tensor,
  74. size: list[int],
  75. align_corners: Any | None = ...,
  76. ) -> Tensor: ...
  77. __all__ += ["affine_grid"]
  78. def alpha_dropout(
  79. input: Tensor,
  80. p: float = ...,
  81. training: bool = ...,
  82. inplace: bool = ...,
  83. ) -> Tensor: ...
  84. __all__ += ["alpha_dropout"]
  85. def assert_int_or_pair(arg: Any, arg_name: Any, message: Any) -> None: ...
  86. __all__ += ["assert_int_or_pair"]
  87. def batch_norm(
  88. input: Tensor,
  89. running_mean: Tensor | None,
  90. running_var: Tensor | None,
  91. weight: Tensor | None = ...,
  92. bias: Tensor | None = ...,
  93. training: bool = ...,
  94. momentum: float = ...,
  95. eps: float = ...,
  96. ) -> Tensor: ...
  97. __all__ += ["batch_norm"]
  98. def binary_cross_entropy_with_logits(
  99. input: Tensor,
  100. target: Tensor,
  101. weight: Tensor | None = ...,
  102. size_average: bool | None = ...,
  103. reduce: bool | None = ...,
  104. reduction: str = ...,
  105. pos_weight: Tensor | None = ...,
  106. ) -> Tensor: ...
  107. __all__ += ["binary_cross_entropy_with_logits"]
  108. def binary_cross_entropy(
  109. input: Tensor,
  110. target: Tensor,
  111. weight: Tensor | None = ...,
  112. size_average: bool | None = ...,
  113. reduce: bool | None = ...,
  114. reduction: str = ...,
  115. ) -> Tensor: ...
  116. __all__ += ["binary_cross_entropy"]
  117. def celu(input: Tensor, alpha: float = ..., inplace: bool = ...) -> Tensor: ...
  118. __all__ += ["celu"]
  119. def cosine_embedding_loss(
  120. input1: Tensor,
  121. input2: Tensor,
  122. target: Tensor,
  123. margin: float = ...,
  124. size_average: bool | None = ...,
  125. reduce: bool | None = ...,
  126. reduction: str = ...,
  127. ) -> Tensor: ...
  128. __all__ += ["cosine_embedding_loss"]
  129. def cross_entropy(
  130. input: Tensor,
  131. target: Tensor,
  132. weight: Tensor | None = ...,
  133. size_average: bool | None = ...,
  134. ignore_index: int = ...,
  135. reduce: bool | None = ...,
  136. reduction: str = ...,
  137. label_smoothing: float = ...,
  138. ) -> Tensor: ...
  139. __all__ += ["cross_entropy"]
  140. def ctc_loss(
  141. log_probs: Tensor,
  142. targets: Tensor,
  143. input_lengths: Tensor,
  144. target_lengths: Tensor,
  145. blank: int = ...,
  146. reduction: str = ...,
  147. zero_infinity: bool = ...,
  148. ) -> Tensor: ...
  149. __all__ += ["ctc_loss"]
  150. def dropout(
  151. input: Tensor,
  152. p: float = ...,
  153. training: bool = ...,
  154. inplace: bool = ...,
  155. ) -> Tensor: ...
  156. __all__ += ["dropout"]
  157. def dropout1d(
  158. input: Tensor,
  159. p: float = ...,
  160. training: bool = ...,
  161. inplace: bool = ...,
  162. ) -> Tensor: ...
  163. __all__ += ["dropout1d"]
  164. def dropout2d(
  165. input: Tensor,
  166. p: float = ...,
  167. training: bool = ...,
  168. inplace: bool = ...,
  169. ) -> Tensor: ...
  170. __all__ += ["dropout2d"]
  171. def dropout3d(
  172. input: Tensor,
  173. p: float = ...,
  174. training: bool = ...,
  175. inplace: bool = ...,
  176. ) -> Tensor: ...
  177. __all__ += ["dropout3d"]
  178. def elu(input: Tensor, alpha: float = ..., inplace: bool = ...) -> Tensor: ...
  179. __all__ += ["elu"]
  180. def embedding_bag(
  181. input: Tensor,
  182. weight: Tensor,
  183. offsets: Tensor | None = ...,
  184. max_norm: float | None = ...,
  185. norm_type: float = ...,
  186. scale_grad_by_freq: bool = ...,
  187. mode: str = ...,
  188. sparse: bool = ...,
  189. per_sample_weights: Tensor | None = ...,
  190. include_last_offset: bool = ...,
  191. padding_idx: int | None = ...,
  192. ) -> Tensor: ...
  193. __all__ += ["embedding_bag"]
  194. def embedding(
  195. input: Tensor,
  196. weight: Tensor,
  197. padding_idx: int | None = ...,
  198. max_norm: float | None = ...,
  199. norm_type: float = ...,
  200. scale_grad_by_freq: bool = ...,
  201. sparse: bool = ...,
  202. ) -> Tensor: ...
  203. __all__ += ["embedding"]
  204. def feature_alpha_dropout(
  205. input: Tensor,
  206. p: float = ...,
  207. training: bool = ...,
  208. inplace: bool = ...,
  209. ) -> Tensor: ...
  210. __all__ += ["feature_alpha_dropout"]
  211. def fold(
  212. input: Tensor,
  213. output_size: _size_any_t,
  214. kernel_size: _size_any_t,
  215. dilation: _size_any_t = ...,
  216. padding: _size_any_t = ...,
  217. stride: _size_any_t = ...,
  218. ) -> Tensor: ...
  219. __all__ += ["fold"]
  220. def fractional_max_pool2d_with_indices(
  221. input: Tensor,
  222. kernel_size: _size,
  223. output_size: _size | None = ...,
  224. output_ratio: _ratio_any_t | None = ...,
  225. return_indices: bool = ...,
  226. _random_samples: Tensor | None = ...,
  227. ) -> tuple[Tensor, Tensor]: ...
  228. __all__ += ["fractional_max_pool2d_with_indices"]
  229. def fractional_max_pool3d_with_indices(
  230. input: Tensor,
  231. kernel_size: _size,
  232. output_size: _size | None = ...,
  233. output_ratio: _ratio_any_t | None = ...,
  234. return_indices: bool = ...,
  235. _random_samples: Tensor | None = ...,
  236. ) -> tuple[Tensor, Tensor]: ...
  237. __all__ += ["fractional_max_pool3d_with_indices"]
  238. def gaussian_nll_loss(
  239. input: Tensor,
  240. target: Tensor,
  241. var: Tensor | float,
  242. full: bool | None = ...,
  243. eps: float | None = ...,
  244. reduction: str | None = ...,
  245. ) -> Tensor: ...
  246. __all__ += ["gaussian_nll_loss"]
  247. def glu(input: Tensor, dim: int = ...) -> Tensor: ...
  248. __all__ += ["glu"]
  249. def grid_sample(
  250. input: Tensor,
  251. grid: Tensor,
  252. mode: str = ...,
  253. padding_mode: str = ...,
  254. align_corners: Any | None = ...,
  255. ) -> Tensor: ...
  256. __all__ += ["grid_sample"]
  257. def group_norm(
  258. input: Tensor,
  259. num_groups: int,
  260. weight: Tensor | None = ...,
  261. bias: Tensor | None = ...,
  262. eps: float = ...,
  263. ) -> Tensor: ...
  264. __all__ += ["group_norm"]
  265. def gumbel_softmax(
  266. logits: Tensor,
  267. tau: float = ...,
  268. hard: bool = ...,
  269. eps: float = ...,
  270. dim: int = ...,
  271. ) -> Tensor: ...
  272. __all__ += ["gumbel_softmax"]
  273. def hardsigmoid(input: Tensor, inplace: bool = False) -> Tensor: ...
  274. __all__ += ["hardsigmoid"]
  275. def hardswish(input: Tensor, inplace: bool = False) -> Tensor: ...
  276. __all__ += ["hardswish"]
  277. def hardtanh(
  278. input: Tensor,
  279. min_val: float = ...,
  280. max_val: float = ...,
  281. inplace: bool = ...,
  282. ) -> Tensor: ...
  283. __all__ += ["hardtanh"]
  284. def hinge_embedding_loss(
  285. input: Tensor,
  286. target: Tensor,
  287. margin: float = ...,
  288. size_average: bool | None = ...,
  289. reduce: bool | None = ...,
  290. reduction: str = ...,
  291. ) -> Tensor: ...
  292. __all__ += ["hinge_embedding_loss"]
  293. def huber_loss(
  294. input: Tensor,
  295. target: Tensor,
  296. reduction: str = ...,
  297. delta: float = ...,
  298. ) -> Tensor: ...
  299. __all__ += ["huber_loss"]
  300. def instance_norm(
  301. input: Tensor,
  302. running_mean: Tensor | None = ...,
  303. running_var: Tensor | None = ...,
  304. weight: Tensor | None = ...,
  305. bias: Tensor | None = ...,
  306. use_input_stats: bool = ...,
  307. momentum: float = ...,
  308. eps: float = ...,
  309. ) -> Tensor: ...
  310. __all__ += ["instance_norm"]
  311. def interpolate(
  312. input: Tensor,
  313. size: int | Sequence[int] | None = ...,
  314. scale_factor: float | Sequence[float] | None = ...,
  315. mode: str = ...,
  316. align_corners: bool | None = ...,
  317. recompute_scale_factor: bool | None = ...,
  318. antialias: bool = ...,
  319. ) -> Tensor: ...
  320. __all__ += ["interpolate"]
  321. def kl_div(
  322. input: Tensor,
  323. target: Tensor,
  324. size_average: bool | None = ...,
  325. reduce: bool | None = ...,
  326. reduction: str = ...,
  327. log_target: bool = ...,
  328. ) -> Tensor: ...
  329. __all__ += ["kl_div"]
  330. def l1_loss(
  331. input: Tensor,
  332. target: Tensor,
  333. size_average: bool | None = ...,
  334. reduce: bool | None = ...,
  335. reduction: str = ...,
  336. ) -> Tensor: ...
  337. __all__ += ["l1_loss"]
  338. def layer_norm(
  339. input: Tensor,
  340. normalized_shape: Sequence[int],
  341. weight: Tensor | None = ...,
  342. bias: Tensor | None = ...,
  343. eps: float = ...,
  344. ) -> Tensor: ...
  345. __all__ += ["layer_norm"]
  346. def leaky_relu(
  347. input: Tensor,
  348. negative_slope: float = ...,
  349. inplace: bool = ...,
  350. ) -> Tensor: ...
  351. __all__ += ["leaky_relu"]
  352. def local_response_norm(
  353. input: Tensor,
  354. size: int,
  355. alpha: float = ...,
  356. beta: float = ...,
  357. k: float = ...,
  358. ) -> Tensor: ...
  359. __all__ += ["local_response_norm"]
  360. def log_softmax(
  361. input: Tensor,
  362. dim: int | None = ...,
  363. _stacklevel: int = ...,
  364. dtype: _dtype | None = ...,
  365. ) -> Tensor: ...
  366. __all__ += ["log_softmax"]
  367. def lp_pool1d(
  368. input: Tensor,
  369. norm_type: float,
  370. kernel_size: _size_1_t,
  371. stride: _size | None | int = ...,
  372. ceil_mode: bool = ...,
  373. ) -> Tensor: ...
  374. __all__ += ["lp_pool1d"]
  375. def lp_pool2d(
  376. input: Tensor,
  377. norm_type: float,
  378. kernel_size: _size_2_t,
  379. stride: _size | None | int = ...,
  380. ceil_mode: bool = ...,
  381. ) -> Tensor: ...
  382. __all__ += ["lp_pool2d"]
  383. def lp_pool3d(
  384. input: Tensor,
  385. norm_type: float,
  386. kernel_size: _size_3_t,
  387. stride: _size | None | int = ...,
  388. ceil_mode: bool = ...,
  389. ) -> Tensor: ...
  390. __all__ += ["lp_pool3d"]
  391. def margin_ranking_loss(
  392. input1: Tensor,
  393. input2: Tensor,
  394. target: Tensor,
  395. margin: float = ...,
  396. size_average: bool | None = ...,
  397. reduce: bool | None = ...,
  398. reduction: str = ...,
  399. ) -> Tensor: ...
  400. __all__ += ["margin_ranking_loss"]
  401. def max_pool1d_with_indices(
  402. input: Tensor,
  403. kernel_size: _size,
  404. stride: _size | None = ...,
  405. padding: _size = ...,
  406. dilation: _size = ...,
  407. ceil_mode: bool = ...,
  408. return_indices: bool = ...,
  409. ) -> tuple[Tensor, Tensor]: ...
  410. __all__ += ["max_pool1d_with_indices"]
  411. def max_pool2d_with_indices(
  412. input: Tensor,
  413. kernel_size: _size,
  414. stride: _size | None = ...,
  415. padding: _size = ...,
  416. dilation: _size = ...,
  417. ceil_mode: bool = ...,
  418. return_indices: bool = ...,
  419. ) -> tuple[Tensor, Tensor]: ...
  420. __all__ += ["max_pool2d_with_indices"]
  421. def max_pool3d_with_indices(
  422. input: Tensor,
  423. kernel_size: _size,
  424. stride: _size | None = ...,
  425. padding: _size = ...,
  426. dilation: _size = ...,
  427. ceil_mode: bool = ...,
  428. return_indices: bool = ...,
  429. ) -> tuple[Tensor, Tensor]: ...
  430. __all__ += ["max_pool3d_with_indices"]
  431. def max_unpool1d(
  432. input: Tensor,
  433. indices: Tensor,
  434. kernel_size: _size,
  435. stride: _size | None = ...,
  436. padding: _size = ...,
  437. output_size: _size | None = ...,
  438. ) -> Tensor: ...
  439. __all__ += ["max_unpool1d"]
  440. def max_unpool2d(
  441. input: Tensor,
  442. indices: Tensor,
  443. kernel_size: _size,
  444. stride: _size | None = ...,
  445. padding: _size = ...,
  446. output_size: _size | None = ...,
  447. ) -> Tensor: ...
  448. __all__ += ["max_unpool2d"]
  449. def max_unpool3d(
  450. input: Tensor,
  451. indices: Tensor,
  452. kernel_size: _size,
  453. stride: _size | None = ...,
  454. padding: _size = ...,
  455. output_size: _size | None = ...,
  456. ) -> Tensor: ...
  457. __all__ += ["max_unpool3d"]
  458. def mish(input: Tensor, inplace: bool = False) -> Tensor: ...
  459. __all__ += ["mish"]
  460. def mse_loss(
  461. input: Tensor,
  462. target: Tensor,
  463. size_average: bool | None = ...,
  464. reduce: bool | None = ...,
  465. reduction: str = ...,
  466. ) -> Tensor: ...
  467. __all__ += ["mse_loss"]
  468. def multi_head_attention_forward(
  469. query: Tensor,
  470. key: Tensor,
  471. value: Tensor,
  472. embed_dim_to_check: int,
  473. num_heads: int,
  474. in_proj_weight: Tensor | None,
  475. in_proj_bias: Tensor | None,
  476. bias_k: Tensor | None,
  477. bias_v: Tensor | None,
  478. add_zero_attn: bool,
  479. dropout_p: float,
  480. out_proj_weight: Tensor,
  481. out_proj_bias: Tensor | None,
  482. training: bool = True,
  483. key_padding_mask: Tensor | None = None,
  484. need_weights: bool = True,
  485. attn_mask: Tensor | None = None,
  486. use_separate_proj_weight: bool = False,
  487. q_proj_weight: Tensor | None = None,
  488. k_proj_weight: Tensor | None = None,
  489. v_proj_weight: Tensor | None = None,
  490. static_k: Tensor | None = None,
  491. static_v: Tensor | None = None,
  492. average_attn_weights: bool = True,
  493. is_causal: bool = False,
  494. ) -> tuple[Tensor, Tensor | None]: ...
  495. __all__ += ["multi_head_attention_forward"]
  496. def multi_margin_loss(
  497. input: Tensor,
  498. target: Tensor,
  499. p: int = ...,
  500. margin: float = ...,
  501. weight: Tensor | None = ...,
  502. size_average: bool | None = ...,
  503. reduce: bool | None = ...,
  504. reduction: str = ...,
  505. ) -> Tensor: ...
  506. __all__ += ["multi_margin_loss"]
  507. def multilabel_margin_loss(
  508. input: Tensor,
  509. target: Tensor,
  510. size_average: bool | None = ...,
  511. reduce: bool | None = ...,
  512. reduction: str = ...,
  513. ) -> Tensor: ...
  514. __all__ += ["multilabel_margin_loss"]
  515. def multilabel_soft_margin_loss(
  516. input: Tensor,
  517. target: Tensor,
  518. weight: Tensor | None = ...,
  519. size_average: bool | None = ...,
  520. reduce: bool | None = ...,
  521. reduction: str = ...,
  522. ) -> Tensor: ...
  523. __all__ += ["multilabel_soft_margin_loss"]
  524. def nll_loss(
  525. input: Tensor,
  526. target: Tensor,
  527. weight: Tensor | None = ...,
  528. size_average: bool | None = ...,
  529. ignore_index: int = ...,
  530. reduce: bool | None = ...,
  531. reduction: str = ...,
  532. ) -> Tensor: ...
  533. __all__ += ["nll_loss"]
  534. def normalize(
  535. input: Tensor,
  536. p: float = ...,
  537. dim: int = ...,
  538. eps: float = ...,
  539. out: Tensor | None = ...,
  540. ) -> Tensor: ...
  541. __all__ += ["normalize"]
  542. def poisson_nll_loss(
  543. input: Tensor,
  544. target: Tensor,
  545. log_input: bool = ...,
  546. full: bool = ...,
  547. size_average: bool | None = ...,
  548. eps: float = ...,
  549. reduce: bool | None = ...,
  550. reduction: str = ...,
  551. ) -> Tensor: ...
  552. __all__ += ["poisson_nll_loss"]
  553. def relu(input: Tensor, inplace: bool = ...) -> Tensor: ...
  554. __all__ += ["relu"]
  555. def relu6(input: Tensor, inplace: bool = ...) -> Tensor: ...
  556. __all__ += ["relu6"]
  557. def rms_norm(
  558. input: Tensor,
  559. normalized_shape: Sequence[int],
  560. weight: Tensor | None = ...,
  561. eps: float | None = ...,
  562. ) -> Tensor: ...
  563. __all__ += ["rms_norm"]
  564. def rrelu(
  565. input: Tensor,
  566. lower: float = ...,
  567. upper: float = ...,
  568. training: bool = ...,
  569. inplace: bool = ...,
  570. ) -> Tensor: ...
  571. __all__ += ["rrelu"]
  572. def selu(input: Tensor, inplace: bool = ...) -> Tensor: ...
  573. __all__ += ["selu"]
  574. def sigmoid(input: Any) -> Tensor: ...
  575. __all__ += ["sigmoid"]
  576. def silu(input: Tensor, inplace: bool = False) -> Tensor: ...
  577. __all__ += ["silu"]
  578. def smooth_l1_loss(
  579. input: Tensor,
  580. target: Tensor,
  581. size_average: bool | None = ...,
  582. reduce: bool | None = ...,
  583. reduction: str = ...,
  584. beta: float = ...,
  585. ) -> Tensor: ...
  586. __all__ += ["smooth_l1_loss"]
  587. def soft_margin_loss(
  588. input: Tensor,
  589. target: Tensor,
  590. size_average: bool | None = ...,
  591. reduce: bool | None = ...,
  592. reduction: str = ...,
  593. ) -> Tensor: ...
  594. __all__ += ["soft_margin_loss"]
  595. def softmax(
  596. input: Tensor,
  597. dim: int | None = ...,
  598. _stacklevel: int = ...,
  599. dtype: _dtype | None = ...,
  600. ) -> Tensor: ...
  601. __all__ += ["softmax"]
  602. def softmin(
  603. input: Tensor,
  604. dim: int | None = ...,
  605. _stacklevel: int = ...,
  606. dtype: _dtype | None = ...,
  607. ) -> Tensor: ...
  608. __all__ += ["softmin"]
  609. def softsign(input: Any): ...
  610. __all__ += ["softsign"]
  611. def tanh(input: Any): ...
  612. __all__ += ["tanh"]
  613. def tanhshrink(input: Any): ...
  614. __all__ += ["tanhshrink"]
  615. def threshold(
  616. input: Tensor,
  617. threshold: float,
  618. value: float,
  619. inplace: bool = ...,
  620. ) -> Tensor: ...
  621. __all__ += ["threshold"]
  622. def triplet_margin_loss(
  623. anchor: Tensor,
  624. positive: Tensor,
  625. negative: Tensor,
  626. margin: float = ...,
  627. p: float = ...,
  628. eps: float = ...,
  629. swap: bool = ...,
  630. size_average: bool | None = ...,
  631. reduce: bool | None = ...,
  632. reduction: str = ...,
  633. ) -> Tensor: ...
  634. __all__ += ["triplet_margin_loss"]
  635. def triplet_margin_with_distance_loss(
  636. anchor: Tensor,
  637. positive: Tensor,
  638. negative: Tensor,
  639. *,
  640. distance_function: Callable[[Tensor, Tensor], Tensor] | None = ...,
  641. margin: float = ...,
  642. swap: bool = ...,
  643. reduction: str = ...,
  644. ) -> Tensor: ...
  645. __all__ += ["triplet_margin_with_distance_loss"]
  646. def unfold(
  647. input: Tensor,
  648. kernel_size: _size_any_t,
  649. dilation: _size_any_t = ...,
  650. padding: _size_any_t = ...,
  651. stride: _size_any_t = ...,
  652. ) -> Tensor: ...
  653. __all__ += ["unfold"]
  654. def upsample_bilinear(
  655. input: Any,
  656. size: Any | None = ...,
  657. scale_factor: Any | None = ...,
  658. ): ...
  659. __all__ += ["upsample_bilinear"]
  660. def upsample_nearest(
  661. input: Any,
  662. size: Any | None = ...,
  663. scale_factor: Any | None = ...,
  664. ): ...
  665. __all__ += ["upsample_nearest"]
  666. def upsample(
  667. input: Any,
  668. size: Any | None = ...,
  669. scale_factor: Any | None = ...,
  670. mode: str = ...,
  671. align_corners: Any | None = ...,
  672. ): ...
  673. __all__ += ["upsample"]
  674. from torch import (
  675. adaptive_avg_pool1d as adaptive_avg_pool1d,
  676. avg_pool1d as avg_pool1d,
  677. bilinear as bilinear,
  678. celu_ as celu_,
  679. channel_shuffle as channel_shuffle,
  680. conv1d as conv1d,
  681. conv2d as conv2d,
  682. conv3d as conv3d,
  683. conv_tbc as conv_tbc,
  684. conv_transpose1d as conv_transpose1d,
  685. conv_transpose2d as conv_transpose2d,
  686. conv_transpose3d as conv_transpose3d,
  687. cosine_similarity as cosine_similarity,
  688. hardshrink as hardshrink,
  689. native_channel_shuffle as native_channel_shuffle,
  690. pairwise_distance as pairwise_distance,
  691. pdist as pdist,
  692. pixel_shuffle as pixel_shuffle,
  693. pixel_unshuffle as pixel_unshuffle,
  694. prelu as prelu,
  695. relu_ as relu_,
  696. rrelu_ as rrelu_,
  697. selu_ as selu_,
  698. )
  699. from torch._C._nn import (
  700. avg_pool2d as avg_pool2d,
  701. avg_pool3d as avg_pool3d,
  702. elu_ as elu_,
  703. gelu as gelu,
  704. hardtanh_ as hardtanh_,
  705. leaky_relu_ as leaky_relu_,
  706. linear as linear,
  707. log_sigmoid as logsigmoid,
  708. one_hot as one_hot,
  709. pad as pad,
  710. scaled_dot_product_attention as scaled_dot_product_attention,
  711. softplus as softplus,
  712. softshrink as softshrink,
  713. )
  714. @overload
  715. def adaptive_max_pool1d(
  716. input: Tensor,
  717. output_size: _int | _size,
  718. return_indices: Literal[False] = False,
  719. ) -> Tensor: ...
  720. @overload
  721. def adaptive_max_pool1d(
  722. input: Tensor,
  723. output_size: _int | _size,
  724. return_indices: Literal[True],
  725. /,
  726. ) -> tuple[Tensor, Tensor]: ...
  727. @overload
  728. def adaptive_max_pool1d(
  729. input: Tensor,
  730. output_size: _int | _size,
  731. *,
  732. return_indices: Literal[True],
  733. ) -> tuple[Tensor, Tensor]: ...
  734. @overload
  735. def adaptive_max_pool2d(
  736. input: Tensor,
  737. output_size: _int | _size,
  738. return_indices: Literal[False] = False,
  739. ) -> Tensor: ...
  740. @overload
  741. def adaptive_max_pool2d(
  742. input: Tensor,
  743. output_size: _int | _size,
  744. return_indices: Literal[True],
  745. /,
  746. ) -> tuple[Tensor, Tensor]: ...
  747. @overload
  748. def adaptive_max_pool2d(
  749. input: Tensor,
  750. output_size: _int | _size,
  751. *,
  752. return_indices: Literal[True],
  753. ) -> tuple[Tensor, Tensor]: ...
  754. @overload
  755. def adaptive_max_pool3d(
  756. input: Tensor,
  757. output_size: _int | _size,
  758. return_indices: Literal[False] = False,
  759. ) -> Tensor: ...
  760. @overload
  761. def adaptive_max_pool3d(
  762. input: Tensor,
  763. output_size: _int | _size,
  764. return_indices: Literal[True],
  765. /,
  766. ) -> tuple[Tensor, Tensor]: ...
  767. @overload
  768. def adaptive_max_pool3d(
  769. input: Tensor,
  770. output_size: _int | _size,
  771. *,
  772. return_indices: Literal[True],
  773. ) -> tuple[Tensor, Tensor]: ...
  774. @overload
  775. def fractional_max_pool2d(
  776. input: Tensor,
  777. kernel_size: _int | _size,
  778. output_size: _int | _size | None = None,
  779. output_ratio: _ratio_any_t | None = None,
  780. return_indices: Literal[False] = False,
  781. _random_samples: Tensor | None = None,
  782. ) -> Tensor: ...
  783. @overload
  784. def fractional_max_pool2d(
  785. input: Tensor,
  786. kernel_size: _int | _size,
  787. output_size: _int | _size | None,
  788. output_ratio: _ratio_any_t | None,
  789. return_indices: Literal[True],
  790. /,
  791. _random_samples: Tensor | None = None,
  792. ) -> tuple[Tensor, Tensor]: ...
  793. @overload
  794. def fractional_max_pool2d(
  795. input: Tensor,
  796. kernel_size: _int | _size,
  797. output_size: _int | _size | None = None,
  798. output_ratio: _ratio_any_t | None = None,
  799. *,
  800. return_indices: Literal[True],
  801. _random_samples: Tensor | None = None,
  802. ) -> tuple[Tensor, Tensor]: ...
  803. @overload
  804. def fractional_max_pool3d(
  805. input: Tensor,
  806. kernel_size: _int | _size,
  807. output_size: _int | _size | None = None,
  808. output_ratio: _ratio_any_t | None = None,
  809. return_indices: Literal[False] = False,
  810. _random_samples: Tensor | None = None,
  811. ) -> Tensor: ...
  812. @overload
  813. def fractional_max_pool3d(
  814. input: Tensor,
  815. kernel_size: _int | _size,
  816. output_size: _int | _size | None,
  817. output_ratio: _ratio_any_t | None,
  818. return_indices: Literal[True],
  819. /,
  820. _random_samples: Tensor | None = None,
  821. ) -> tuple[Tensor, Tensor]: ...
  822. @overload
  823. def fractional_max_pool3d(
  824. input: Tensor,
  825. kernel_size: _int | _size,
  826. output_size: _int | _size | None = None,
  827. output_ratio: _ratio_any_t | None = None,
  828. *,
  829. return_indices: Literal[True],
  830. _random_samples: Tensor | None = None,
  831. ) -> tuple[Tensor, Tensor]: ...
  832. @overload
  833. def max_pool1d(
  834. input: Tensor,
  835. kernel_size: _int | _size,
  836. stride: _int | _size | None = None,
  837. padding: _int | _size = 0,
  838. dilation: _int | _size = 1,
  839. ceil_mode: bool = False,
  840. return_indices: Literal[False] = False,
  841. ) -> Tensor: ...
  842. @overload
  843. def max_pool1d(
  844. input: Tensor,
  845. kernel_size: _int | _size,
  846. stride: _int | _size | None,
  847. padding: _int | _size,
  848. dilation: _int | _size,
  849. ceil_mode: bool,
  850. return_indices: Literal[True],
  851. /,
  852. ) -> tuple[Tensor, Tensor]: ...
  853. @overload
  854. def max_pool1d(
  855. input: Tensor,
  856. kernel_size: _int | _size,
  857. stride: _int | _size | None = None,
  858. padding: _int | _size = 0,
  859. dilation: _int | _size = 1,
  860. ceil_mode: bool = False,
  861. *,
  862. return_indices: Literal[True],
  863. ) -> tuple[Tensor, Tensor]: ...
  864. @overload
  865. def max_pool2d(
  866. input: Tensor,
  867. kernel_size: _int | _size,
  868. stride: _int | _size | None = None,
  869. padding: _int | _size = 0,
  870. dilation: _int | _size = 1,
  871. ceil_mode: bool = False,
  872. return_indices: Literal[False] = False,
  873. ) -> Tensor: ...
  874. @overload
  875. def max_pool2d(
  876. input: Tensor,
  877. kernel_size: _int | _size,
  878. stride: _int | _size | None,
  879. padding: _int | _size,
  880. dilation: _int | _size,
  881. ceil_mode: bool,
  882. return_indices: Literal[True],
  883. /,
  884. ) -> tuple[Tensor, Tensor]: ...
  885. @overload
  886. def max_pool2d(
  887. input: Tensor,
  888. kernel_size: _int | _size,
  889. stride: _int | _size | None = None,
  890. padding: _int | _size = 0,
  891. dilation: _int | _size = 1,
  892. ceil_mode: bool = False,
  893. *,
  894. return_indices: Literal[True],
  895. ) -> tuple[Tensor, Tensor]: ...
  896. @overload
  897. def max_pool3d(
  898. input: Tensor,
  899. kernel_size: _int | _size,
  900. stride: _int | _size | None = None,
  901. padding: _int | _size = 0,
  902. dilation: _int | _size = 1,
  903. ceil_mode: bool = False,
  904. return_indices: Literal[False] = False,
  905. ) -> Tensor: ...
  906. @overload
  907. def max_pool3d(
  908. input: Tensor,
  909. kernel_size: _int | _size,
  910. stride: _int | _size | None,
  911. padding: _int | _size,
  912. dilation: _int | _size,
  913. ceil_mode: bool,
  914. return_indices: Literal[True],
  915. /,
  916. ) -> tuple[Tensor, Tensor]: ...
  917. @overload
  918. def max_pool3d(
  919. input: Tensor,
  920. kernel_size: _int | _size,
  921. stride: _int | _size | None = None,
  922. padding: _int | _size = 0,
  923. dilation: _int | _size = 1,
  924. ceil_mode: bool = False,
  925. *,
  926. return_indices: Literal[True],
  927. ) -> tuple[Tensor, Tensor]: ...
  928. __all__ += [
  929. "adaptive_avg_pool1d",
  930. "avg_pool1d",
  931. "bilinear",
  932. "celu_",
  933. "channel_shuffle",
  934. "conv_tbc",
  935. "conv_transpose1d",
  936. "conv_transpose2d",
  937. "conv_transpose3d",
  938. "conv1d",
  939. "conv2d",
  940. "conv3d",
  941. "cosine_similarity",
  942. "hardshrink",
  943. "native_channel_shuffle",
  944. "pairwise_distance",
  945. "pdist",
  946. "pixel_shuffle",
  947. "pixel_unshuffle",
  948. "prelu",
  949. "relu_",
  950. "rrelu_",
  951. "selu_",
  952. "avg_pool2d",
  953. "avg_pool3d",
  954. "elu_",
  955. "gelu",
  956. "hardtanh_",
  957. "leaky_relu_",
  958. "linear",
  959. "logsigmoid",
  960. "one_hot",
  961. "pad",
  962. "scaled_dot_product_attention",
  963. "softplus",
  964. "softshrink",
  965. "max_pool1d",
  966. "adaptive_max_pool1d",
  967. "max_pool2d",
  968. "fractional_max_pool2d",
  969. "adaptive_max_pool2d",
  970. "max_pool3d",
  971. "fractional_max_pool3d",
  972. "adaptive_max_pool3d",
  973. ]