functional.pyi 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200
  1. # @generated by tools/pyi/gen_pyi.py from torch/nn/functional.pyi.in
  2. # mypy: allow-untyped-defs
  3. from collections.abc import Callable, Sequence
  4. from enum import Enum
  5. from typing import Any, Literal, overload, 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 scaled_mm(
  573. mat_a: Tensor,
  574. mat_b: Tensor,
  575. scale_a: Tensor | list[Tensor],
  576. scale_recipe_a: ScalingType | list[ScalingType],
  577. scale_b: Tensor | list[Tensor],
  578. scale_recipe_b: ScalingType | list[ScalingType],
  579. swizzle_a: SwizzleType | list[SwizzleType] | None = None,
  580. swizzle_b: SwizzleType | list[SwizzleType] | None = None,
  581. bias: Tensor | None = None,
  582. output_dtype: _dtype = ...,
  583. contraction_dim: list[int] | tuple[int, ...] = (),
  584. use_fast_accum: bool = False,
  585. ) -> Tensor: ...
  586. __all__ += ["scaled_mm"]
  587. def grouped_mm(
  588. mat_a: Tensor,
  589. mat_b: Tensor,
  590. *,
  591. offs: Tensor | None = None,
  592. bias: Tensor | None = None,
  593. out_dtype: _dtype | None = None,
  594. ) -> Tensor: ...
  595. __all__ += ["grouped_mm"]
  596. class SwizzleType(Enum):
  597. NO_SWIZZLE = 0
  598. SWIZZLE_32_4_4 = 1
  599. __all__ += ["SwizzleType"]
  600. class ScalingType(Enum):
  601. TensorWise = 0
  602. RowWise = 1
  603. BlockWise1x16 = 2
  604. BlockWise1x32 = 3
  605. BlockWise1x128 = 4
  606. BlockWise128x128 = 5
  607. __all__ += ["ScalingType"]
  608. def selu(input: Tensor, inplace: bool = ...) -> Tensor: ...
  609. __all__ += ["selu"]
  610. def sigmoid(input: Tensor) -> Tensor: ...
  611. __all__ += ["sigmoid"]
  612. def silu(input: Tensor, inplace: bool = False) -> Tensor: ...
  613. __all__ += ["silu"]
  614. def smooth_l1_loss(
  615. input: Tensor,
  616. target: Tensor,
  617. size_average: bool | None = ...,
  618. reduce: bool | None = ...,
  619. reduction: str = ...,
  620. beta: float = ...,
  621. ) -> Tensor: ...
  622. __all__ += ["smooth_l1_loss"]
  623. def soft_margin_loss(
  624. input: Tensor,
  625. target: Tensor,
  626. size_average: bool | None = ...,
  627. reduce: bool | None = ...,
  628. reduction: str = ...,
  629. ) -> Tensor: ...
  630. __all__ += ["soft_margin_loss"]
  631. def softmax(
  632. input: Tensor,
  633. dim: int | None = ...,
  634. _stacklevel: int = ...,
  635. dtype: _dtype | None = ...,
  636. ) -> Tensor: ...
  637. __all__ += ["softmax"]
  638. def softmin(
  639. input: Tensor,
  640. dim: int | None = ...,
  641. _stacklevel: int = ...,
  642. dtype: _dtype | None = ...,
  643. ) -> Tensor: ...
  644. __all__ += ["softmin"]
  645. def softsign(input: Any) -> Tensor: ...
  646. __all__ += ["softsign"]
  647. def tanh(input: Any) -> Tensor: ...
  648. __all__ += ["tanh"]
  649. def tanhshrink(input: Any) -> Tensor: ...
  650. __all__ += ["tanhshrink"]
  651. def threshold(
  652. input: Tensor,
  653. threshold: float,
  654. value: float,
  655. inplace: bool = ...,
  656. ) -> Tensor: ...
  657. __all__ += ["threshold"]
  658. def triplet_margin_loss(
  659. anchor: Tensor,
  660. positive: Tensor,
  661. negative: Tensor,
  662. margin: float = ...,
  663. p: float = ...,
  664. eps: float = ...,
  665. swap: bool = ...,
  666. size_average: bool | None = ...,
  667. reduce: bool | None = ...,
  668. reduction: str = ...,
  669. ) -> Tensor: ...
  670. __all__ += ["triplet_margin_loss"]
  671. def triplet_margin_with_distance_loss(
  672. anchor: Tensor,
  673. positive: Tensor,
  674. negative: Tensor,
  675. *,
  676. distance_function: Callable[[Tensor, Tensor], Tensor] | None = ...,
  677. margin: float = ...,
  678. swap: bool = ...,
  679. reduction: str = ...,
  680. ) -> Tensor: ...
  681. __all__ += ["triplet_margin_with_distance_loss"]
  682. def unfold(
  683. input: Tensor,
  684. kernel_size: _size_any_t,
  685. dilation: _size_any_t = ...,
  686. padding: _size_any_t = ...,
  687. stride: _size_any_t = ...,
  688. ) -> Tensor: ...
  689. __all__ += ["unfold"]
  690. def upsample_bilinear(
  691. input: Any,
  692. size: Any | None = ...,
  693. scale_factor: Any | None = ...,
  694. ) -> Tensor: ...
  695. __all__ += ["upsample_bilinear"]
  696. def upsample_nearest(
  697. input: Any,
  698. size: Any | None = ...,
  699. scale_factor: Any | None = ...,
  700. ) -> Tensor: ...
  701. __all__ += ["upsample_nearest"]
  702. def upsample(
  703. input: Any,
  704. size: Any | None = ...,
  705. scale_factor: Any | None = ...,
  706. mode: str = ...,
  707. align_corners: Any | None = ...,
  708. ) -> Tensor: ...
  709. __all__ += ["upsample"]
  710. from torch import (
  711. adaptive_avg_pool1d as adaptive_avg_pool1d,
  712. avg_pool1d as avg_pool1d,
  713. bilinear as bilinear,
  714. celu_ as celu_,
  715. channel_shuffle as channel_shuffle,
  716. conv1d as conv1d,
  717. conv2d as conv2d,
  718. conv3d as conv3d,
  719. conv_tbc as conv_tbc,
  720. conv_transpose1d as conv_transpose1d,
  721. conv_transpose2d as conv_transpose2d,
  722. conv_transpose3d as conv_transpose3d,
  723. cosine_similarity as cosine_similarity,
  724. hardshrink as hardshrink,
  725. native_channel_shuffle as native_channel_shuffle,
  726. pairwise_distance as pairwise_distance,
  727. pdist as pdist,
  728. pixel_shuffle as pixel_shuffle,
  729. pixel_unshuffle as pixel_unshuffle,
  730. prelu as prelu,
  731. relu_ as relu_,
  732. rrelu_ as rrelu_,
  733. selu_ as selu_,
  734. )
  735. from torch._C._nn import (
  736. avg_pool2d as avg_pool2d,
  737. avg_pool3d as avg_pool3d,
  738. elu_ as elu_,
  739. gelu as gelu,
  740. hardtanh_ as hardtanh_,
  741. leaky_relu_ as leaky_relu_,
  742. linear as linear,
  743. log_sigmoid as logsigmoid,
  744. one_hot as one_hot,
  745. pad as pad,
  746. scaled_dot_product_attention as scaled_dot_product_attention,
  747. softplus as softplus,
  748. softshrink as softshrink,
  749. )
  750. @overload
  751. def adaptive_max_pool1d(
  752. input: Tensor,
  753. output_size: _int | _size,
  754. return_indices: Literal[False] = False,
  755. ) -> Tensor: ...
  756. @overload
  757. def adaptive_max_pool1d(
  758. input: Tensor,
  759. output_size: _int | _size,
  760. return_indices: Literal[True],
  761. /,
  762. ) -> tuple[Tensor, Tensor]: ...
  763. @overload
  764. def adaptive_max_pool1d(
  765. input: Tensor,
  766. output_size: _int | _size,
  767. *,
  768. return_indices: Literal[True],
  769. ) -> tuple[Tensor, Tensor]: ...
  770. @overload
  771. def adaptive_max_pool2d(
  772. input: Tensor,
  773. output_size: _int | _size,
  774. return_indices: Literal[False] = False,
  775. ) -> Tensor: ...
  776. @overload
  777. def adaptive_max_pool2d(
  778. input: Tensor,
  779. output_size: _int | _size,
  780. return_indices: Literal[True],
  781. /,
  782. ) -> tuple[Tensor, Tensor]: ...
  783. @overload
  784. def adaptive_max_pool2d(
  785. input: Tensor,
  786. output_size: _int | _size,
  787. *,
  788. return_indices: Literal[True],
  789. ) -> tuple[Tensor, Tensor]: ...
  790. @overload
  791. def adaptive_max_pool3d(
  792. input: Tensor,
  793. output_size: _int | _size,
  794. return_indices: Literal[False] = False,
  795. ) -> Tensor: ...
  796. @overload
  797. def adaptive_max_pool3d(
  798. input: Tensor,
  799. output_size: _int | _size,
  800. return_indices: Literal[True],
  801. /,
  802. ) -> tuple[Tensor, Tensor]: ...
  803. @overload
  804. def adaptive_max_pool3d(
  805. input: Tensor,
  806. output_size: _int | _size,
  807. *,
  808. return_indices: Literal[True],
  809. ) -> tuple[Tensor, Tensor]: ...
  810. @overload
  811. def fractional_max_pool2d(
  812. input: Tensor,
  813. kernel_size: _int | _size,
  814. output_size: _int | _size | None = None,
  815. output_ratio: _ratio_any_t | None = None,
  816. return_indices: Literal[False] = False,
  817. _random_samples: Tensor | None = None,
  818. ) -> Tensor: ...
  819. @overload
  820. def fractional_max_pool2d(
  821. input: Tensor,
  822. kernel_size: _int | _size,
  823. output_size: _int | _size | None,
  824. output_ratio: _ratio_any_t | None,
  825. return_indices: Literal[True],
  826. /,
  827. _random_samples: Tensor | None = None,
  828. ) -> tuple[Tensor, Tensor]: ...
  829. @overload
  830. def fractional_max_pool2d(
  831. input: Tensor,
  832. kernel_size: _int | _size,
  833. output_size: _int | _size | None = None,
  834. output_ratio: _ratio_any_t | None = None,
  835. *,
  836. return_indices: Literal[True],
  837. _random_samples: Tensor | None = None,
  838. ) -> tuple[Tensor, Tensor]: ...
  839. @overload
  840. def fractional_max_pool3d(
  841. input: Tensor,
  842. kernel_size: _int | _size,
  843. output_size: _int | _size | None = None,
  844. output_ratio: _ratio_any_t | None = None,
  845. return_indices: Literal[False] = False,
  846. _random_samples: Tensor | None = None,
  847. ) -> Tensor: ...
  848. @overload
  849. def fractional_max_pool3d(
  850. input: Tensor,
  851. kernel_size: _int | _size,
  852. output_size: _int | _size | None,
  853. output_ratio: _ratio_any_t | None,
  854. return_indices: Literal[True],
  855. /,
  856. _random_samples: Tensor | None = None,
  857. ) -> tuple[Tensor, Tensor]: ...
  858. @overload
  859. def fractional_max_pool3d(
  860. input: Tensor,
  861. kernel_size: _int | _size,
  862. output_size: _int | _size | None = None,
  863. output_ratio: _ratio_any_t | None = None,
  864. *,
  865. return_indices: Literal[True],
  866. _random_samples: Tensor | None = None,
  867. ) -> tuple[Tensor, Tensor]: ...
  868. @overload
  869. def max_pool1d(
  870. input: Tensor,
  871. kernel_size: _int | _size,
  872. stride: _int | _size | None = None,
  873. padding: _int | _size = 0,
  874. dilation: _int | _size = 1,
  875. ceil_mode: bool = False,
  876. return_indices: Literal[False] = False,
  877. ) -> Tensor: ...
  878. @overload
  879. def max_pool1d(
  880. input: Tensor,
  881. kernel_size: _int | _size,
  882. stride: _int | _size | None,
  883. padding: _int | _size,
  884. dilation: _int | _size,
  885. ceil_mode: bool,
  886. return_indices: Literal[True],
  887. /,
  888. ) -> tuple[Tensor, Tensor]: ...
  889. @overload
  890. def max_pool1d(
  891. input: Tensor,
  892. kernel_size: _int | _size,
  893. stride: _int | _size | None = None,
  894. padding: _int | _size = 0,
  895. dilation: _int | _size = 1,
  896. ceil_mode: bool = False,
  897. *,
  898. return_indices: Literal[True],
  899. ) -> tuple[Tensor, Tensor]: ...
  900. @overload
  901. def max_pool2d(
  902. input: Tensor,
  903. kernel_size: _int | _size,
  904. stride: _int | _size | None = None,
  905. padding: _int | _size = 0,
  906. dilation: _int | _size = 1,
  907. ceil_mode: bool = False,
  908. return_indices: Literal[False] = False,
  909. ) -> Tensor: ...
  910. @overload
  911. def max_pool2d(
  912. input: Tensor,
  913. kernel_size: _int | _size,
  914. stride: _int | _size | None,
  915. padding: _int | _size,
  916. dilation: _int | _size,
  917. ceil_mode: bool,
  918. return_indices: Literal[True],
  919. /,
  920. ) -> tuple[Tensor, Tensor]: ...
  921. @overload
  922. def max_pool2d(
  923. input: Tensor,
  924. kernel_size: _int | _size,
  925. stride: _int | _size | None = None,
  926. padding: _int | _size = 0,
  927. dilation: _int | _size = 1,
  928. ceil_mode: bool = False,
  929. *,
  930. return_indices: Literal[True],
  931. ) -> tuple[Tensor, Tensor]: ...
  932. @overload
  933. def max_pool3d(
  934. input: Tensor,
  935. kernel_size: _int | _size,
  936. stride: _int | _size | None = None,
  937. padding: _int | _size = 0,
  938. dilation: _int | _size = 1,
  939. ceil_mode: bool = False,
  940. return_indices: Literal[False] = False,
  941. ) -> Tensor: ...
  942. @overload
  943. def max_pool3d(
  944. input: Tensor,
  945. kernel_size: _int | _size,
  946. stride: _int | _size | None,
  947. padding: _int | _size,
  948. dilation: _int | _size,
  949. ceil_mode: bool,
  950. return_indices: Literal[True],
  951. /,
  952. ) -> tuple[Tensor, Tensor]: ...
  953. @overload
  954. def max_pool3d(
  955. input: Tensor,
  956. kernel_size: _int | _size,
  957. stride: _int | _size | None = None,
  958. padding: _int | _size = 0,
  959. dilation: _int | _size = 1,
  960. ceil_mode: bool = False,
  961. *,
  962. return_indices: Literal[True],
  963. ) -> tuple[Tensor, Tensor]: ...
  964. __all__ += [
  965. "adaptive_avg_pool1d",
  966. "avg_pool1d",
  967. "bilinear",
  968. "celu_",
  969. "channel_shuffle",
  970. "conv_tbc",
  971. "conv_transpose1d",
  972. "conv_transpose2d",
  973. "conv_transpose3d",
  974. "conv1d",
  975. "conv2d",
  976. "conv3d",
  977. "cosine_similarity",
  978. "hardshrink",
  979. "native_channel_shuffle",
  980. "pairwise_distance",
  981. "pdist",
  982. "pixel_shuffle",
  983. "pixel_unshuffle",
  984. "prelu",
  985. "relu_",
  986. "rrelu_",
  987. "selu_",
  988. "avg_pool2d",
  989. "avg_pool3d",
  990. "elu_",
  991. "gelu",
  992. "hardtanh_",
  993. "leaky_relu_",
  994. "linear",
  995. "logsigmoid",
  996. "one_hot",
  997. "pad",
  998. "scaled_dot_product_attention",
  999. "softplus",
  1000. "softshrink",
  1001. "max_pool1d",
  1002. "adaptive_max_pool1d",
  1003. "max_pool2d",
  1004. "fractional_max_pool2d",
  1005. "adaptive_max_pool2d",
  1006. "max_pool3d",
  1007. "fractional_max_pool3d",
  1008. "adaptive_max_pool3d",
  1009. ]