You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

mindspore.ops.functional.rst 15 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. mindspore.ops.functional
  2. =============================
  3. functional算子是经过初始化后的Primitive,可以直接作为函数使用。functional算子的使用示例如下:
  4. .. code-block:: python
  5. from mindspore import Tensor, ops
  6. from mindspore import dtype as mstype
  7. input_x = Tensor(-1, mstype.int32)
  8. input_dict = {'x':1, 'y':2}
  9. result_abs = ops.absolute(input_x)
  10. print(result_abs)
  11. result_in_dict = ops.in_dict('x', input_dict)
  12. print(result_in_dict)
  13. result_not_in_dict = ops.not_in_dict('x', input_dict)
  14. print(result_not_in_dict)
  15. result_isconstant = ops.isconstant(input_x)
  16. print(result_isconstant)
  17. result_typeof = ops.typeof(input_x)
  18. print(result_typeof)
  19. # outputs:
  20. # 1
  21. # True
  22. # False
  23. # True
  24. # Tensor[Int32]
  25. 神经网络层算子
  26. ----------------
  27. 激活函数
  28. ^^^^^^^^^^
  29. .. list-table::
  30. :widths: 50 50
  31. :header-rows: 1
  32. * - functional
  33. - Description
  34. * - mindspore.ops.tanh
  35. - Refer to :class:`mindspore.ops.Tanh`.
  36. 数学运算算子
  37. ----------------
  38. 逐元素运算
  39. ^^^^^^^^^^^^^
  40. .. list-table::
  41. :widths: 50 50
  42. :header-rows: 1
  43. * - functional
  44. - Description
  45. * - mindspore.ops.absolute
  46. - Refer to :class:`mindspore.ops.Abs`.
  47. * - mindspore.ops.acos
  48. - Refer to :class:`mindspore.ops.ACos`.
  49. * - mindspore.ops.acosh
  50. - Refer to :class:`mindspore.ops.Acosh`.
  51. * - mindspore.ops.add
  52. - Refer to :class:`mindspore.ops.Add`.
  53. * - mindspore.ops.addn
  54. - Refer to :class:`mindspore.ops.AddN`.
  55. * - mindspore.ops.asin
  56. - Refer to :class:`mindspore.ops.Asin`.
  57. * - mindspore.ops.asinh
  58. - Refer to :class:`mindspore.ops.Asinh`.
  59. * - mindspore.ops.atan
  60. - Refer to :class:`mindspore.ops.Atan`.
  61. * - mindspore.ops.atan2
  62. - Refer to :class:`mindspore.ops.Atan2`.
  63. * - mindspore.ops.atanh
  64. - Refer to :class:`mindspore.ops.Atanh`.
  65. * - mindspore.ops.bitwise_and
  66. - Refer to :class:`mindspore.ops.BitwiseAnd`.
  67. * - mindspore.ops.bitwise_or
  68. - Refer to :class:`mindspore.ops.BitwiseOr`.
  69. * - mindspore.ops.bitwise_xor
  70. - Refer to :class:`mindspore.ops.BitwiseXor`.
  71. * - mindspore.ops.cos
  72. - Refer to :class:`mindspore.ops.Cos`.
  73. * - mindspore.ops.cosh
  74. - Refer to :class:`mindspore.ops.Cosh`.
  75. * - mindspore.ops.div
  76. - Refer to :class:`mindspore.ops.RealDiv`.
  77. * - mindspore.ops.erf
  78. - Refer to :class:`mindspore.ops.Erf`.
  79. * - mindspore.ops.erfc
  80. - Refer to :class:`mindspore.ops.Erfc`.
  81. * - mindspore.ops.exp
  82. - Refer to :class:`mindspore.ops.Exp`.
  83. * - mindspore.ops.floor
  84. - Refer to :class:`mindspore.ops.Floor`.
  85. * - mindspore.ops.floordiv
  86. - Refer to :class:`mindspore.ops.FloorDiv`.
  87. * - mindspore.ops.floormod
  88. - Refer to :class:`mindspore.ops.FloorMod`.
  89. * - mindspore.ops.log
  90. - Refer to :class:`mindspore.ops.Log`.
  91. * - mindspore.ops.logical_and
  92. - Refer to :class:`mindspore.ops.LogicalAnd`.
  93. * - mindspore.ops.logical_not
  94. - Refer to :class:`mindspore.ops.LogicalNot`.
  95. * - mindspore.ops.logical_or
  96. - Refer to :class:`mindspore.ops.LogicalOr`.
  97. * - mindspore.ops.invert
  98. - Refer to :class:`mindspore.ops.Invert`.
  99. * - mindspore.ops.mul
  100. - Refer to :class:`mindspore.ops.Mul`.
  101. * - mindspore.ops.neg_tensor
  102. - Refer to :class:`mindspore.ops.Neg`.
  103. * - mindspore.ops.pows
  104. - Refer to :class:`mindspore.ops.Pow`.
  105. * - mindspore.ops.sin
  106. - Refer to :class:`mindspore.ops.Sin`.
  107. * - mindspore.ops.sinh
  108. - Refer to :class:`mindspore.ops.Sinh`.
  109. * - mindspore.ops.sqrt
  110. - Refer to :class:`mindspore.ops.Sqrt`.
  111. * - mindspore.ops.square
  112. - Refer to :class:`mindspore.ops.Square`.
  113. * - mindspore.ops.sub
  114. - Refer to :class:`mindspore.ops.Sub`.
  115. * - mindspore.ops.tan
  116. - Refer to :class:`mindspore.ops.Tan`.
  117. * - mindspore.ops.tensor_add
  118. - Refer to :class:`mindspore.ops.Add`.
  119. * - mindspore.ops.tensor_div
  120. - Refer to :class:`mindspore.ops.RealDiv`.
  121. * - mindspore.ops.tensor_exp
  122. - Refer to :class:`mindspore.ops.Exp`.
  123. * - mindspore.ops.tensor_expm1
  124. - Refer to :class:`mindspore.ops.Expm1`.
  125. * - mindspore.ops.tensor_floordiv
  126. - Refer to :class:`mindspore.ops.FloorDiv`.
  127. * - mindspore.ops.tensor_mod
  128. - Refer to :class:`mindspore.ops.FloorMod`.
  129. * - mindspore.ops.tensor_mul
  130. - Refer to :class:`mindspore.ops.Mul`.
  131. * - mindspore.ops.tensor_pow
  132. - Refer to :class:`mindspore.ops.Pow`.
  133. * - mindspore.ops.tensor_sub
  134. - Refer to :class:`mindspore.ops.Sub`.
  135. Reduction算子
  136. ^^^^^^^^^^^^^
  137. .. list-table::
  138. :widths: 50 50
  139. :header-rows: 1
  140. * - functional
  141. - Description
  142. * - mindspore.ops.reduce_max
  143. - Refer to :class:`mindspore.ops.ReduceMax`.
  144. * - mindspore.ops.reduce_mean
  145. - Refer to :class:`mindspore.ops.ReduceMean`.
  146. * - mindspore.ops.reduce_min
  147. - Refer to :class:`mindspore.ops.ReduceMin`.
  148. * - mindspore.ops.reduce_prod
  149. - Refer to :class:`mindspore.ops.ReduceProd`.
  150. * - mindspore.ops.reduce_sum
  151. - Refer to :class:`mindspore.ops.ReduceSum`.
  152. 比较算子
  153. ^^^^^^^^^^^^^
  154. .. list-table::
  155. :widths: 50 50
  156. :header-rows: 1
  157. * - functional
  158. - Description
  159. * - mindspore.ops.check_bprop
  160. - Refer to :class:`mindspore.ops.CheckBprop`.
  161. * - mindspore.ops.equal
  162. - Refer to :class:`mindspore.ops.Equal`.
  163. * - mindspore.ops.ge
  164. - Refer to :class:`mindspore.ops.GreaterEqual`.
  165. * - mindspore.ops.gt
  166. - Refer to :class:`mindspore.ops.Greater`.
  167. * - mindspore.ops.le
  168. - Refer to :class:`mindspore.ops.LessEqual`.
  169. * - mindspore.ops.less
  170. - Refer to :class:`mindspore.ops.Less`.
  171. * - mindspore.ops.isfinite
  172. - Refer to :class:`mindspore.ops.IsFinite`.
  173. * - mindspore.ops.isinstance\_
  174. - Refer to :class:`mindspore.ops.IsInstance`.
  175. * - mindspore.ops.isnan
  176. - Refer to :class:`mindspore.ops.IsNan`.
  177. * - mindspore.ops.issubclass\_
  178. - Refer to :class:`mindspore.ops.IsSubClass`.
  179. * - mindspore.ops.maximum
  180. - Refer to :class:`mindspore.ops.Maximum`.
  181. * - mindspore.ops.minimum
  182. - Refer to :class:`mindspore.ops.Minimum`.
  183. * - mindspore.ops.not_equal
  184. - Refer to :class:`mindspore.ops.NotEqual`.
  185. * - mindspore.ops.same_type_shape
  186. - Refer to :class:`mindspore.ops.SameTypeShape`.
  187. * - mindspore.ops.tensor_ge
  188. - Refer to :class:`mindspore.ops.GreaterEqual`.
  189. * - mindspore.ops.tensor_gt
  190. - Refer to :class:`mindspore.ops.Greater`.
  191. * - mindspore.ops.tensor_le
  192. - Refer to :class:`mindspore.ops.LessEqual`.
  193. * - mindspore.ops.tensor_lt
  194. - Refer to :class:`mindspore.ops.Less`.
  195. 线性代数算子
  196. ^^^^^^^^^^^^^
  197. .. mscnplatformautosummary::
  198. :toctree: ops
  199. :nosignatures:
  200. :template: classtemplate.rst
  201. mindspore.ops.matmul
  202. Parameter操作算子
  203. --------------------
  204. .. list-table::
  205. :widths: 50 50
  206. :header-rows: 1
  207. * - functional
  208. - Description
  209. * - mindspore.ops.assign
  210. - Refer to :class:`mindspore.ops.Assign`.
  211. * - mindspore.ops.assign_add
  212. - Refer to :class:`mindspore.ops.AssignAdd`.
  213. * - mindspore.ops.assign_sub
  214. - Refer to :class:`mindspore.ops.AssignSub`.
  215. * - mindspore.ops.scatter_nd_update
  216. - Refer to :class:`mindspore.ops.ScatterNdUpdate`.
  217. * - mindspore.ops.scatter_update
  218. - Refer to :class:`mindspore.ops.ScatterUpdate`.
  219. 调试算子
  220. ----------------
  221. .. list-table::
  222. :widths: 50 50
  223. :header-rows: 1
  224. * - functional
  225. - Description
  226. * - mindspore.ops.print\_
  227. - Refer to :class:`mindspore.ops.Print`.
  228. Tensor操作算子
  229. ----------------
  230. Tensor创建
  231. ^^^^^^^^^^^^^
  232. .. list-table::
  233. :widths: 50 50
  234. :header-rows: 1
  235. * - functional
  236. - Description
  237. * - mindspore.ops.eye
  238. - Refer to :class:`mindspore.ops.Eye`.
  239. * - mindspore.ops.fill
  240. - Refer to :class:`mindspore.ops.Fill`.
  241. * - mindspore.ops.ones_like
  242. - Refer to :class:`mindspore.ops.OnesLike`.
  243. * - mindspore.ops.zeros_like
  244. - Refer to :class:`mindspore.ops.ZerosLike`.
  245. 随机生成算子
  246. ^^^^^^^^^^^^^^^^
  247. .. mscnplatformautosummary::
  248. :toctree: ops
  249. :nosignatures:
  250. :template: classtemplate.rst
  251. mindspore.ops.gamma
  252. mindspore.ops.multinomial
  253. mindspore.ops.poisson
  254. Array操作
  255. ^^^^^^^^^^^^^^^^
  256. .. list-table::
  257. :widths: 50 50
  258. :header-rows: 1
  259. * - functional
  260. - Description
  261. * - mindspore.ops.cast
  262. - Refer to :class:`mindspore.ops.Cast`.
  263. * - mindspore.ops.cumprod
  264. - Refer to :class:`mindspore.ops.CumProd`.
  265. * - mindspore.ops.cumsum
  266. - Refer to :class:`mindspore.ops.CumSum`.
  267. * - mindspore.ops.dtype
  268. - Refer to :class:`mindspore.ops.DType`.
  269. * - mindspore.ops.expand_dims
  270. - Refer to :class:`mindspore.ops.ExpandDims`.
  271. * - mindspore.ops.gather
  272. - Refer to :class:`mindspore.ops.Gather`.
  273. * - mindspore.ops.gather_d
  274. - Refer to :class:`mindspore.ops.GatherD`.
  275. * - mindspore.ops.gather_nd
  276. - Refer to :class:`mindspore.ops.GatherNd`.
  277. * - mindspore.ops.rank
  278. - Refer to :class:`mindspore.ops.Rank`.
  279. * - mindspore.ops.reshape
  280. - Refer to :class:`mindspore.ops.Reshape`.
  281. * - mindspore.ops.scatter_nd
  282. - Refer to :class:`mindspore.ops.ScatterNd`.
  283. * - mindspore.ops.shape
  284. - Refer to :class:`mindspore.ops.Shape`.
  285. * - mindspore.ops.size
  286. - Refer to :class:`mindspore.ops.Size`.
  287. * - mindspore.ops.sort
  288. - Refer to :class:`mindspore.ops.Sort`.
  289. * - mindspore.ops.squeeze
  290. - Refer to :class:`mindspore.ops.Squeeze`.
  291. * - mindspore.ops.stack
  292. - Refer to :class:`mindspore.ops.Stack`.
  293. * - mindspore.ops.strided_slice
  294. - Refer to :class:`mindspore.ops.StridedSlice`.
  295. * - mindspore.ops.tensor_scatter_add
  296. - Refer to :class:`mindspore.ops.TensorScatterAdd`.
  297. * - mindspore.ops.tensor_scatter_update
  298. - Refer to :class:`mindspore.ops.TensorScatterUpdate`.
  299. * - mindspore.ops.tensor_slice
  300. - Refer to :class:`mindspore.ops.Slice`.
  301. * - mindspore.ops.tile
  302. - Refer to :class:`mindspore.ops.Tile`.
  303. * - mindspore.ops.transpose
  304. - Refer to :class:`mindspore.ops.Transpose`.
  305. .. mscnplatformautosummary::
  306. :toctree: ops
  307. :nosignatures:
  308. :template: classtemplate.rst
  309. mindspore.ops.select
  310. mindspore.ops.unique
  311. 类型转换
  312. ^^^^^^^^^^^^^^^^
  313. .. list-table::
  314. :widths: 50 50
  315. :header-rows: 1
  316. * - functional
  317. - Description
  318. * - mindspore.ops.scalar_cast
  319. - Refer to :class:`mindspore.ops.ScalarCast`.
  320. * - mindspore.ops.scalar_to_array
  321. - Refer to :class:`mindspore.ops.ScalarToArray`.
  322. * - mindspore.ops.scalar_to_tensor
  323. - Refer to :class:`mindspore.ops.ScalarToTensor`.
  324. * - mindspore.ops.tuple_to_array
  325. - Refer to :class:`mindspore.ops.TupleToArray`.
  326. 其他算子
  327. ----------------
  328. .. list-table::
  329. :widths: 50 50
  330. :header-rows: 1
  331. * - functional
  332. - Description
  333. * - mindspore.ops.bool_and
  334. - Calculate the result of logical AND operation. (Usage is the same as "and" in Python)
  335. * - mindspore.ops.bool_eq
  336. - Determine whether the Boolean values are equal. (Usage is the same as "==" in Python)
  337. * - mindspore.ops.bool_not
  338. - Calculate the result of logical NOT operation. (Usage is the same as "not" in Python)
  339. * - mindspore.ops.bool_or
  340. - Calculate the result of logical OR operation. (Usage is the same as "or" in Python)
  341. * - mindspore.ops.depend
  342. - Refer to :class:`mindspore.ops.Depend`.
  343. * - mindspore.ops.in_dict
  344. - Determine if a str in dict.
  345. * - mindspore.ops.is_not
  346. - Determine whether the input is not the same as the other one. (Usage is the same as "is not" in Python)
  347. * - mindspore.ops.is\_
  348. - Determine whether the input is the same as the other one. (Usage is the same as "is" in Python)
  349. * - mindspore.ops.isconstant
  350. - Determine whether the object is constant.
  351. * - mindspore.ops.not_in_dict
  352. - Determine whether the object is not in the dict.
  353. * - mindspore.ops.partial
  354. - Refer to :class:`mindspore.ops.Partial`.
  355. * - mindspore.ops.scalar_add
  356. - Get the sum of two numbers. (Usage is the same as "+" in Python)
  357. * - mindspore.ops.scalar_div
  358. - Get the quotient of dividing the first input number by the second input number. (Usage is the same as "/" in Python)
  359. * - mindspore.ops.scalar_eq
  360. - Determine whether two numbers are equal. (Usage is the same as "==" in Python)
  361. * - mindspore.ops.scalar_floordiv
  362. - Divide the first input number by the second input number and round down to the closest integer. (Usage is the same as "//" in Python)
  363. * - mindspore.ops.scalar_ge
  364. - Determine whether the number is greater than or equal to another number. (Usage is the same as ">=" in Python)
  365. * - mindspore.ops.scalar_gt
  366. - Determine whether the number is greater than another number. (Usage is the same as ">" in Python)
  367. * - mindspore.ops.scalar_le
  368. - Determine whether the number is less than or equal to another number. (Usage is the same as "<=" in Python)
  369. * - mindspore.ops.scalar_log
  370. - Get the natural logarithm of the input number.
  371. * - mindspore.ops.scalar_lt
  372. - Determine whether the number is less than another number. (Usage is the same as "<" in Python)
  373. * - mindspore.ops.scalar_mod
  374. - Get the remainder of dividing the first input number by the second input number. (Usage is the same as "%" in Python)
  375. * - mindspore.ops.scalar_mul
  376. - Get the product of the input two numbers. (Usage is the same as "*" in Python)
  377. * - mindspore.ops.scalar_ne
  378. - Determine whether two numbers are not equal. (Usage is the same as "!=" in Python)
  379. * - mindspore.ops.scalar_pow
  380. - Compute a number to the power of the second input number.
  381. * - mindspore.ops.scalar_sub
  382. - Subtract the second input number from the first input number. (Usage is the same as "-" in Python)
  383. * - mindspore.ops.scalar_uadd
  384. - Get the positive value of the input number.
  385. * - mindspore.ops.scalar_usub
  386. - Get the negative value of the input number.
  387. * - mindspore.ops.shape_mul
  388. - The input of shape_mul must be shape multiply elements in tuple(shape).
  389. * - mindspore.ops.stop_gradient
  390. - Disable update during back propagation. (`stop_gradient <https://www.mindspore.cn/tutorials/en/master/beginner/autograd.html#stopping-gradient>`_)
  391. * - mindspore.ops.string_concat
  392. - Concatenate two strings.
  393. * - mindspore.ops.string_eq
  394. - Determine if two strings are equal.
  395. * - mindspore.ops.typeof
  396. - Get type of object.
  397. .. mscnplatformautosummary::
  398. :toctree: ops
  399. :nosignatures:
  400. :template: classtemplate.rst
  401. mindspore.ops.arange
  402. mindspore.ops.batch_dot
  403. mindspore.ops.clip_by_global_norm
  404. mindspore.ops.clip_by_value
  405. mindspore.ops.core
  406. mindspore.ops.count_nonzero
  407. mindspore.ops.cummin
  408. mindspore.ops.dot
  409. mindspore.ops.grad
  410. mindspore.ops.jvp
  411. mindspore.ops.laplace
  412. mindspore.ops.narrow
  413. mindspore.ops.normal
  414. mindspore.ops.repeat_elements
  415. mindspore.ops.sequence_mask
  416. mindspore.ops.tensor_dot
  417. mindspore.ops.uniform
  418. mindspore.ops.vjp