_nn.pyi 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. # @generated by tools/pyi/gen_pyi.py from torch/_C/_nn.pyi.in
  2. # mypy: disable-error-code="type-arg"
  3. from collections.abc import Sequence
  4. from typing import Literal, overload
  5. from torch import memory_format, Tensor
  6. from torch.types import _bool, _device, _dtype, _int, _size
  7. # Defined in tools/autograd/templates/python_nn_functions.cpp
  8. def adaptive_avg_pool2d(input: Tensor, output_size: _int | _size) -> Tensor: ...
  9. def adaptive_avg_pool3d(input: Tensor, output_size: _int | _size) -> Tensor: ...
  10. def adaptive_max_pool2d(
  11. input: Tensor,
  12. output_size: _int | _size,
  13. ) -> tuple[Tensor, Tensor]: ...
  14. def adaptive_max_pool3d(
  15. input: Tensor,
  16. output_size: _int | _size,
  17. ) -> tuple[Tensor, Tensor]: ...
  18. def avg_pool2d(
  19. input: Tensor,
  20. kernel_size: _int | _size,
  21. stride: _int | _size | None = None,
  22. padding: _int | _size = 0,
  23. ceil_mode: bool = False,
  24. count_include_pad: bool = True,
  25. divisor_override: int | None = None,
  26. ) -> Tensor: ...
  27. def avg_pool3d(
  28. input: Tensor,
  29. kernel_size: _int | _size,
  30. stride: _int | _size | None = None,
  31. padding: _int | _size = 0,
  32. ceil_mode: bool = False,
  33. count_include_pad: bool = True,
  34. divisor_override: int | None = None,
  35. ) -> Tensor: ...
  36. def binary_cross_entropy(
  37. input: Tensor,
  38. target: Tensor,
  39. weight: Tensor | None = None,
  40. reduction: str = ...,
  41. ) -> Tensor: ...
  42. def col2im(
  43. input: Tensor,
  44. output_size: _int | _size,
  45. kernel_size: _int | _size,
  46. dilation: _int | _size,
  47. stride: _int | _size | None = None,
  48. padding: _int | _size = 0,
  49. ) -> Tensor: ...
  50. def cross_entropy_loss(
  51. input: Tensor,
  52. target: Tensor,
  53. weight: Tensor | None = None,
  54. reduction: str = ...,
  55. ignore_index: int = -100,
  56. label_smoothing: float = 0.0,
  57. ) -> Tensor: ...
  58. def elu(
  59. input: Tensor,
  60. alpha: float = 1.0,
  61. scale: float = 1.0,
  62. input_scale: float = 1.0,
  63. ) -> Tensor: ...
  64. def elu_(input: Tensor, alpha: float = ...) -> Tensor: ...
  65. def fractional_max_pool2d(
  66. input: Tensor,
  67. kernel_size: _int | _size,
  68. output_size: _int | _size,
  69. _random_samples: Tensor,
  70. ) -> tuple[Tensor, Tensor]: ...
  71. def fractional_max_pool3d(
  72. input: Tensor,
  73. kernel_size: _int | _size,
  74. output_size: _int | _size,
  75. _random_samples: Tensor,
  76. ) -> tuple[Tensor, Tensor]: ...
  77. def gelu(input: Tensor, approximate: str = ...) -> Tensor: ...
  78. def glu(input: Tensor, dim: int = -1) -> Tensor: ...
  79. def hardsigmoid(input: Tensor, *, out: Tensor | None = None) -> Tensor: ...
  80. def hardsigmoid_(input: Tensor) -> Tensor: ...
  81. def hardswish(input: Tensor) -> Tensor: ...
  82. def hardswish_(input: Tensor) -> Tensor: ...
  83. def hardtanh(
  84. input: Tensor,
  85. min_val: float = ...,
  86. max_val: float = ...,
  87. *,
  88. out: Tensor | None = None,
  89. ) -> Tensor: ...
  90. def hardtanh_(
  91. input: Tensor,
  92. min_val: float = ...,
  93. max_val: float = ...,
  94. ) -> Tensor: ...
  95. def huber_loss(
  96. input: Tensor,
  97. target: Tensor,
  98. reduction: str = ...,
  99. delta: float = 1.0,
  100. ) -> Tensor: ...
  101. def im2col(
  102. input: Tensor,
  103. kernel_size: _int | _size,
  104. dilation: _int | _size,
  105. padding: _int | _size,
  106. stride: _int | _size,
  107. ) -> Tensor: ...
  108. def l1_loss(input: Tensor, target: Tensor, reduction: str = ...) -> Tensor: ...
  109. def leaky_relu(
  110. input: Tensor,
  111. negative_slope: float = ...,
  112. *,
  113. out: Tensor | None = None,
  114. ) -> Tensor: ...
  115. def leaky_relu_(input: Tensor, negative_slope: float = ...) -> Tensor: ...
  116. def linear(
  117. input: Tensor,
  118. weight: Tensor,
  119. bias: Tensor | None = None,
  120. ) -> Tensor: ...
  121. def log_sigmoid(input: Tensor) -> Tensor: ...
  122. def max_pool2d_with_indices(
  123. input: Tensor,
  124. kernel_size: _int | _size,
  125. stride: _int | _size | None = None,
  126. padding: _int | _size = 0,
  127. dilation: _int | _size = 1,
  128. ceil_mode: bool = False,
  129. ) -> tuple[Tensor, Tensor]: ...
  130. def max_pool3d_with_indices(
  131. input: Tensor,
  132. kernel_size: _int | _size,
  133. stride: _int | _size | None = None,
  134. padding: _int | _size = 0,
  135. dilation: _int | _size = 1,
  136. ceil_mode: bool = False,
  137. ) -> tuple[Tensor, Tensor]: ...
  138. def max_unpool2d(
  139. input: Tensor,
  140. indices: Tensor,
  141. output_size: Sequence[int] | None,
  142. ) -> Tensor: ...
  143. def max_unpool3d(
  144. input: Tensor,
  145. indices: Tensor,
  146. output_size: Sequence[int] | None,
  147. stride: _int | _size,
  148. padding: _int | _size,
  149. ) -> Tensor: ...
  150. def mish(input: Tensor) -> Tensor: ...
  151. def mish_(input: Tensor) -> Tensor: ...
  152. def mse_loss(input: Tensor, target: Tensor, reduction: str = ...) -> Tensor: ...
  153. def multi_margin_loss(
  154. input: Tensor,
  155. target: Tensor,
  156. p: float = 1.0,
  157. margin: float = 1.0,
  158. weight: Tensor | None = None,
  159. reduction: str = ...,
  160. ) -> Tensor: ...
  161. def multilabel_margin_loss(
  162. input: Tensor,
  163. target: Tensor,
  164. reduction: str = ...,
  165. ) -> Tensor: ...
  166. def nll_loss_nd(
  167. input: Tensor,
  168. target: Tensor,
  169. weight: Tensor | None = None,
  170. reduction: str = ...,
  171. ignore_index: int = -100,
  172. ) -> Tensor: ...
  173. def one_hot(tensor: Tensor, num_classes: int = ...) -> Tensor: ...
  174. def pad(
  175. input: Tensor,
  176. pad: Sequence[int],
  177. mode: str = ...,
  178. value: float | None = None,
  179. ) -> Tensor: ...
  180. def relu6(input: Tensor) -> Tensor: ...
  181. def relu6_(input: Tensor) -> Tensor: ...
  182. def scaled_dot_product_attention(
  183. query: Tensor,
  184. key: Tensor,
  185. value: Tensor,
  186. attn_mask: Tensor | None = None,
  187. dropout_p: float = 0.0,
  188. is_causal: bool = False,
  189. scale: float | None = None,
  190. enable_gqa: bool = False,
  191. ) -> Tensor: ...
  192. def silu(input: Tensor) -> Tensor: ...
  193. def silu_(input: Tensor) -> Tensor: ...
  194. def smooth_l1_loss(
  195. input: Tensor,
  196. target: Tensor,
  197. reduction: str = ...,
  198. beta: float = 1.0,
  199. ) -> Tensor: ...
  200. def soft_margin_loss(
  201. input: Tensor,
  202. target: Tensor,
  203. reduction: str = ...,
  204. ) -> Tensor: ...
  205. def softplus(
  206. input: Tensor,
  207. beta: float = ...,
  208. threshold: float = ...,
  209. ) -> Tensor: ...
  210. def softshrink(input: Tensor, lambd: float = ...) -> Tensor: ...
  211. # Defined in aten/src/ATen/native/mkldnn/Linear.cpp
  212. def mkldnn_linear(input: Tensor, weight: Tensor, bias: Tensor | None) -> Tensor: ...
  213. # Defined at aten/src/ATen/native/mkldnn/MKLDNNConversions.cpp
  214. def mkldnn_reorder_conv2d_weight(
  215. self: Tensor,
  216. padding: list,
  217. stride: list,
  218. dilatation: list,
  219. groups: int,
  220. ) -> Tensor: ...
  221. def mkldnn_reorder_conv3d_weight(
  222. self: Tensor,
  223. padding: list,
  224. stride: list,
  225. dilatation: list,
  226. groups: int,
  227. ) -> Tensor: ...
  228. # Defined in aten/src/ATen/native/mkldnn/Prelu.cpp
  229. def mkldnn_prelu(input: Tensor, weight: Tensor) -> Tensor: ...
  230. # Defined at tools/autograd/templates/python_nn_functions.cpp
  231. @overload
  232. def _parse_to(
  233. device: _device,
  234. dtype: _dtype,
  235. non_blocking: _bool,
  236. copy: _bool,
  237. *,
  238. memory_format: memory_format,
  239. ) -> tuple[_device, _dtype, _bool, memory_format]: ...
  240. @overload
  241. def _parse_to(
  242. dtype: _dtype,
  243. non_blocking: _bool,
  244. copy: _bool,
  245. *,
  246. memory_format: memory_format,
  247. ) -> tuple[_device, _dtype, _bool, memory_format]: ...
  248. @overload
  249. def _parse_to(
  250. tensor: Tensor,
  251. non_blocking: _bool,
  252. copy: _bool,
  253. *,
  254. memory_format: memory_format,
  255. ) -> tuple[_device, _dtype, _bool, memory_format]: ...
  256. # Defined in aten/src/ATen/native/PackedSequence.cpp
  257. def pad_sequence(
  258. sequences: list[Tensor] | tuple[Tensor, ...],
  259. batch_first: bool = False,
  260. padding_value: float = 0.0,
  261. padding_side: Literal["left", "right"] = "right",
  262. ) -> Tensor: ...
  263. # Upsample functions used by torch.nn.functional.interpolate
  264. def upsample_nearest1d(
  265. input: Tensor,
  266. output_size: Sequence[int] | None,
  267. scale_factors: Sequence[float] | None,
  268. ) -> Tensor: ...
  269. def upsample_nearest2d(
  270. input: Tensor,
  271. output_size: Sequence[int] | None,
  272. scale_factors: Sequence[float] | None,
  273. ) -> Tensor: ...
  274. def upsample_nearest3d(
  275. input: Tensor,
  276. output_size: Sequence[int] | None,
  277. scale_factors: Sequence[float] | None,
  278. ) -> Tensor: ...
  279. def _upsample_nearest_exact1d(
  280. input: Tensor,
  281. output_size: Sequence[int] | None,
  282. scale_factors: Sequence[float] | None,
  283. ) -> Tensor: ...
  284. def _upsample_nearest_exact2d(
  285. input: Tensor,
  286. output_size: Sequence[int] | None,
  287. scale_factors: Sequence[float] | None,
  288. ) -> Tensor: ...
  289. def _upsample_nearest_exact3d(
  290. input: Tensor,
  291. output_size: Sequence[int] | None,
  292. scale_factors: Sequence[float] | None,
  293. ) -> Tensor: ...
  294. def upsample_linear1d(
  295. input: Tensor,
  296. output_size: Sequence[int] | None,
  297. align_corners: bool,
  298. scale_factors: Sequence[float] | None,
  299. ) -> Tensor: ...
  300. def _upsample_bilinear2d_aa(
  301. input: Tensor,
  302. output_size: Sequence[int] | None,
  303. align_corners: bool,
  304. scale_factors: Sequence[float] | None,
  305. ) -> Tensor: ...
  306. def upsample_bilinear2d(
  307. input: Tensor,
  308. output_size: Sequence[int] | None,
  309. align_corners: bool,
  310. scale_factors: Sequence[float] | None,
  311. ) -> Tensor: ...
  312. def upsample_trilinear3d(
  313. input: Tensor,
  314. output_size: Sequence[int] | None,
  315. align_corners: bool,
  316. scale_factors: Sequence[float] | None,
  317. ) -> Tensor: ...
  318. def _upsample_bicubic2d_aa(
  319. input: Tensor,
  320. output_size: Sequence[int] | None,
  321. align_corners: bool,
  322. scale_factors: Sequence[float] | None,
  323. ) -> Tensor: ...
  324. def upsample_bicubic2d(
  325. input: Tensor,
  326. output_size: Sequence[int] | None,
  327. align_corners: bool,
  328. scale_factors: Sequence[float] | None,
  329. ) -> Tensor: ...
  330. def flatten_dense_tensors(tensors: list[Tensor]) -> Tensor: ...
  331. def unflatten_dense_tensors(flat: Tensor, tensors: list[Tensor]) -> list[Tensor]: ...