mindspore 2.5.0__cp311-cp311-win_amd64.whl → 2.6.0__cp311-cp311-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mindspore might be problematic. Click here for more details.

Files changed (493) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
  3. mindspore/Newtonsoft.Json.dll +0 -0
  4. mindspore/__init__.py +6 -4
  5. mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
  8. mindspore/_check_jit_forbidden_api.py +3 -0
  9. mindspore/_checkparam.py +3 -33
  10. mindspore/_deprecated/__init__.py +17 -0
  11. mindspore/_deprecated/jit.py +198 -0
  12. mindspore/_extends/builtin_operations.py +1 -1
  13. mindspore/_extends/parse/__init__.py +6 -7
  14. mindspore/_extends/parse/compile_config.py +19 -0
  15. mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +22 -3
  16. mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
  17. mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
  18. mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
  19. mindspore/_extends/parse/parser.py +25 -194
  20. mindspore/_extends/parse/resources.py +1 -5
  21. mindspore/_extends/parse/standard_method.py +109 -75
  22. mindspore/_extends/pijit/__init__.py +2 -2
  23. mindspore/_extends/pijit/pijit_func_white_list.py +16 -11
  24. mindspore/_extends/pijit/tensor_func_list.py +27 -0
  25. mindspore/_extends/utils.py +1 -1
  26. mindspore/amp.py +4 -4
  27. mindspore/atlprov.dll +0 -0
  28. mindspore/avcodec-59.dll +0 -0
  29. mindspore/avdevice-59.dll +0 -0
  30. mindspore/avfilter-8.dll +0 -0
  31. mindspore/avformat-59.dll +0 -0
  32. mindspore/avutil-57.dll +0 -0
  33. mindspore/boost/__init__.py +2 -2
  34. mindspore/boost/base.py +3 -7
  35. mindspore/boost/boost_cell_wrapper.py +2 -2
  36. mindspore/c1.dll +0 -0
  37. mindspore/c1xx.dll +0 -0
  38. mindspore/c2.dll +0 -0
  39. mindspore/common/__init__.py +4 -3
  40. mindspore/common/_grad_function.py +56 -0
  41. mindspore/common/_pijit_context.py +14 -5
  42. mindspore/common/_register_for_tensor.py +1 -1
  43. mindspore/common/_stub_tensor.py +5 -10
  44. mindspore/common/_tensor_cpp_method.py +1 -1
  45. mindspore/common/_tensor_docs.py +2014 -3386
  46. mindspore/common/api.py +386 -355
  47. mindspore/common/auto_dynamic_shape.py +41 -44
  48. mindspore/common/dtype.py +5 -2
  49. mindspore/common/dump.py +7 -5
  50. mindspore/common/file_system.py +3 -0
  51. mindspore/common/generator.py +3 -0
  52. mindspore/common/hook_handle.py +5 -3
  53. mindspore/common/initializer.py +10 -6
  54. mindspore/common/jit_begin_end.py +94 -0
  55. mindspore/common/jit_config.py +6 -1
  56. mindspore/common/jit_context.py +76 -0
  57. mindspore/common/jit_trace.py +378 -0
  58. mindspore/common/lazy_inline.py +2 -2
  59. mindspore/common/mutable.py +5 -4
  60. mindspore/common/parameter.py +106 -39
  61. mindspore/common/seed.py +2 -2
  62. mindspore/common/sparse_tensor.py +23 -17
  63. mindspore/common/tensor.py +332 -714
  64. mindspore/communication/__init__.py +7 -5
  65. mindspore/communication/_comm_helper.py +47 -2
  66. mindspore/communication/comm_func.py +70 -53
  67. mindspore/communication/management.py +83 -17
  68. mindspore/context.py +228 -571
  69. mindspore/dataset/__init__.py +44 -20
  70. mindspore/dataset/audio/__init__.py +2 -8
  71. mindspore/dataset/audio/transforms.py +3 -17
  72. mindspore/dataset/core/config.py +3 -3
  73. mindspore/dataset/engine/cache_client.py +1 -1
  74. mindspore/dataset/engine/datasets.py +102 -120
  75. mindspore/dataset/engine/datasets_audio.py +22 -22
  76. mindspore/dataset/engine/datasets_standard_format.py +43 -24
  77. mindspore/dataset/engine/datasets_text.py +78 -85
  78. mindspore/dataset/engine/datasets_user_defined.py +109 -77
  79. mindspore/dataset/engine/datasets_vision.py +111 -108
  80. mindspore/dataset/engine/iterators.py +5 -3
  81. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
  82. mindspore/dataset/engine/samplers.py +279 -57
  83. mindspore/dataset/engine/serializer_deserializer.py +2 -1
  84. mindspore/dataset/engine/validators.py +10 -0
  85. mindspore/dataset/text/__init__.py +7 -6
  86. mindspore/dataset/text/transforms.py +6 -5
  87. mindspore/dataset/text/utils.py +3 -3
  88. mindspore/dataset/transforms/__init__.py +0 -9
  89. mindspore/dataset/transforms/transforms.py +3 -3
  90. mindspore/dataset/utils/browse_dataset.py +1 -1
  91. mindspore/dataset/vision/__init__.py +2 -9
  92. mindspore/dataset/vision/transforms.py +202 -158
  93. mindspore/dataset/vision/utils.py +7 -5
  94. mindspore/device_context/ascend/op_debug.py +60 -1
  95. mindspore/device_context/ascend/op_tuning.py +0 -4
  96. mindspore/device_manager.py +39 -3
  97. mindspore/dnnl.dll +0 -0
  98. mindspore/dpcmi.dll +0 -0
  99. mindspore/experimental/es/embedding_service.py +35 -27
  100. mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +0 -2
  101. mindspore/experimental/map_parameter.py +4 -4
  102. mindspore/experimental/optim/adadelta.py +22 -26
  103. mindspore/experimental/optim/adagrad.py +4 -4
  104. mindspore/experimental/optim/adam.py +4 -0
  105. mindspore/experimental/optim/adamax.py +4 -4
  106. mindspore/experimental/optim/adamw.py +4 -0
  107. mindspore/experimental/optim/asgd.py +1 -1
  108. mindspore/experimental/optim/lr_scheduler.py +40 -22
  109. mindspore/experimental/optim/radam.py +5 -5
  110. mindspore/experimental/optim/rprop.py +1 -1
  111. mindspore/experimental/optim/sgd.py +1 -1
  112. mindspore/hal/contiguous_tensors_handle.py +6 -10
  113. mindspore/hal/device.py +55 -81
  114. mindspore/hal/event.py +38 -55
  115. mindspore/hal/memory.py +115 -147
  116. mindspore/hal/stream.py +81 -125
  117. mindspore/include/dataset/constants.h +7 -4
  118. mindspore/include/dataset/execute.h +2 -2
  119. mindspore/jpeg62.dll +0 -0
  120. mindspore/log.py +40 -2
  121. mindspore/mindrecord/__init__.py +20 -7
  122. mindspore/mindspore_backend_common.dll +0 -0
  123. mindspore/mindspore_backend_manager.dll +0 -0
  124. mindspore/mindspore_common.dll +0 -0
  125. mindspore/mindspore_core.dll +0 -0
  126. mindspore/mindspore_dump.dll +0 -0
  127. mindspore/mindspore_frontend.dll +0 -0
  128. mindspore/mindspore_glog.dll +0 -0
  129. mindspore/mindspore_memory_pool.dll +0 -0
  130. mindspore/mindspore_ms_backend.dll +0 -0
  131. mindspore/mindspore_ops.dll +0 -0
  132. mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
  133. mindspore/mindspore_ops_kernel_common.dll +0 -0
  134. mindspore/mindspore_profiler.dll +0 -0
  135. mindspore/mindspore_pyboost.dll +0 -0
  136. mindspore/mindspore_pynative.dll +0 -0
  137. mindspore/mindspore_res_manager.dll +0 -0
  138. mindspore/mindspore_runtime_pipeline.dll +0 -0
  139. mindspore/mint/__init__.py +133 -702
  140. mindspore/mint/distributed/__init__.py +5 -1
  141. mindspore/mint/distributed/distributed.py +198 -113
  142. mindspore/mint/linalg/__init__.py +2 -0
  143. mindspore/mint/nn/__init__.py +280 -18
  144. mindspore/mint/nn/functional.py +282 -64
  145. mindspore/mint/nn/layer/__init__.py +4 -0
  146. mindspore/mint/nn/layer/_functions.py +7 -3
  147. mindspore/mint/nn/layer/activation.py +120 -13
  148. mindspore/mint/nn/layer/conv.py +234 -28
  149. mindspore/mint/nn/layer/normalization.py +15 -16
  150. mindspore/mint/nn/layer/padding.py +1 -1
  151. mindspore/mint/nn/layer/pooling.py +66 -1
  152. mindspore/mint/optim/__init__.py +2 -1
  153. mindspore/mint/optim/sgd.py +171 -0
  154. mindspore/msobj140.dll +0 -0
  155. mindspore/mspdb140.dll +0 -0
  156. mindspore/mspdbcore.dll +0 -0
  157. mindspore/mspdbst.dll +0 -0
  158. mindspore/mspft140.dll +0 -0
  159. mindspore/msvcdis140.dll +0 -0
  160. mindspore/msvcp140_1.dll +0 -0
  161. mindspore/msvcp140_2.dll +0 -0
  162. mindspore/msvcp140_atomic_wait.dll +0 -0
  163. mindspore/msvcp140_codecvt_ids.dll +0 -0
  164. mindspore/nn/__init__.py +4 -1
  165. mindspore/nn/cell.py +1253 -179
  166. mindspore/nn/layer/activation.py +23 -21
  167. mindspore/nn/layer/basic.py +22 -16
  168. mindspore/nn/layer/container.py +1 -1
  169. mindspore/nn/layer/conv.py +53 -42
  170. mindspore/nn/layer/embedding.py +9 -8
  171. mindspore/nn/layer/normalization.py +48 -42
  172. mindspore/nn/layer/pooling.py +75 -31
  173. mindspore/nn/layer/transformer.py +11 -10
  174. mindspore/nn/learning_rate_schedule.py +4 -2
  175. mindspore/nn/loss/loss.py +27 -19
  176. mindspore/nn/optim/ada_grad.py +6 -5
  177. mindspore/nn/optim/adadelta.py +9 -7
  178. mindspore/nn/optim/adafactor.py +1 -1
  179. mindspore/nn/optim/adam.py +18 -14
  180. mindspore/nn/optim/adamax.py +8 -7
  181. mindspore/nn/optim/adasum.py +5 -5
  182. mindspore/nn/optim/asgd.py +3 -1
  183. mindspore/nn/optim/ftrl.py +11 -9
  184. mindspore/nn/optim/lamb.py +1 -1
  185. mindspore/nn/optim/lazyadam.py +12 -10
  186. mindspore/nn/optim/momentum.py +7 -6
  187. mindspore/nn/optim/optimizer.py +2 -2
  188. mindspore/nn/optim/proximal_ada_grad.py +12 -10
  189. mindspore/nn/optim/rmsprop.py +13 -12
  190. mindspore/nn/optim/rprop.py +9 -7
  191. mindspore/nn/optim/sgd.py +9 -6
  192. mindspore/nn/optim/tft_wrapper.py +5 -2
  193. mindspore/nn/probability/bijector/bijector.py +17 -11
  194. mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
  195. mindspore/nn/probability/bijector/invert.py +2 -2
  196. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  197. mindspore/nn/probability/bijector/softplus.py +3 -2
  198. mindspore/nn/probability/distribution/beta.py +3 -3
  199. mindspore/nn/probability/distribution/categorical.py +1 -1
  200. mindspore/nn/probability/distribution/cauchy.py +4 -2
  201. mindspore/nn/probability/distribution/exponential.py +6 -7
  202. mindspore/nn/probability/distribution/gamma.py +2 -2
  203. mindspore/nn/probability/distribution/gumbel.py +2 -2
  204. mindspore/nn/probability/distribution/half_normal.py +5 -3
  205. mindspore/nn/probability/distribution/logistic.py +5 -3
  206. mindspore/nn/probability/distribution/poisson.py +1 -1
  207. mindspore/nn/probability/distribution/uniform.py +5 -3
  208. mindspore/nn/reinforcement/_tensors_queue.py +1 -1
  209. mindspore/nn/reinforcement/tensor_array.py +1 -1
  210. mindspore/nn/wrap/__init__.py +6 -6
  211. mindspore/nn/wrap/cell_wrapper.py +178 -117
  212. mindspore/nn/wrap/grad_reducer.py +45 -36
  213. mindspore/nn/wrap/loss_scale.py +3 -3
  214. mindspore/numpy/array_creations.py +3 -3
  215. mindspore/numpy/array_ops.py +1 -1
  216. mindspore/numpy/utils.py +1 -2
  217. mindspore/numpy/utils_const.py +1 -2
  218. mindspore/opencv_core452.dll +0 -0
  219. mindspore/opencv_imgcodecs452.dll +0 -0
  220. mindspore/opencv_imgproc452.dll +0 -0
  221. mindspore/ops/__init__.py +3 -2
  222. mindspore/ops/_grad_experimental/grad_comm_ops.py +18 -3
  223. mindspore/ops/_grad_experimental/grad_debug_ops.py +8 -1
  224. mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
  225. mindspore/ops/_register_for_op.py +0 -11
  226. mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
  227. mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -4
  228. mindspore/ops/_vmap/vmap_array_ops.py +32 -6
  229. mindspore/ops/_vmap/vmap_grad_nn_ops.py +2 -1
  230. mindspore/ops/_vmap/vmap_math_ops.py +4 -7
  231. mindspore/ops/_vmap/vmap_nn_ops.py +9 -8
  232. mindspore/ops/auto_generate/__init__.py +4 -3
  233. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +127 -52
  234. mindspore/ops/auto_generate/gen_extend_func.py +286 -208
  235. mindspore/ops/auto_generate/gen_ops_def.py +2783 -2335
  236. mindspore/ops/auto_generate/gen_ops_prim.py +8992 -2686
  237. mindspore/ops/auto_generate/pyboost_inner_prim.py +106 -76
  238. mindspore/ops/composite/__init__.py +2 -1
  239. mindspore/ops/composite/base.py +19 -24
  240. mindspore/ops/composite/math_ops.py +6 -16
  241. mindspore/ops/composite/multitype_ops/__init__.py +5 -2
  242. mindspore/ops/composite/multitype_ops/_compile_utils.py +4 -5
  243. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
  244. mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
  245. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  246. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  247. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
  248. mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
  249. mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
  250. mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
  251. mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
  252. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
  253. mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
  254. mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
  255. mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
  256. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
  257. mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
  258. mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
  259. mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
  260. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
  261. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  262. mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
  263. mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
  264. mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
  265. mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
  266. mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
  267. mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
  268. mindspore/ops/composite/multitype_ops/pow_impl.py +2 -1
  269. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
  270. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  271. mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
  272. mindspore/ops/function/__init__.py +28 -2
  273. mindspore/ops/function/_add_attr_func.py +58 -0
  274. mindspore/ops/function/array_func.py +1631 -2347
  275. mindspore/ops/function/clip_func.py +38 -45
  276. mindspore/ops/function/debug_func.py +36 -44
  277. mindspore/ops/function/grad/__init__.py +1 -0
  278. mindspore/ops/function/grad/grad_func.py +104 -71
  279. mindspore/ops/function/image_func.py +1 -1
  280. mindspore/ops/function/linalg_func.py +46 -78
  281. mindspore/ops/function/math_func.py +3024 -3855
  282. mindspore/ops/function/nn_func.py +678 -274
  283. mindspore/ops/function/other_func.py +159 -1
  284. mindspore/ops/function/parameter_func.py +17 -30
  285. mindspore/ops/function/random_func.py +216 -361
  286. mindspore/ops/function/reshard_func.py +4 -70
  287. mindspore/ops/function/sparse_func.py +3 -3
  288. mindspore/ops/function/sparse_unary_func.py +5 -5
  289. mindspore/ops/function/spectral_func.py +25 -58
  290. mindspore/ops/function/vmap_func.py +26 -18
  291. mindspore/ops/functional.py +8 -5
  292. mindspore/ops/functional_overload.py +655 -4
  293. mindspore/ops/op_info_register.py +32 -244
  294. mindspore/ops/operations/__init__.py +21 -14
  295. mindspore/ops/operations/_custom_ops_utils.py +235 -0
  296. mindspore/ops/operations/_grad_ops.py +1 -10
  297. mindspore/ops/operations/_inner_ops.py +5 -76
  298. mindspore/ops/operations/_ms_kernel.py +4 -10
  299. mindspore/ops/operations/_rl_inner_ops.py +1 -1
  300. mindspore/ops/operations/_scalar_ops.py +3 -2
  301. mindspore/ops/operations/_sequence_ops.py +1 -1
  302. mindspore/ops/operations/_tensor_array.py +1 -1
  303. mindspore/ops/operations/array_ops.py +39 -24
  304. mindspore/ops/operations/comm_ops.py +150 -107
  305. mindspore/ops/operations/custom_ops.py +287 -32
  306. mindspore/ops/operations/debug_ops.py +119 -16
  307. mindspore/ops/operations/inner_ops.py +1 -1
  308. mindspore/ops/operations/linalg_ops.py +1 -58
  309. mindspore/ops/operations/manually_defined/_inner.py +1 -1
  310. mindspore/ops/operations/manually_defined/ops_def.py +746 -79
  311. mindspore/ops/operations/math_ops.py +21 -18
  312. mindspore/ops/operations/nn_ops.py +67 -224
  313. mindspore/ops/operations/other_ops.py +62 -9
  314. mindspore/ops/operations/random_ops.py +13 -7
  315. mindspore/ops/operations/reshard_ops.py +1 -1
  316. mindspore/ops/operations/sparse_ops.py +2 -2
  317. mindspore/ops/primitive.py +43 -32
  318. mindspore/ops/tensor_method.py +243 -17
  319. mindspore/ops_generate/__init__.py +0 -5
  320. mindspore/ops_generate/aclnn/__init__.py +0 -0
  321. mindspore/ops_generate/{aclnn_kernel_register_auto_cc_generator.py → aclnn/aclnn_kernel_register_auto_cc_generator.py} +43 -18
  322. mindspore/ops_generate/{gen_aclnn_implement.py → aclnn/gen_aclnn_implement.py} +49 -51
  323. mindspore/ops_generate/api/__init__.py +0 -0
  324. mindspore/ops_generate/{add_tensor_docs_generator.py → api/add_tensor_docs_generator.py} +9 -7
  325. mindspore/ops_generate/{cpp_create_prim_instance_helper_generator.py → api/cpp_create_prim_instance_helper_generator.py} +6 -9
  326. mindspore/ops_generate/{functional_map_cpp_generator.py → api/functional_map_cpp_generator.py} +25 -12
  327. mindspore/ops_generate/{functional_overload_py_generator.py → api/functional_overload_py_generator.py} +8 -6
  328. mindspore/ops_generate/{functions_cc_generator.py → api/functions_cc_generator.py} +14 -10
  329. mindspore/ops_generate/api/gen_api.py +103 -0
  330. mindspore/ops_generate/{op_api_proto.py → api/op_api_proto.py} +98 -69
  331. mindspore/ops_generate/{tensor_func_reg_cpp_generator.py → api/tensor_func_reg_cpp_generator.py} +82 -43
  332. mindspore/ops_generate/common/__init__.py +0 -0
  333. mindspore/ops_generate/common/gen_constants.py +91 -0
  334. mindspore/ops_generate/{gen_utils.py → common/gen_utils.py} +72 -19
  335. mindspore/ops_generate/{op_proto.py → common/op_proto.py} +64 -1
  336. mindspore/ops_generate/{template.py → common/template.py} +96 -84
  337. mindspore/ops_generate/gen_ops.py +23 -325
  338. mindspore/ops_generate/op_def/__init__.py +0 -0
  339. mindspore/ops_generate/op_def/gen_op_def.py +90 -0
  340. mindspore/ops_generate/{lite_ops_cpp_generator.py → op_def/lite_ops_cpp_generator.py} +47 -11
  341. mindspore/ops_generate/{ops_def_cc_generator.py → op_def/ops_def_cc_generator.py} +18 -10
  342. mindspore/ops_generate/{ops_def_h_generator.py → op_def/ops_def_h_generator.py} +5 -5
  343. mindspore/ops_generate/{ops_name_h_generator.py → op_def/ops_name_h_generator.py} +30 -15
  344. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
  345. mindspore/ops_generate/op_def_py/__init__.py +0 -0
  346. mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
  347. mindspore/ops_generate/{op_def_py_generator.py → op_def_py/op_def_py_generator.py} +6 -5
  348. mindspore/ops_generate/{op_prim_py_generator.py → op_def_py/op_prim_py_generator.py} +24 -15
  349. mindspore/ops_generate/pyboost/__init__.py +0 -0
  350. mindspore/ops_generate/{auto_grad_impl_cc_generator.py → pyboost/auto_grad_impl_cc_generator.py} +11 -7
  351. mindspore/ops_generate/{auto_grad_reg_cc_generator.py → pyboost/auto_grad_reg_cc_generator.py} +7 -7
  352. mindspore/ops_generate/{gen_pyboost_func.py → pyboost/gen_pyboost_func.py} +40 -16
  353. mindspore/ops_generate/{op_template_parser.py → pyboost/op_template_parser.py} +105 -24
  354. mindspore/ops_generate/{pyboost_functions_cpp_generator.py → pyboost/pyboost_functions_cpp_generator.py} +55 -18
  355. mindspore/ops_generate/{pyboost_functions_h_generator.py → pyboost/pyboost_functions_h_generator.py} +42 -10
  356. mindspore/ops_generate/{pyboost_functions_py_generator.py → pyboost/pyboost_functions_py_generator.py} +6 -6
  357. mindspore/ops_generate/{pyboost_grad_function_cpp_generator.py → pyboost/pyboost_grad_function_cpp_generator.py} +11 -10
  358. mindspore/ops_generate/{pyboost_inner_prim_generator.py → pyboost/pyboost_inner_prim_generator.py} +8 -7
  359. mindspore/ops_generate/{pyboost_native_grad_functions_generator.py → pyboost/pyboost_native_grad_functions_generator.py} +14 -10
  360. mindspore/ops_generate/{pyboost_op_cpp_code_generator.py → pyboost/pyboost_op_cpp_code_generator.py} +140 -53
  361. mindspore/ops_generate/{pyboost_overload_functions_cpp_generator.py → pyboost/pyboost_overload_functions_cpp_generator.py} +28 -15
  362. mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +88 -4
  363. mindspore/ops_generate/resources/__init__.py +0 -0
  364. mindspore/ops_generate/resources/resource_list.py +30 -0
  365. mindspore/ops_generate/resources/resource_loader.py +36 -0
  366. mindspore/ops_generate/resources/resource_manager.py +64 -0
  367. mindspore/ops_generate/resources/yaml_loader.py +88 -0
  368. mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
  369. mindspore/parallel/__init__.py +6 -2
  370. mindspore/parallel/_auto_parallel_context.py +140 -12
  371. mindspore/parallel/_cell_wrapper.py +132 -15
  372. mindspore/parallel/_parallel_serialization.py +95 -4
  373. mindspore/parallel/_ps_context.py +1 -1
  374. mindspore/parallel/_recovery_context.py +7 -2
  375. mindspore/parallel/_tensor.py +142 -18
  376. mindspore/parallel/_utils.py +198 -25
  377. mindspore/parallel/algo_parameter_config.py +3 -3
  378. mindspore/parallel/auto_parallel.py +732 -0
  379. mindspore/parallel/checkpoint_convert.py +159 -0
  380. mindspore/parallel/checkpoint_transform.py +658 -37
  381. mindspore/parallel/cluster/process_entity/_api.py +151 -19
  382. mindspore/parallel/cluster/run.py +1 -1
  383. mindspore/parallel/function/__init__.py +24 -0
  384. mindspore/parallel/function/reshard_func.py +258 -0
  385. mindspore/parallel/nn/__init__.py +25 -0
  386. mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
  387. mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
  388. mindspore/parallel/parameter_broadcast.py +24 -13
  389. mindspore/parallel/shard.py +137 -62
  390. mindspore/parallel/transform_safetensors.py +288 -95
  391. mindspore/pgodb140.dll +0 -0
  392. mindspore/pgort140.dll +0 -0
  393. mindspore/profiler/__init__.py +9 -5
  394. mindspore/profiler/analysis/parser/ascend_cann_parser.py +6 -2
  395. mindspore/profiler/analysis/parser/ms_framework_parser.py +4 -4
  396. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -4
  397. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +25 -0
  398. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  399. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +241 -86
  400. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +41 -2
  401. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +33 -35
  402. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +7 -0
  403. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +8 -3
  404. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +141 -30
  405. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +5 -6
  406. mindspore/profiler/common/ascend_msprof_exporter.py +5 -4
  407. mindspore/profiler/common/constant.py +12 -0
  408. mindspore/profiler/common/msprof_cmd_tool.py +42 -23
  409. mindspore/profiler/common/path_manager.py +24 -0
  410. mindspore/profiler/common/profiler_context.py +26 -2
  411. mindspore/profiler/common/profiler_meta_data.py +74 -0
  412. mindspore/profiler/common/profiler_parameters.py +59 -18
  413. mindspore/profiler/common/profiler_path_manager.py +66 -7
  414. mindspore/profiler/dynamic_profiler.py +112 -79
  415. mindspore/profiler/envprofiler.py +26 -1
  416. mindspore/profiler/experimental_config.py +197 -0
  417. mindspore/profiler/mstx.py +57 -14
  418. mindspore/profiler/platform/npu_profiler.py +33 -7
  419. mindspore/profiler/profiler.py +541 -45
  420. mindspore/profiler/profiler_action_controller.py +1 -1
  421. mindspore/profiler/profiler_interface.py +4 -0
  422. mindspore/profiler/schedule.py +57 -22
  423. mindspore/rewrite/api/node.py +15 -13
  424. mindspore/rewrite/api/symbol_tree.py +1 -1
  425. mindspore/run_check/_check_version.py +25 -14
  426. mindspore/run_check/run_check.py +1 -1
  427. mindspore/runtime/__init__.py +2 -2
  428. mindspore/runtime/executor.py +40 -11
  429. mindspore/runtime/memory.py +37 -13
  430. mindspore/safeguard/rewrite_obfuscation.py +12 -9
  431. mindspore/swresample-4.dll +0 -0
  432. mindspore/swscale-6.dll +0 -0
  433. mindspore/tbbmalloc.dll +0 -0
  434. mindspore/tinyxml2.dll +0 -0
  435. mindspore/train/__init__.py +8 -8
  436. mindspore/train/_utils.py +43 -9
  437. mindspore/train/amp.py +1 -1
  438. mindspore/train/callback/__init__.py +2 -2
  439. mindspore/train/callback/_callback.py +2 -16
  440. mindspore/train/callback/_checkpoint.py +24 -40
  441. mindspore/train/callback/_cluster_monitor.py +14 -18
  442. mindspore/train/callback/_flops_collector.py +2 -3
  443. mindspore/train/callback/_history.py +7 -4
  444. mindspore/train/callback/_lambda_callback.py +2 -2
  445. mindspore/train/callback/_landscape.py +0 -3
  446. mindspore/train/callback/_loss_monitor.py +2 -1
  447. mindspore/train/callback/_on_request_exit.py +6 -5
  448. mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
  449. mindspore/train/callback/_summary_collector.py +8 -13
  450. mindspore/train/callback/_time_monitor.py +2 -1
  451. mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +204 -105
  452. mindspore/train/data_sink.py +25 -2
  453. mindspore/train/dataset_helper.py +4 -5
  454. mindspore/train/loss_scale_manager.py +8 -7
  455. mindspore/train/metrics/accuracy.py +3 -3
  456. mindspore/train/metrics/confusion_matrix.py +9 -9
  457. mindspore/train/metrics/error.py +3 -3
  458. mindspore/train/metrics/hausdorff_distance.py +4 -4
  459. mindspore/train/metrics/mean_surface_distance.py +3 -3
  460. mindspore/train/metrics/metric.py +0 -12
  461. mindspore/train/metrics/occlusion_sensitivity.py +4 -2
  462. mindspore/train/metrics/precision.py +8 -6
  463. mindspore/train/metrics/recall.py +9 -9
  464. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  465. mindspore/train/mind_ir_pb2.py +19 -12
  466. mindspore/train/model.py +262 -127
  467. mindspore/train/serialization.py +246 -988
  468. mindspore/train/summary/_summary_adapter.py +2 -2
  469. mindspore/train/summary/summary_record.py +1 -1
  470. mindspore/turbojpeg.dll +0 -0
  471. mindspore/utils/__init__.py +3 -2
  472. mindspore/utils/dryrun.py +4 -2
  473. mindspore/utils/hooks.py +81 -0
  474. mindspore/utils/runtime_execution_order_check.py +2 -0
  475. mindspore/utils/utils.py +138 -4
  476. mindspore/vcmeta.dll +0 -0
  477. mindspore/vcruntime140.dll +0 -0
  478. mindspore/vcruntime140_1.dll +0 -0
  479. mindspore/version.py +1 -1
  480. {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/METADATA +2 -1
  481. {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/RECORD +485 -440
  482. mindspore/_install_custom.py +0 -43
  483. mindspore/common/_register_for_adapter.py +0 -74
  484. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
  485. mindspore/ops/auto_generate/gen_arg_handler.py +0 -136
  486. mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
  487. mindspore/ops_generate/gen_constants.py +0 -190
  488. mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
  489. mindspore/ops_generate/ops_primitive_h_generator.py +0 -81
  490. /mindspore/ops_generate/{base_generator.py → common/base_generator.py} +0 -0
  491. {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
  492. {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +0 -0
  493. {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
@@ -29,9 +29,10 @@ from mindspore.ops.operations.random_ops import RandomShuffle, RandomChoiceWithM
29
29
  from mindspore.common.api import _function_forbid_reuse
30
30
  from mindspore.ops.auto_generate import randperm
31
31
  from mindspore.common.generator import default_generator
32
- from mindspore.ops.auto_generate import UniformExt, InplaceUniform, NormalTensorTensor, \
32
+ from mindspore.ops.auto_generate import UniformExt, NormalTensorTensor, \
33
33
  NormalTensorFloat, NormalFloatTensor, NormalFloatFloat, RandExt, RandLikeExt, MultinomialExt, \
34
34
  Randn, RandnLike, RandInt, RandIntLike, RandpermExt, InplaceRandom, InplaceNormal
35
+ from mindspore.ops.auto_generate.gen_ops_prim import inplace_uniform_op, inplace_exponential_op
35
36
 
36
37
  inplace_normal_ = InplaceNormal()
37
38
  normal_tensor_tensor_op = NormalTensorTensor()
@@ -46,7 +47,6 @@ shape_ = P.Shape()
46
47
  top_k_ = P.TopK()
47
48
  randperm_ext_ = RandpermExt()
48
49
  uniform_ext_ = UniformExt()
49
- inplace_uniform_ = InplaceUniform()
50
50
  rand_ext_ = RandExt()
51
51
  rand_like_ext_ = RandLikeExt()
52
52
  multinomial_ext_ = MultinomialExt()
@@ -67,41 +67,28 @@ def _set_prim_op_user_data(prim, key, value):
67
67
  @_function_forbid_reuse
68
68
  def random_gamma(shape, alpha, seed=None):
69
69
  r"""
70
- Outputs random values from the Gamma distribution(s) described by alpha.
70
+ Generate random numbers from the Gamma distribution(s).
71
71
 
72
72
 
73
73
  Args:
74
74
  shape (Tensor): The shape of random tensor to be generated.
75
- Must be one of the following types: int32, int64. 1-D integer tensor.
76
75
  alpha (Tensor): The :math:`\alpha` distribution parameter.
77
- A Tensor. Must be one of the following types: half, float32, float64.
78
- seed (int, optional): Seed is used as entropy source for Random number engines generating pseudo-random numbers.
79
- Default: ``None`` , which will be treated as 0.
76
+ seed (int, optional): Random seed, must be non-negative. Default ``None`` .
80
77
 
81
78
  Returns:
82
- Tensor. The shape should be equal to the concat shape between the input `shape` and the broadcast
83
- of `alpha`.
84
- The dtype is the same type as alpha.
85
-
86
- Raises:
87
- TypeError: If `shape` is not a Tensor.
88
- TypeError: If `alpha` is not a Tensor.
89
- TypeError: If `seed` is not an int.
90
- TypeError: If dtype of `alpha` is not half, float32 or float64.
79
+ Tensor, the shape is `mindspore.ops.concat([shape, rate.shape], axis=0)`.
80
+ The data type is the same as `alpha`.
91
81
 
92
82
  Supported Platforms:
93
83
  ``CPU``
94
84
 
95
85
  Examples:
96
- >>> import numpy as np
97
86
  >>> import mindspore
98
- >>> from mindspore import Tensor, ops
99
- >>> shape = Tensor(np.array([7, 5]), mindspore.int32)
100
- >>> alpha = Tensor(np.array([0.5, 1.5]), mindspore.float32)
101
- >>> output = ops.random_gamma(shape, alpha, seed=5)
102
- >>> result = output.shape
103
- >>> print(result)
104
- (7, 5, 2)
87
+ >>> shape = mindspore.tensor([7, 5], mindspore.int32)
88
+ >>> alpha = mindspore.tensor([0.5, 1.5], mindspore.float32)
89
+ >>> output = mindspore.ops.random_gamma(shape, alpha, seed=5)
90
+ >>> print(output.shape, output.dtype)
91
+ (7, 5, 2) Float32
105
92
  """
106
93
  seed1, seed2 = _get_seed(seed, "random_gamma")
107
94
  random_gamma_op = P.RandomGamma(seed1, seed2)
@@ -121,7 +108,6 @@ def _get_seed(op_seed, kernel_name):
121
108
  def standard_laplace(shape, seed=None):
122
109
  r"""
123
110
  Generates random numbers according to the Laplace random number distribution (mean=0, lambda=1).
124
- It is defined as:
125
111
 
126
112
  .. math::
127
113
  \text{f}(x) = \frac{1}{2}\exp(-|x|)
@@ -131,16 +117,13 @@ def standard_laplace(shape, seed=None):
131
117
  the `seed` parameter has no effect.
132
118
 
133
119
  Args:
134
- shape (Union[tuple, Tensor]): The shape of random tensor to be generated. Only constant value is allowed
135
- when the input type is tuple. And the operator supports dynamic shape only when the input type is Tensor.
136
- seed (int, optional): Seed is used as entropy source for Random number engines generating pseudo-random numbers.
137
- Default: ``None`` .
120
+ shape (Union[tuple, Tensor]): The shape of returned tensor.
121
+ seed (int, optional): Random number seed. Default ``None`` .
138
122
 
139
123
  Returns:
140
- Tensor. The shape that the input `shape` denotes. The dtype is float32.
124
+ Tensor
141
125
 
142
126
  Raises:
143
- TypeError: If shape is neither a tuple nor a Tensor.
144
127
  ValueError: If shape is a tuple containing non-positive items.
145
128
  ValueError: If shape is a Tensor, and the rank of the Tensor is not equal to 1.
146
129
 
@@ -148,12 +131,11 @@ def standard_laplace(shape, seed=None):
148
131
  ``Ascend`` ``GPU`` ``CPU``
149
132
 
150
133
  Examples:
151
- >>> from mindspore import ops
134
+ >>> import mindspore
152
135
  >>> shape = (4, 4)
153
- >>> output = ops.standard_laplace(shape)
154
- >>> result = output.shape
155
- >>> print(result)
156
- (4, 4)
136
+ >>> output = mindspore.ops.standard_laplace(shape, seed=5)
137
+ >>> print(f'output shape is {output.shape}')
138
+ output shape is (4, 4)
157
139
  """
158
140
  seed1, seed2 = _get_seed(seed, "standard_laplace")
159
141
  standard_laplace_op = P.StandardLaplace(seed=seed1, seed2=seed2)
@@ -209,46 +191,33 @@ def random_categorical(logits, num_sample, seed=0, dtype=mstype.int64):
209
191
  @_function_forbid_reuse
210
192
  def multinomial_with_replacement(x, seed, offset, numsamples, replacement=False):
211
193
  r"""
212
- Returns a tensor where each row contains numsamples indices sampled from the
213
- multinomial distribution with replacement. It is different from `multinomial` in that it allows
214
- the same outcome to be chosen multiple times.
194
+ Generate a tensor from a multinomial distribution.
215
195
 
216
196
  Note:
217
- The rows of input do not need to sum to one (in which case we use the values as weights),
218
- but must be non-negative, finite and have a non-zero sum.
197
+ - The rows of input do not need to sum to one (in which case we use the values as weights),
198
+ but must be non-negative, finite and have a non-zero sum.
199
+ - If `seed` is set to be ``-1`` , and `offset` is set to be ``0``, the random number
200
+ generator is seeded by a random seed.
219
201
 
220
202
  Args:
221
- x (Tensor): the input tensor containing the cumsum of probabilities, must be 1 or 2
222
- dimensions. Must be one of the following types: float16, float32, float64.
223
- seed (int): If seed is set to be -1, and offset is set to be 0, the random number
224
- generator is seeded by a random seed. Otherwise, it is seeded by the given seed.
225
- offset (int): Offset used to avoid seed collision.
226
- numsamples (int): the number of samples to draw.
227
- replacement (bool, optional): Whether to draw with replacement or not. Default: ``False`` .
203
+ x (Tensor): The 1-D or 2-D input tensor containing probabilities.
204
+ seed (int): Random seed.
205
+ offset (int): Offset.
206
+ numsamples (int): The number of samples to draw.
207
+ replacement (bool, optional): Whether to draw with replacement or not. Default ``False`` .
228
208
 
229
209
  Returns:
230
- Tensor with the same rows as `x`, each row has `numsamples` sampled indices.
231
-
232
- Raises:
233
- TypeError: If `x` is not a 1D or 2D Tensor.
234
- TypeError: If dtype of `x` is not float16, float32 or float64.
235
- TypeError: If `numsamples` is not an int.
236
- TypeError: If `replacement` is not a bool.
237
- ValueError: If the value of `numsamples` is not greater than x_shape[-1] when `replacement` is False.
238
- ValueError: If the sum of one row of `x` less than 0.
239
- ValueError: If one of the element of each row of `x` less than 0.
240
- ValueError: If `numsamples` equal or less than 0.
210
+ Tensor
241
211
 
242
212
  Supported Platforms:
243
213
  ``CPU``
244
214
 
245
215
  Examples:
246
- >>> from mindspore import Tensor, ops
247
- >>> from mindspore import dtype as mstype
248
- >>> x = Tensor([[0., 9., 4., 0.]], mstype.float32)
249
- >>> output = ops.multinomial_with_replacement(x, 2, 5, 2, True)
250
- >>> print(output)
251
- [[1 1]]
216
+ >>> import mindspore
217
+ >>> x = mindspore.tensor([[0., 9., 4., 0.]], mindspore.float32)
218
+ >>> mindspore.ops.multinomial_with_replacement(x, 2, 5, 2, True)
219
+ Tensor(shape=[1, 2], dtype=Int64, value=
220
+ [[1, 1]])
252
221
  """
253
222
  if not isinstance(seed, Tensor):
254
223
  if not isinstance(seed, int):
@@ -349,7 +318,7 @@ def uniform_(input, from_=0, to=1, *, generator=None):
349
318
  if generator is None:
350
319
  generator = default_generator
351
320
  seed, offset = generator._step(generator_step_) # pylint: disable=protected-access
352
- return inplace_uniform_(input, from_, to, seed, offset)
321
+ return inplace_uniform_op(input, from_, to, seed, offset)
353
322
 
354
323
 
355
324
  @_function_forbid_reuse
@@ -361,49 +330,31 @@ def uniform(shape, minval, maxval, seed=None, dtype=mstype.float32):
361
330
  The number in tensor minval should be strictly less than maxval at any position after broadcasting.
362
331
 
363
332
  Args:
364
- shape (Union[tuple, Tensor]): The shape of random tensor to be generated.
365
- minval (Tensor): The distribution parameter `a`.
366
- It defines the minimum possible generated value, with int32 or float32 data type.
367
- If dtype is int32, only one number is allowed.
368
- maxval (Tensor): The distribution parameter `b`.
369
- It defines the maximum possible generated value, with int32 or float32 data type.
370
- If dtype is int32, only one number is allowed.
371
- seed (int): Seed is used as entropy source for the random number engines to generate pseudo-random numbers,
372
- must be non-negative. Default: ``None`` , which will be treated as 0.
373
- dtype (mindspore.dtype): Type of the Uniform distribution. If it is int32, it generates numbers from discrete
374
- uniform distribution; if it is float32, it generates numbers from continuous uniform distribution. It only
375
- supports these two data types. Default: mstype.float32.
333
+ shape (Union[tuple, Tensor]): The shape of returned tensor.
334
+ minval (Tensor): Defines the minimum possible generated value.
335
+ maxval (Tensor): Defines the maximum possible generated value.
336
+ seed (int): Random number seed. Default ``None`` .
337
+ dtype (mindspore.dtype): Type of the returned tensor.
376
338
 
377
339
  Returns:
378
- Tensor. The shape should be equal to the broadcasted shape between the input `shape` and shapes
379
- of `minval` and `maxval`.
380
- The dtype is designated as the input `dtype`.
381
-
382
- Raises:
383
- TypeError: If `shape` is neither a tuple nor a Tensor.
384
- TypeError: If 'minval' or 'maxval' is neither int32 nor float32
385
- and dtype of 'minval' is not the same as 'maxval'.
386
- TypeError: If `seed` is not an int.
387
- TypeError: If 'dtype' is neither int32 nor float32.
340
+ Tensor
388
341
 
389
342
  Supported Platforms:
390
343
  ``GPU`` ``CPU``
391
344
 
392
345
  Examples:
393
- >>> from mindspore import Tensor, ops
394
346
  >>> import mindspore
395
- >>> import numpy as np
396
347
  >>> # For discrete uniform distribution, only one number is allowed for both minval and maxval:
397
348
  >>> shape = (4, 2)
398
- >>> minval = Tensor(1, mindspore.int32)
399
- >>> maxval = Tensor(2, mindspore.int32)
400
- >>> output = ops.uniform(shape, minval, maxval, seed=5, dtype=mindspore.int32)
349
+ >>> minval = mindspore.tensor(1, mindspore.int32)
350
+ >>> maxval = mindspore.tensor(2, mindspore.int32)
351
+ >>> output = mindspore.ops.uniform(shape, minval, maxval, seed=5, dtype=mindspore.int32)
401
352
  >>>
402
353
  >>> # For continuous uniform distribution, minval and maxval can be multi-dimentional:
403
354
  >>> shape = (3, 1, 2)
404
- >>> minval = Tensor(np.array([[3, 4], [5, 6]]), mindspore.float32)
405
- >>> maxval = Tensor([8.0, 10.0], mindspore.float32)
406
- >>> output = ops.uniform(shape, minval, maxval, seed=5)
355
+ >>> minval = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
356
+ >>> maxval = mindspore.tensor([8.0, 10.0], mindspore.float32)
357
+ >>> output = mindspore.ops.uniform(shape, minval, maxval, seed=5)
407
358
  >>> result = output.shape
408
359
  >>> print(result)
409
360
  (3, 2, 2)
@@ -433,14 +384,23 @@ def uniform(shape, minval, maxval, seed=None, dtype=mstype.float32):
433
384
  return value
434
385
 
435
386
 
387
+
388
+ @_function_forbid_reuse
389
+ def exponential_(input, lambd=1, *, generator=None):
390
+ r"""
391
+ exponential
392
+ """
393
+ if generator is None:
394
+ generator = default_generator
395
+ seed, offset = generator._step(generator_step_) # pylint: disable=protected-access
396
+ return inplace_exponential_op(input, lambd, seed, offset)
397
+
398
+
436
399
  @_function_forbid_reuse
437
400
  def standard_normal(shape, seed=None):
438
401
  r"""
439
402
  Generates random numbers according to the standard Normal (or Gaussian) random number distribution.
440
403
 
441
- Returns the tensor with the given shape, the random numbers in it drawn from normal distributions
442
- whose mean is 0 and standard deviation is 1.
443
-
444
404
  .. math::
445
405
  f(x)=\frac{1}{\sqrt{2 \pi}} e^{\left(-\frac{x^{2}}{2}\right)}
446
406
 
@@ -449,28 +409,25 @@ def standard_normal(shape, seed=None):
449
409
  the `seed` parameter has no effect.
450
410
 
451
411
  Args:
452
- shape (Union[tuple, Tensor]): The shape of random tensor to be generated. Only constant value is allowed
453
- when the input type is tuple. And the operator supports dynamic shape only when the input type is Tensor.
454
- seed (int, optional): Seed is used as entropy source for Random number engines generating pseudo-random numbers.
455
- Default: ``None`` , which will be treated as 0.
412
+ shape (Union[tuple, Tensor]): The shape of returned tensor.
413
+ seed (int, optional): Random number Seed. Default ``None`` .
456
414
 
457
415
  Returns:
458
- Tensor. The shape that the input 'shape' denotes. The dtype is float32.
416
+ Tensor
459
417
 
460
418
  Raises:
461
- TypeError: If `shape` is neither a tuple nor a Tensor.
462
419
  ValueError: If `shape` is a tuple containing non-positive items.
420
+ ValueError: If shape is a Tensor, and the rank of the Tensor is not equal to 1.
463
421
 
464
422
  Supported Platforms:
465
423
  ``Ascend`` ``GPU`` ``CPU``
466
424
 
467
425
  Examples:
468
- >>> from mindspore import ops
426
+ >>> import mindspore
469
427
  >>> shape = (4, 4)
470
- >>> output = ops.standard_normal(shape)
471
- >>> result = output.shape
472
- >>> print(result)
473
- (4, 4)
428
+ >>> output = mindspore.ops.standard_normal(shape, seed=5)
429
+ >>> print(f'output shape is {output.shape}')
430
+ output shape is (4, 4)
474
431
  """
475
432
  seed1, seed2 = _get_seed(seed, "standard_normal")
476
433
  standard_normal_op = P.StandardNormal(seed=seed1, seed2=seed2)
@@ -556,7 +513,7 @@ def uniform_candidate_sampler(true_classes,
556
513
  @_function_forbid_reuse
557
514
  def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
558
515
  r"""
559
- Generates random number Tensor with shape `shape` according to a Poisson distribution with mean `rate`.
516
+ Generate random number Tensor with `shape` according to a Poisson distribution with mean `rate`.
560
517
 
561
518
 
562
519
  .. math::
@@ -568,50 +525,31 @@ def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
568
525
  the `seed` parameter has no effect.
569
526
 
570
527
  Args:
571
- shape (Tensor): The shape of random tensor to be sampled from each poisson distribution, 1-D `Tensor` whose
572
- dtype is mstype.int32 or mstype.int64.
528
+ shape (Tensor): The shape of random tensor to be sampled from each poisson distribution, 1-D integer tensor.
573
529
  rate (Tensor): The :math:`μ` parameter the distribution is constructed with.
574
530
  It represents the mean of poisson distribution
575
- and also the variance of the distribution. It should be a `Tensor` whose dtype is mstype.int64,
576
- mstype.int32, mstype.float64, mstype.float32 or mstype.float16.
577
- seed (int, optional): Seed is used as entropy source for the random number engines to generate pseudo-random
578
- numbers and must be non-negative. Default: ``None`` , which will be treated as 0.
579
- dtype (mindspore.dtype): The data type of output: ``mstype.int64``, ``mstype.int32``,
580
- ``mstype.float64``, ``mstype.float32`` or ``mstype.float16``. Default: ``mstype.float32``.
531
+ and also the variance of the distribution.
532
+ seed (int, optional): Random seed, must be non-negative. Default ``None`` .
533
+ dtype (mindspore.dtype): The data type returned. Default ``mstype.float32``.
581
534
 
582
535
  Returns:
583
- A Tensor whose shape is `mindspore.concat(['shape', mindspore.shape('rate')], axis=0)` and data type is equal to
584
- argument `dtype`.
585
-
586
- Raises:
587
- TypeError: If `shape` is not a Tensor.
588
- TypeError: If datatype of `shape` is not mstype.int64 nor mstype.int32.
589
- ValueError: If shape of `shape` is not 1-D.
590
- TypeError: If `rate` is not a Tensor nor a scalar.
591
- TypeError: If datatype of `rate` is not in [mstype.int64, mstype.int32,
592
- mstype.float64, mstype.float32 or mstype.float16].
593
- TypeError: If `seed` is not a non-negtive int.
594
- TypeError: If `dtype` is not in [mstype.int64, mstype.int32, mstype.float64,
595
- mstype.float32 nor mstype.float16].
596
- ValueError: If any element of input `shape` tensor is not positive.
536
+ Tensor, the shape is `mindspore.ops.concat([shape, rate.shape], axis=0)`.
597
537
 
598
538
  Supported Platforms:
599
539
  ``GPU`` ``CPU``
600
540
 
601
541
  Examples:
602
542
  >>> import mindspore
603
- >>> import numpy as np
604
- >>> from mindspore import Tensor, ops
605
543
  >>> # case 1: 1-D shape, 2-D rate, float64 output
606
- >>> shape = Tensor(np.array([2, 2]), mindspore.int64)
607
- >>> rate = Tensor(np.array([[5.0, 10.0], [5.0, 1.0]]), mindspore.float32)
608
- >>> output = ops.random_poisson(shape, rate, seed=5, dtype=mindspore.float64)
544
+ >>> shape = mindspore.tensor([2, 2], mindspore.int64)
545
+ >>> rate = mindspore.tensor([[5.0, 10.0], [5.0, 1.0]], mindspore.float32)
546
+ >>> output = mindspore.ops.random_poisson(shape, rate, seed=5, dtype=mindspore.float64)
609
547
  >>> print(output.shape, output.dtype)
610
548
  (2, 2, 2, 2) Float64
611
549
  >>> # case 2: 1-D shape, scalar rate, int64 output
612
- >>> shape = Tensor(np.array([2, 2]), mindspore.int64)
613
- >>> rate = Tensor(5.0, mindspore.float64)
614
- >>> output = ops.random_poisson(shape, rate, seed=5, dtype=mindspore.int64)
550
+ >>> shape = mindspore.tensor([2, 2], mindspore.int64)
551
+ >>> rate = mindspore.tensor(5.0, mindspore.float64)
552
+ >>> output = mindspore.ops.random_poisson(shape, rate, seed=5, dtype=mindspore.int64)
615
553
  >>> print(output.shape, output.dtype)
616
554
  (2, 2) Int64
617
555
  """
@@ -626,28 +564,22 @@ def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
626
564
  @_function_forbid_reuse
627
565
  def shuffle(x, seed=None):
628
566
  r"""
629
- Randomly shuffles a Tensor along its first dimension.
567
+ Randomly shuffle a tensor along its first dimension.
630
568
 
631
569
  Args:
632
- x (Tensor): The Tensor need be shuffled.
633
- seed (int, optional): Random seed used for random number generation, must be non-negative. If `seed` is 0,
634
- which will be replaced with a randomly generated value. Default: ``None`` , which will be treated as 0.
570
+ x (Tensor): The input tensor.
571
+ seed (int, optional): Random seed. Default ``None`` , which is equivalent to 0.
635
572
 
636
573
  Returns:
637
- Tensor. The shape and type are the same as the input `x`.
638
-
639
- Raises:
640
- TypeError: If data type of `seed` is not None or non-negative int.
574
+ Tensor
641
575
 
642
576
  Supported Platforms:
643
577
  ``Ascend`` ``GPU`` ``CPU``
644
578
 
645
579
  Examples:
646
- >>> import numpy as np
647
- >>> from mindspore import Tensor, ops
648
- >>> from mindspore import dtype as mstype
649
- >>> x = Tensor(np.array([1, 2, 3, 4]), mstype.float32)
650
- >>> output = ops.shuffle(x, seed=1)
580
+ >>> import mindspore
581
+ >>> x = mindspore.tensor([1, 2, 3, 4], mindspore.float32)
582
+ >>> output = mindspore.ops.shuffle(x, seed=1)
651
583
  >>> print(output)
652
584
  [3. 4. 2. 1.]
653
585
  """
@@ -673,13 +605,13 @@ def log_uniform_candidate_sampler(true_classes, num_true=1, num_sampled=5, uniqu
673
605
  Args:
674
606
  true_classes (Tensor): The target classes. With data type of int64 and
675
607
  shape :math:`(batch\_size, num\_true)` .
676
- num_true (int): The number of target classes per training example. Default: ``1`` .
677
- num_sampled (int): The number of classes to randomly sample. Default: ``5`` .
678
- unique (bool): Determines whether sample with rejection. If `unique` is ``True`` ,
608
+ num_true (int, optional): The number of target classes per training example. Default: ``1`` .
609
+ num_sampled (int, optional): The number of classes to randomly sample. Default: ``5`` .
610
+ unique (bool, optional): Determines whether sample with rejection. If `unique` is ``True`` ,
679
611
  all sampled classes in a batch are unique. Default: ``True`` .
680
- range_max (int): The number of possible classes. When `unique` is ``True`` ,
612
+ range_max (int, optional): The number of possible classes. When `unique` is ``True`` ,
681
613
  `range_max` must be greater than or equal to `num_sampled`. Default: ``5`` .
682
- seed (int): Random seed, must be non-negative. Default: ``0`` .
614
+ seed (int, optional): Random seed, must be non-negative. Default: ``0`` .
683
615
 
684
616
  Returns:
685
617
  Tuple of 3 Tensors.
@@ -933,50 +865,44 @@ def normal_ext(mean=0.0, std=1.0, size=None, generator=None):
933
865
  @_function_forbid_reuse
934
866
  def normal(shape, mean, stddev, seed=None):
935
867
  """
936
- Generates random numbers according to the Normal (or Gaussian) random number distribution.
868
+ Return a random tensor that conforms to the normal (Gaussian) distribution.
937
869
 
938
870
  .. warning::
939
871
  The Ascend backend does not support the reproducibility of random numbers, so
940
872
  the `seed` parameter has no effect.
941
873
 
942
874
  Args:
943
- shape (tuple): The shape of random tensor to be generated.
944
- The format is :math:`(N,*)` where :math:`*` means, any number of additional dimensions.
945
- mean (Union[Tensor, int, float]): The mean μ distribution parameter, which specifies the location of the peak.
946
- stddev (Union[Tensor, int, float]): The deviation σ distribution parameter. It should be greater than 0.
947
- seed (int): Seed is used as entropy source for the Random number engines to generate pseudo-random numbers.
948
- The value must be non-negative. Default: ``None`` , which will be treated as 0.
875
+ shape (tuple): The shape of returned tensor.
876
+ mean (Union[Tensor, int, float]): The mean of the normal distribution for the returned tensor.
877
+ stddev (Union[Tensor, int, float]): The standard deviation of the normal distribution for the returned tensor.
878
+ seed (int, optional): Random seed. Default: ``None`` , which is equivalent to 0.
949
879
 
950
880
  Returns:
951
- Tensor. The shape should be equal to the broadcasted shape between the input `shape` and shapes
952
- of `mean` and `stddev`.
953
- The dtype is [float32, float64].
881
+ Tensor
954
882
 
955
883
  Supported Platforms:
956
884
  ``Ascend`` ``GPU`` ``CPU``
957
885
 
958
886
  Examples:
959
887
  >>> import mindspore
960
- >>> import numpy as np
961
- >>> from mindspore import Tensor, ops
962
888
  >>> shape = (3, 1, 2)
963
- >>> mean = Tensor(np.array([[3, 4], [5, 6]]), mindspore.float32)
964
- >>> stddev = Tensor(1.0, mindspore.float32)
965
- >>> output = ops.normal(shape, mean, stddev, seed=5)
889
+ >>> mean = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
890
+ >>> stddev = mindspore.tensor(1.0, mindspore.float32)
891
+ >>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
966
892
  >>> result = output.shape
967
893
  >>> print(result)
968
894
  (3, 2, 2)
969
895
  >>> shape = (3, 1, 3)
970
- >>> mean = Tensor(np.array([[3, 4, 3], [3, 5, 6]]), mindspore.float32)
971
- >>> stddev = Tensor(1.0, mindspore.float32)
972
- >>> output = ops.normal(shape, mean, stddev, seed=5)
896
+ >>> mean = mindspore.tensor([[3, 4, 3], [3, 5, 6]], mindspore.float32)
897
+ >>> stddev = mindspore.tensor(1.0, mindspore.float32)
898
+ >>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
973
899
  >>> result = output.shape
974
900
  >>> print(result)
975
901
  (3, 2, 3)
976
902
  >>> shape = (3, 1, 3)
977
- >>> mean = Tensor(np.array([[1, 2, 3], [3, 4, 3], [3, 5, 6]]), mindspore.float32)
978
- >>> stddev = Tensor(1.0, mindspore.float32)
979
- >>> output = ops.normal(shape, mean, stddev, seed=5)
903
+ >>> mean = mindspore.tensor([[1, 2, 3], [3, 4, 3], [3, 5, 6]], mindspore.float32)
904
+ >>> stddev = mindspore.tensor(1.0, mindspore.float32)
905
+ >>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
980
906
  >>> result = output.shape
981
907
  >>> print(result)
982
908
  (3, 3, 3)
@@ -1000,7 +926,8 @@ def normal(shape, mean, stddev, seed=None):
1000
926
  def laplace(shape, mean, lambda_param, seed=None):
1001
927
  r"""
1002
928
  Generates random numbers according to the Laplace random number distribution.
1003
- It is defined as:
929
+
930
+ Support broadcasting.
1004
931
 
1005
932
  .. math::
1006
933
  \text{f}(x;μ,λ) = \frac{1}{2λ}\exp(-\frac{|x-μ|}{λ}),
@@ -1010,30 +937,24 @@ def laplace(shape, mean, lambda_param, seed=None):
1010
937
  the `seed` parameter has no effect.
1011
938
 
1012
939
  Args:
1013
- shape (tuple): The shape of random tensor to be generated.
1014
- The format is :math:`(N,*)` where :math:`*` means, any number of additional dimensions.
1015
- mean (Tensor): The mean μ distribution parameter, which specifies the location of the peak.
1016
- With float32 data type.
1017
- lambda_param (Tensor): The parameter used for controlling the variance of this random distribution. The
1018
- variance of Laplace distribution is equal to twice the square of lambda_param. With float32 data type.
1019
- seed (int, optional): Seed is used as entropy source for Random number engines generating pseudo-random numbers.
1020
- Default: ``None`` , which will be treated as 0.
940
+ shape (tuple): The shape specified.
941
+ mean (Tensor): The mean of distribution.
942
+ lambda_param (Tensor): Control the variance of distribution. The
943
+ variance of Laplace distribution is equal to twice the square of `lambda_param` .
944
+ seed (int, optional): Random seed. Default ``None`` represents 0.
1021
945
 
1022
946
  Returns:
1023
- Tensor. The shape should be the broadcasted shape of input `shape` and shapes of `mean` and `lambda_param`.
1024
- The dtype is float32.
947
+ Tensor
1025
948
 
1026
949
  Supported Platforms:
1027
950
  ``Ascend`` ``GPU`` ``CPU``
1028
951
 
1029
952
  Examples:
1030
953
  >>> import mindspore
1031
- >>> from mindspore import Tensor
1032
- >>> from mindspore import ops as ops
1033
954
  >>> shape = (2, 3)
1034
- >>> mean = Tensor(1.0, mindspore.float32)
1035
- >>> lambda_param = Tensor(1.0, mindspore.float32)
1036
- >>> output = ops.laplace(shape, mean, lambda_param, seed=5)
955
+ >>> mean = mindspore.tensor(1.0, mindspore.float32)
956
+ >>> lambda_param = mindspore.tensor(1.0, mindspore.float32)
957
+ >>> output = mindspore.ops.laplace(shape, mean, lambda_param, seed=5)
1037
958
  >>> print(output.shape)
1038
959
  (2, 3)
1039
960
  """
@@ -1056,56 +977,47 @@ def gamma(shape, alpha, beta, seed=None):
1056
977
  r"""
1057
978
  Generates random numbers according to the Gamma random number distribution.
1058
979
 
980
+ Support broadcasting.
981
+
1059
982
  .. warning::
1060
983
  The Ascend backend does not support the reproducibility of random numbers, so
1061
984
  the `seed` parameter has no effect.
1062
985
 
1063
986
  Args:
1064
- shape (tuple): The shape of random tensor to be generated.
1065
- alpha (Tensor): The :math:`\alpha` distribution parameter. It should be greater than 0 with float32 data type.
1066
- beta (Tensor): The :math:`\beta` distribution parameter. It should be greater than 0 with float32 data type.
1067
- seed (int, optional): Seed is used as entropy source for the random number engines to generate
1068
- pseudo-random numbers, must be non-negative. Default: ``None`` .
987
+ shape (tuple): The shape specified.
988
+ alpha (Tensor): The shape parameter.
989
+ beta (Tensor): The inverse scale parameter.
990
+ seed (int, optional): The random seed, Default ``None`` .
1069
991
 
1070
992
  Returns:
1071
- Tensor. The shape should be equal to the broadcasted shape between the input `shape` and shapes
1072
- of `alpha` and `beta`.
1073
- The dtype is float32.
1074
-
1075
- Raises:
1076
- TypeError: If `shape` is not a tuple.
1077
- TypeError: If neither `alpha` nor `beta` is a Tensor.
1078
- TypeError: If `seed` is not an int.
1079
- TypeError: If dtype of `alpha` and `beta` is not float32.
993
+ Tensor
1080
994
 
1081
995
  Supported Platforms:
1082
996
  ``Ascend``
1083
997
 
1084
998
  Examples:
1085
999
  >>> import mindspore
1086
- >>> import numpy as np
1087
- >>> from mindspore import Tensor, ops
1088
1000
  >>> # case 1: alpha_shape is (2, 2)
1089
1001
  >>> shape = (3, 1, 2)
1090
- >>> alpha = Tensor(np.array([[3, 4], [5, 6]]), mindspore.float32)
1091
- >>> beta = Tensor(np.array([1.0]), mindspore.float32)
1092
- >>> output = ops.gamma(shape, alpha, beta, seed=5)
1002
+ >>> alpha = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
1003
+ >>> beta = mindspore.tensor([1.0], mindspore.float32)
1004
+ >>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
1093
1005
  >>> result = output.shape
1094
1006
  >>> print(result)
1095
1007
  (3, 2, 2)
1096
1008
  >>> # case 2: alpha_shape is (2, 3), so shape is (3, 1, 3)
1097
1009
  >>> shape = (3, 1, 3)
1098
- >>> alpha = Tensor(np.array([[1, 3, 4], [2, 5, 6]]), mindspore.float32)
1099
- >>> beta = Tensor(np.array([1.0]), mindspore.float32)
1100
- >>> output = ops.gamma(shape, alpha, beta, seed=5)
1010
+ >>> alpha = mindspore.tensor([[1, 3, 4], [2, 5, 6]]), mindspore.float32)
1011
+ >>> beta = mindspore.tensor([1.0], mindspore.float32)
1012
+ >>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
1101
1013
  >>> result = output.shape
1102
1014
  >>> print(result)
1103
1015
  (3, 2, 3)
1104
1016
  >>> # case 3: beta_shape is (1, 2), the output is different.
1105
1017
  >>> shape = (3, 1, 2)
1106
- >>> alpha = Tensor(np.array([[3, 4], [5, 6]]), mindspore.float32)
1107
- >>> beta = Tensor(np.array([1.0, 2]), mindspore.float32)
1108
- >>> output = ops.gamma(shape, alpha, beta, seed=5)
1018
+ >>> alpha = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
1019
+ >>> beta = mindspore.tensor([1.0, 2], mindspore.float32)
1020
+ >>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
1109
1021
  >>> print(output)
1110
1022
  [[[ 2.2132034 5.8855834]
1111
1023
  [ 3.8825176 8.6066265]]
@@ -1115,9 +1027,9 @@ def gamma(shape, alpha, beta, seed=None):
1115
1027
  [ 3.786061 5.160872 ]]]
1116
1028
  >>> # case 4: beta_shape is (2, 1), the output is different.
1117
1029
  >>> shape = (3, 1, 2)
1118
- >>> alpha = Tensor(np.array([[3, 4], [5, 6]]), mindspore.float32)
1119
- >>> beta = Tensor(np.array([[1.0], [2.0]]), mindspore.float32)
1120
- >>> output = ops.gamma(shape, alpha, beta, seed=5)
1030
+ >>> alpha = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
1031
+ >>> beta = mindspore.tensor([[1.0], [2.0]], mindspore.float32)
1032
+ >>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
1121
1033
  >>> print(output)
1122
1034
  [[[ 5.6085486 7.8280783]
1123
1035
  [ 15.97684 16.116285]]
@@ -1160,35 +1072,29 @@ def _generate_shapes(shape):
1160
1072
  @_function_forbid_reuse
1161
1073
  def rand(*size, dtype=None, seed=None):
1162
1074
  r"""
1163
- Returns a new tensor that fills numbers from the uniform distribution over an interval :math:`[0, 1)`
1164
- based on the given shape and dtype.
1075
+ Return a new tensor that fills numbers from the uniform distribution over an interval :math:`[0, 1)`
1076
+ based on the given `size` and `dtype`.
1165
1077
 
1166
1078
  .. warning::
1167
1079
  The Ascend backend does not support the reproducibility of random numbers, so
1168
1080
  the `seed` parameter has no effect.
1169
1081
 
1170
1082
  Args:
1171
- size (Union[int, tuple(int), list(int)]): Shape of the new tensor, e.g. :math:`(2, 3)` or :math:`2`.
1083
+ size (Union[int, tuple(int), list(int)]): The shape of the output tensor.
1172
1084
 
1173
1085
  Keyword Args:
1174
- dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype, it must be float type. If None,
1175
- `mindspore.float32` will be applied. Default: ``None`` .
1176
- seed (int, optional): Random seed, must be greater or equal to 0. Default: ``None`` , and ``0`` will be used.
1086
+ dtype (:class:`mindspore.dtype`, optional): The data type returned. Default ``None`` .
1087
+ seed (int, optional): Random seed, must be greater or equal to 0. Default ``None`` .
1177
1088
 
1178
1089
  Returns:
1179
- Tensor, with the designated shape and dtype, filled with random numbers from the uniform distribution on
1180
- the interval :math:`[0, 1)`.
1181
-
1182
- Raises:
1183
- TypeError: `seed` is not a non-negative integer.
1184
- ValueError: If `dtype` is not a `mstype.float_type` type.
1090
+ Tensor
1185
1091
 
1186
1092
  Supported Platforms:
1187
1093
  ``Ascend`` ``GPU`` ``CPU``
1188
1094
 
1189
1095
  Examples:
1190
- >>> from mindspore import ops
1191
- >>> print(ops.rand((2,3)))
1096
+ >>> import mindspore
1097
+ >>> print(mindspore.ops.rand((2,3)))
1192
1098
  [[4.1702199e-01 9.9718481e-01 7.2032452e-01]
1193
1099
  [9.3255734e-01 1.1438108e-04 1.2812445e-01]]
1194
1100
  """
@@ -1208,37 +1114,31 @@ def rand(*size, dtype=None, seed=None):
1208
1114
  @_function_forbid_reuse
1209
1115
  def rand_like(input, seed=None, *, dtype=None):
1210
1116
  r"""
1211
- Returns a new tensor that fills numbers from the uniform distribution over an interval :math:`[0, 1)`
1212
- based on the given shape and dtype.
1117
+ Return a tensor with the same shape as `input` that is filled with random numbers from a uniform distribution
1118
+ on the interval :math:`[0, 1)`.
1213
1119
 
1214
1120
  .. warning::
1215
1121
  The Ascend backend does not support the reproducibility of random numbers, so
1216
1122
  the `seed` parameter has no effect.
1217
1123
 
1218
1124
  Args:
1219
- input (Tensor): Input Tensor to specify the output shape and its default dtype.
1220
- seed (int, optional): Random seed, must be greater or equal to 0. Default: ``None`` , and ``0`` will be used.
1125
+ input (Tensor): The input tensor.
1126
+ seed (int, optional): Random seed, must be greater or equal to 0. Default ``None`` .
1221
1127
 
1222
1128
  Keyword Args:
1223
- dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype, it must be float type. If None,
1224
- the same dtype of `input` will be applied. Default: ``None`` .
1129
+ dtype (:class:`mindspore.dtype`, optional): The data type returned.
1130
+ Default ``None`` .
1225
1131
 
1226
1132
  Returns:
1227
- Tensor, with the designated shape and dtype, filled with random numbers from the uniform distribution on
1228
- the interval :math:`[0, 1)`.
1229
-
1230
- Raises:
1231
- TypeError: If `seed` is not a non-negative integer.
1232
- ValueError: If `dtype` is not a `mstype.float_type` type.
1133
+ Tensor
1233
1134
 
1234
1135
  Supported Platforms:
1235
1136
  ``Ascend`` ``GPU`` ``CPU``
1236
1137
 
1237
1138
  Examples:
1238
- >>> import mindspore as ms
1239
- >>> from mindspore import Tensor, ops
1240
- >>> a = Tensor([[2, 3, 4], [1, 2, 3]])
1241
- >>> print(ops.rand_like(a, dtype=ms.float32))
1139
+ >>> import mindspore
1140
+ >>> a = mindspore.tensor([[2, 3, 4], [1, 2, 3]])
1141
+ >>> print(mindspore.ops.rand_like(a, dtype=mindspore.float32))
1242
1142
  [[4.1702199e-01 9.9718481e-01 7.2032452e-01]
1243
1143
  [9.3255734e-01 1.1438108e-04 1.2812445e-01]]
1244
1144
  """
@@ -1270,7 +1170,7 @@ def rand_ext(*size, generator=None, dtype=None):
1270
1170
  Keyword Args:
1271
1171
  generator (:class:`mindspore.Generator`, optional): a pseudorandom number generator.
1272
1172
  Default: ``None``, uses the default pseudorandom number generator.
1273
- dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype. If None,
1173
+ dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype. If ``None``,
1274
1174
  `mindspore.float32` will be applied. Default: ``None`` .
1275
1175
 
1276
1176
  Returns:
@@ -1384,7 +1284,7 @@ def randn_like_ext(input, *, dtype=None):
1384
1284
  input (Tensor): Input Tensor to specify the output shape and its default dtype.
1385
1285
 
1386
1286
  Keyword Args:
1387
- dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype, it must be float type. If None,
1287
+ dtype (:class:`mindspore.dtype`, optional): Designated Tensor dtype, it must be float type. If ``None``,
1388
1288
  the same dtype of `input` will be applied. Default: ``None`` .
1389
1289
 
1390
1290
  Returns:
@@ -1551,7 +1451,7 @@ def random_(input, from_=0, to=None, *, generator=None):
1551
1451
  @_function_forbid_reuse
1552
1452
  def randn(*size, dtype=None, seed=None):
1553
1453
  r"""
1554
- Returns a new Tensor with given shape and dtype, filled with a sample (or samples)
1454
+ Return a new tensor with given shape and dtype, filled with random numbers
1555
1455
  from the standard normal distribution.
1556
1456
 
1557
1457
  .. warning::
@@ -1559,28 +1459,22 @@ def randn(*size, dtype=None, seed=None):
1559
1459
  the `seed` parameter has no effect.
1560
1460
 
1561
1461
  Args:
1562
- size (Union[int, tuple(int), list(int)]): Shape of the new tensor, e.g., :math:`(2, 3)` or :math:`2`.
1462
+ size (Union[int, tuple(int), list(int)]): Shape of the output tensor.
1563
1463
 
1564
1464
  Keyword Args:
1565
- dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype, it must be float type. If None,
1566
- `mindspore.float32` will be used. Default: ``None`` .
1567
- seed (int, optional): Random seed, must be greater or equal to 0. Default: ``None`` , and 0 will be used.
1465
+ dtype (:class:`mindspore.dtype`, optional): The data type returned.
1466
+ Default ``None`` .
1467
+ seed (int, optional): Random seed, must be non-negative. Default ``None`` .
1568
1468
 
1569
1469
  Returns:
1570
- Tensor, with the designated shape and dtype, filled with a sample (or samples) from the
1571
- "standard normal" distribution.
1572
-
1573
- Raises:
1574
- TypeError: `seed` is not a non-negative integer.
1575
- ValueError: If `dtype` is not a `mstype.float_type`.
1576
- ValueError: If `size` contains invalid number.
1470
+ Tensor
1577
1471
 
1578
1472
  Supported Platforms:
1579
1473
  ``Ascend`` ``GPU`` ``CPU``
1580
1474
 
1581
1475
  Examples:
1582
- >>> from mindspore import ops
1583
- >>> print(ops.randn((2, 2)))
1476
+ >>> import mindspore
1477
+ >>> print(mindspore.ops.randn((2, 2)))
1584
1478
  [[ 0.30639967 -0.42438635]
1585
1479
  [-0.4287376 1.3054721 ]]
1586
1480
  """
@@ -1600,7 +1494,7 @@ def randn(*size, dtype=None, seed=None):
1600
1494
  @_function_forbid_reuse
1601
1495
  def randn_like(input, seed=None, *, dtype=None):
1602
1496
  r"""
1603
- Returns a new Tensor with given shape and dtype, filled with a sample (or samples) from the standard normal
1497
+ Return a tensor with the same shape as `input`, filled with random numbers from the standard normal
1604
1498
  distribution.
1605
1499
 
1606
1500
  .. warning::
@@ -1608,29 +1502,22 @@ def randn_like(input, seed=None, *, dtype=None):
1608
1502
  the `seed` parameter has no effect.
1609
1503
 
1610
1504
  Args:
1611
- input (Tensor): Input Tensor to specify the output shape and its default dtype.
1612
- seed (int, optional): Random seed, must be greater or equal to 0. Default: ``None`` , and 0 will be used.
1505
+ input (Tensor): The input tensor.
1506
+ seed (int, optional): Random seed, must be non-negative. Default ``None`` .
1613
1507
 
1614
1508
  Keyword Args:
1615
- dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype, it must be float type. If None,
1616
- `mindspore.float32` will be used. Default: ``None`` .
1509
+ dtype (:class:`mindspore.dtype`, optional): The data type returned. Default ``None`` .
1617
1510
 
1618
1511
  Returns:
1619
- Tensor, with the designated shape and dtype, filled with a sample (or samples) from the
1620
- "standard normal" distribution.
1621
-
1622
- Raises:
1623
- TypeError: `seed` is not a non-negative integer.
1624
- ValueError: If `dtype` is not a `mstype.float_type`.
1512
+ Tensor
1625
1513
 
1626
1514
  Supported Platforms:
1627
1515
  ``Ascend`` ``GPU`` ``CPU``
1628
1516
 
1629
1517
  Examples:
1630
- >>> import mindspore as ms
1631
- >>> from mindspore import Tensor, ops
1632
- >>> a = Tensor([[1, 2, 3], [4, 5, 6]])
1633
- >>> print(ops.randn_like(a, dtype=ms.float32))
1518
+ >>> import mindspore
1519
+ >>> a = mindspore.tensor([[1, 2, 3], [4, 5, 6]])
1520
+ >>> print(mindspore.ops.randn_like(a, dtype=mindspore.float32))
1634
1521
  [[ 0.30639967 -0.42438635 -0.20454668]
1635
1522
  [-0.4287376 1.3054721 0.64747655]]
1636
1523
  """
@@ -1653,7 +1540,7 @@ def randn_like(input, seed=None, *, dtype=None):
1653
1540
  @_function_forbid_reuse
1654
1541
  def randint(low, high, size, seed=None, *, dtype=None):
1655
1542
  r"""
1656
- Returns a Tensor whose elements are random integers in the range of [ `low` , `high` ) .
1543
+ Return a tensor whose elements are random integers in the range of [ `low` , `high` ) .
1657
1544
 
1658
1545
  .. warning::
1659
1546
  The Ascend backend does not support the reproducibility of random numbers, so
@@ -1662,30 +1549,22 @@ def randint(low, high, size, seed=None, *, dtype=None):
1662
1549
  Args:
1663
1550
  low (int): Start value of interval.
1664
1551
  high (int): End value of interval.
1665
- size (tuple): Shape of the new tensor.
1666
- seed (int, optional): Random seed, must be greater or equal to 0. Default: ``None`` , and ``0`` will be used.
1552
+ size (tuple): Shape of the output tensor.
1553
+ seed (int, optional): Random seed, must be non-negative. Default ``None`` .
1667
1554
 
1668
1555
  Keyword Args:
1669
- dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype, it must be int type. If ``None`` ,
1670
- `mindspore.int64` will be used. Default: ``None`` .
1556
+ dtype (:class:`mindspore.dtype`, optional): The data type returned.
1557
+ Default ``None`` .
1671
1558
 
1672
1559
  Returns:
1673
- Tensor, with the designated shape and dtype, filled with random integers from low (inclusive)
1674
- to high (exclusive).
1675
-
1676
- Raises:
1677
- TypeError: `seed` is not a non-negative integer.
1678
- TypeError: `size` is not a tuple.
1679
- TypeError: `low` or `high` is not an integer.
1680
- ValueError: If `dtype` is not a `mstype.int_type`.
1681
-
1560
+ Tensor
1682
1561
 
1683
1562
  Supported Platforms:
1684
1563
  ``Ascend`` ``GPU`` ``CPU``
1685
1564
 
1686
1565
  Examples:
1687
- >>> from mindspore import ops
1688
- >>> print(ops.randint(1, 10, (2,3)))
1566
+ >>> import mindspore
1567
+ >>> print(mindspore.ops.randint(1, 10, (2,3)))
1689
1568
  [[4 9 7]
1690
1569
  [9 1 2]]
1691
1570
  """
@@ -1715,7 +1594,7 @@ def randint(low, high, size, seed=None, *, dtype=None):
1715
1594
  @_function_forbid_reuse
1716
1595
  def randint_like(input, low, high, seed=None, *, dtype=None):
1717
1596
  r"""
1718
- Returns a tensor with the same shape as Tensor `input` whose elements are random integers in the range
1597
+ Returns a tensor with the same shape as `input` whose elements are random integers in the range
1719
1598
  of [ `low` , `high` ) .
1720
1599
 
1721
1600
  .. warning::
@@ -1723,31 +1602,25 @@ def randint_like(input, low, high, seed=None, *, dtype=None):
1723
1602
  the `seed` parameter has no effect.
1724
1603
 
1725
1604
  Args:
1726
- input (Tensor): Input Tensor to specify the output shape and its default dtype.
1605
+ input (Tensor): The input tensor.
1727
1606
  low(int): Start value of interval.
1728
1607
  high(int): End value of interval.
1729
- seed (int, optional): Random seed, must be greater or equal to 0. Default: ``None`` , and 0 will be used.
1608
+ seed (int, optional): Random seed, must be non-negative. Default ``None`` .
1730
1609
 
1731
1610
  Keyword Args:
1732
- dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype, it must be int type. If ``None`` ,
1733
- the same dtype of `input` will be applied. Default: ``None`` .
1611
+ dtype (:class:`mindspore.dtype`, optional): The data type returned.
1612
+ Default ``None`` .
1734
1613
 
1735
1614
  Returns:
1736
- Tensor, with the designated shape and dtype, filled with random integers from low (inclusive)
1737
- to high (exclusive).
1738
-
1739
- Raises:
1740
- TypeError: `seed` is not a non-negative integer.
1741
- TypeError: `low` or `high` is not an integer.
1742
- ValueError: If `dtype` is not a `mstype.int_type`.
1615
+ Tensor
1743
1616
 
1744
1617
  Supported Platforms:
1745
1618
  ``Ascend`` ``GPU`` ``CPU``
1746
1619
 
1747
1620
  Examples:
1748
- >>> from mindspore import Tensor, ops
1749
- >>> a = Tensor([[1, 2, 3], [3, 2, 1]])
1750
- >>> print(ops.randint_like(a, 1, 10))
1621
+ >>> import mindspore
1622
+ >>> a = mindspore.tensor([[1, 2, 3], [3, 2, 1]])
1623
+ >>> print(mindspore.ops.randint_like(a, 1, 10))
1751
1624
  [[4 9 7]
1752
1625
  [9 1 2]]
1753
1626
  """
@@ -1876,27 +1749,26 @@ def poisson(shape, mean, seed=None):
1876
1749
  @_function_forbid_reuse
1877
1750
  def multinomial(input, num_samples, replacement=True, seed=None):
1878
1751
  r"""
1879
- Returns a tensor sampled from the multinomial probability distribution located in the corresponding
1880
- row of the input tensor.
1752
+ Generate a tensor from a multinomial distribution.
1881
1753
 
1882
1754
  The polynomial distribution is a probability distribution that generalizes the binomial distribution formula to
1883
1755
  multiple states. In the polynomial distribution, each event has a fixed probability, and the sum of these
1884
- probabilities is 1. The purpose of the :func:`mindspore.ops.multinomial` interface
1885
- is to perform `num_samples` sampling
1756
+ probabilities is 1.
1757
+
1758
+ The purpose of this interface is to perform `num_samples` sampling
1886
1759
  on the input `input`, and the output tensor is the index of the input tensor for each sampling.
1887
1760
  The values in `input` represent the probability of selecting the corresponding index for each sampling.
1888
1761
 
1889
1762
  Here is an extreme example for better understanding. Suppose we have an input probability tensor with
1890
- values `Tensor([90 / 100, 10 / 100, 0], mindspore.float32)`, which means we can sample three indices,
1763
+ values `[90 / 100, 10 / 100, 0]`, which means we can sample three indices,
1891
1764
  namely index 0, index 1, and index 2, with probabilities of 90%, 10%, and 0%, respectively. We perform n samplings,
1892
1765
  and the resulting sequence is the calculation result of the polynomial distribution, with a length equal to the
1893
1766
  number of samplings.
1894
1767
 
1895
1768
  In case 1 of the sample code, we perform two non-replacement samplings (`replacement` is `False`).
1896
- The calculation result is most likely `[0, 1]`, and less likely `[1, 0]`. Since the probability of selecting
1897
- index 0 is 90% for each sampling, the first result is most likely to be index 0. Since the probability of selecting
1898
- index 2 is 0, index 2 cannot appear in the sampling result. Therefore, the second result must be index 1,
1899
- and the resulting sequence is `[0, 1]`.
1769
+ Since the probability of selecting index 0 is 90% for each sampling, the first result is most likely to be index 0.
1770
+ Since the probability of selecting index 2 is 0, index 2 cannot appear in the sampling result. Therefore, the
1771
+ second result must be index 1, and the resulting sequence is `[0, 1]`.
1900
1772
 
1901
1773
  In case 2 of the sample code, we perform 10 replacement samplings (`replacement` is `True`).
1902
1774
  As expected, about 90% of the sampling results are index 0.
@@ -1914,59 +1786,42 @@ def multinomial(input, num_samples, replacement=True, seed=None):
1914
1786
  the `seed` parameter has no effect.
1915
1787
 
1916
1788
  Args:
1917
- input (Tensor): The input tensor containing probabilities, must be 1 or 2 dimensions, with
1918
- float32 data type.
1789
+ input (Tensor): The input tensor containing probabilities.
1919
1790
  num_samples (int): Number of samples to draw.
1920
- replacement (bool, optional): Whether to draw with replacement or not. Default: ``True`` .
1921
- seed (int, optional): Seed is used as entropy source for the random number engines to generate
1922
- pseudo-random numbers, must be non-negative. Default: ``None`` .
1791
+ replacement (bool, optional): Whether to draw with replacement or not. Default ``True`` .
1792
+ seed (int, optional): Random seed. Default ``None`` .
1923
1793
 
1924
1794
  Returns:
1925
- Tensor, has the same rows with input. The number of sampled indices of each row is `num_samples`.
1926
- The dtype is int32.
1927
-
1928
- Raises:
1929
- TypeError: If `input` is not a Tensor whose dtype is not float32.
1930
- TypeError: If `num_samples` is not an int.
1931
- TypeError: If `seed` is neither an int nor None.
1795
+ Tensor
1932
1796
 
1933
1797
  Supported Platforms:
1934
1798
  ``Ascend`` ``GPU`` ``CPU``
1935
1799
 
1936
1800
  Examples:
1937
1801
  >>> import mindspore
1938
- >>> from mindspore import Tensor, ops
1939
- >>> from mindspore import dtype as mstype
1940
1802
  >>> # case 1: The output is random, and the length of the output is the same as num_sample.
1941
1803
  >>> # replacement is False.
1942
- >>> input1 = Tensor([90 / 100, 10 / 100, 0], mindspore.float32)
1943
- >>> input2 = Tensor([90, 10, 0], mindspore.float32)
1804
+ >>> input1 = mindspore.tensor([90 / 100, 10 / 100, 0])
1805
+ >>> input2 = mindspore.tensor([90, 10, 0])
1944
1806
  >>> # input1 and input2 have the same meaning.
1945
- >>> output1 = ops.multinomial(input1, 2, replacement=False)
1946
- >>> output2 = ops.multinomial(input2, 2, replacement=False)
1947
- >>> # print(output1)
1948
- >>> # [0 1]
1949
- >>> # print(output2)
1950
- >>> # [0 1]
1951
- >>> print(len(output1))
1952
- 2
1953
- >>> print(len(output2))
1954
- 2
1807
+ >>> mindspore.ops.multinomial(input1, 2, replacement=False)
1808
+ Tensor(shape=[2], dtype=Int32, value= [0, 1])
1809
+ >>> mindspore.ops.multinomial(input2, 2, replacement=False)
1810
+ Tensor(shape=[2], dtype=Int32, value= [1, 0])
1811
+ >>>
1955
1812
  >>> # case 2: The output is random, and the length of the output is the same as num_sample.
1956
1813
  >>> # replacement is True.
1957
- >>> output3 = ops.multinomial(input1, 10)
1958
- >>> # print(output3)
1959
- >>> # [0 0 1 0 0 0 0 0 0 0]
1960
- >>> print(len(output3))
1961
- 10
1814
+ >>> mindspore.ops.multinomial(input1, 10)
1815
+ Tensor(shape=[10], dtype=Int32, value= [0, 0, 1, 0, 0, 0, 0, 0, 0, 0])
1816
+ >>>
1962
1817
  >>> # case 3: The output is random, and the length of the output is the same as num_sample.
1963
1818
  >>> # replacement is True.
1964
1819
  >>> # rank is 2
1965
- >>> input4 = Tensor([[90, 10, 0], [10, 90, 0]], mstype.float32)
1966
- >>> output4 = ops.multinomial(input4, 10)
1967
- >>> # print(output4)
1968
- >>> # [[0 0 0 0 0 0 0 0 1 0]
1969
- >>> # [1 1 1 1 1 0 1 1 1 1]]
1820
+ >>> input3 = mindspore.tensor([[90, 10, 0], [10, 90, 0]], mindspore.float32)
1821
+ >>> output = mindspore.ops.multinomial(input3, 10)
1822
+ >>> print(output)
1823
+ [[0 0 0 0 0 0 0 0 0 0]
1824
+ [1 0 1 1 1 1 1 1 1 1]]
1970
1825
  """
1971
1826
  def _check_valid_dim(dim, name):
1972
1827
  if dim not in (1, 2):