mindspore 2.5.0__cp39-cp39-win_amd64.whl → 2.6.0rc1__cp39-cp39-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 (491) 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.cp39-win_amd64.pyd +0 -0
  6. mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
  7. mindspore/_c_mindrecord.cp39-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 +24 -193
  20. mindspore/_extends/parse/resources.py +1 -5
  21. mindspore/_extends/parse/standard_method.py +97 -74
  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 +1915 -3287
  46. mindspore/common/api.py +341 -354
  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/hook_handle.py +5 -3
  52. mindspore/common/initializer.py +10 -6
  53. mindspore/common/jit_begin_end.py +94 -0
  54. mindspore/common/jit_config.py +6 -1
  55. mindspore/common/jit_context.py +76 -0
  56. mindspore/common/jit_trace.py +378 -0
  57. mindspore/common/lazy_inline.py +2 -2
  58. mindspore/common/mutable.py +5 -4
  59. mindspore/common/parameter.py +106 -39
  60. mindspore/common/seed.py +2 -2
  61. mindspore/common/sparse_tensor.py +23 -17
  62. mindspore/common/tensor.py +297 -714
  63. mindspore/communication/__init__.py +7 -5
  64. mindspore/communication/_comm_helper.py +47 -2
  65. mindspore/communication/comm_func.py +70 -53
  66. mindspore/communication/management.py +83 -17
  67. mindspore/context.py +214 -560
  68. mindspore/dataset/__init__.py +44 -20
  69. mindspore/dataset/audio/__init__.py +2 -8
  70. mindspore/dataset/audio/transforms.py +3 -17
  71. mindspore/dataset/core/config.py +3 -3
  72. mindspore/dataset/engine/cache_client.py +1 -1
  73. mindspore/dataset/engine/datasets.py +102 -120
  74. mindspore/dataset/engine/datasets_audio.py +22 -22
  75. mindspore/dataset/engine/datasets_standard_format.py +43 -24
  76. mindspore/dataset/engine/datasets_text.py +78 -85
  77. mindspore/dataset/engine/datasets_user_defined.py +108 -76
  78. mindspore/dataset/engine/datasets_vision.py +111 -108
  79. mindspore/dataset/engine/iterators.py +5 -3
  80. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
  81. mindspore/dataset/engine/samplers.py +279 -57
  82. mindspore/dataset/engine/serializer_deserializer.py +2 -1
  83. mindspore/dataset/engine/validators.py +10 -0
  84. mindspore/dataset/text/__init__.py +7 -6
  85. mindspore/dataset/text/transforms.py +6 -5
  86. mindspore/dataset/text/utils.py +3 -3
  87. mindspore/dataset/transforms/__init__.py +0 -9
  88. mindspore/dataset/transforms/transforms.py +3 -3
  89. mindspore/dataset/utils/browse_dataset.py +1 -1
  90. mindspore/dataset/vision/__init__.py +2 -9
  91. mindspore/dataset/vision/transforms.py +202 -158
  92. mindspore/dataset/vision/utils.py +7 -5
  93. mindspore/device_context/ascend/op_debug.py +60 -1
  94. mindspore/device_context/ascend/op_tuning.py +0 -4
  95. mindspore/device_manager.py +39 -3
  96. mindspore/dnnl.dll +0 -0
  97. mindspore/dpcmi.dll +0 -0
  98. mindspore/experimental/es/embedding_service.py +35 -27
  99. mindspore/experimental/map_parameter.py +4 -4
  100. mindspore/experimental/optim/adadelta.py +22 -26
  101. mindspore/experimental/optim/adagrad.py +4 -4
  102. mindspore/experimental/optim/adam.py +4 -0
  103. mindspore/experimental/optim/adamax.py +4 -4
  104. mindspore/experimental/optim/adamw.py +4 -0
  105. mindspore/experimental/optim/asgd.py +1 -1
  106. mindspore/experimental/optim/lr_scheduler.py +40 -22
  107. mindspore/experimental/optim/radam.py +5 -5
  108. mindspore/experimental/optim/rprop.py +1 -1
  109. mindspore/experimental/optim/sgd.py +1 -1
  110. mindspore/hal/contiguous_tensors_handle.py +6 -10
  111. mindspore/hal/device.py +55 -81
  112. mindspore/hal/event.py +38 -55
  113. mindspore/hal/memory.py +93 -144
  114. mindspore/hal/stream.py +81 -125
  115. mindspore/include/dataset/constants.h +7 -4
  116. mindspore/include/dataset/execute.h +2 -2
  117. mindspore/jpeg62.dll +0 -0
  118. mindspore/log.py +40 -2
  119. mindspore/mindrecord/__init__.py +20 -7
  120. mindspore/mindspore_backend_common.dll +0 -0
  121. mindspore/mindspore_backend_manager.dll +0 -0
  122. mindspore/mindspore_common.dll +0 -0
  123. mindspore/mindspore_core.dll +0 -0
  124. mindspore/mindspore_dump.dll +0 -0
  125. mindspore/mindspore_frontend.dll +0 -0
  126. mindspore/mindspore_glog.dll +0 -0
  127. mindspore/mindspore_memory_pool.dll +0 -0
  128. mindspore/mindspore_ms_backend.dll +0 -0
  129. mindspore/mindspore_ops.dll +0 -0
  130. mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
  131. mindspore/mindspore_ops_kernel_common.dll +0 -0
  132. mindspore/mindspore_profiler.dll +0 -0
  133. mindspore/mindspore_pyboost.dll +0 -0
  134. mindspore/mindspore_pynative.dll +0 -0
  135. mindspore/mindspore_res_manager.dll +0 -0
  136. mindspore/mindspore_runtime_pipeline.dll +0 -0
  137. mindspore/mint/__init__.py +131 -700
  138. mindspore/mint/distributed/__init__.py +5 -1
  139. mindspore/mint/distributed/distributed.py +194 -109
  140. mindspore/mint/linalg/__init__.py +2 -0
  141. mindspore/mint/nn/__init__.py +280 -18
  142. mindspore/mint/nn/functional.py +282 -64
  143. mindspore/mint/nn/layer/__init__.py +4 -0
  144. mindspore/mint/nn/layer/_functions.py +7 -3
  145. mindspore/mint/nn/layer/activation.py +120 -13
  146. mindspore/mint/nn/layer/conv.py +218 -24
  147. mindspore/mint/nn/layer/normalization.py +15 -16
  148. mindspore/mint/nn/layer/padding.py +1 -1
  149. mindspore/mint/nn/layer/pooling.py +66 -1
  150. mindspore/mint/optim/__init__.py +2 -1
  151. mindspore/mint/optim/sgd.py +171 -0
  152. mindspore/msobj140.dll +0 -0
  153. mindspore/mspdb140.dll +0 -0
  154. mindspore/mspdbcore.dll +0 -0
  155. mindspore/mspdbst.dll +0 -0
  156. mindspore/mspft140.dll +0 -0
  157. mindspore/msvcdis140.dll +0 -0
  158. mindspore/msvcp140_1.dll +0 -0
  159. mindspore/msvcp140_2.dll +0 -0
  160. mindspore/msvcp140_atomic_wait.dll +0 -0
  161. mindspore/msvcp140_codecvt_ids.dll +0 -0
  162. mindspore/nn/__init__.py +4 -1
  163. mindspore/nn/cell.py +1250 -176
  164. mindspore/nn/layer/activation.py +23 -21
  165. mindspore/nn/layer/basic.py +22 -16
  166. mindspore/nn/layer/container.py +1 -1
  167. mindspore/nn/layer/conv.py +22 -17
  168. mindspore/nn/layer/embedding.py +9 -8
  169. mindspore/nn/layer/normalization.py +48 -42
  170. mindspore/nn/layer/pooling.py +75 -31
  171. mindspore/nn/layer/transformer.py +11 -10
  172. mindspore/nn/learning_rate_schedule.py +4 -2
  173. mindspore/nn/loss/loss.py +27 -19
  174. mindspore/nn/optim/ada_grad.py +6 -5
  175. mindspore/nn/optim/adadelta.py +9 -7
  176. mindspore/nn/optim/adafactor.py +1 -1
  177. mindspore/nn/optim/adam.py +16 -12
  178. mindspore/nn/optim/adamax.py +8 -7
  179. mindspore/nn/optim/adasum.py +5 -5
  180. mindspore/nn/optim/asgd.py +1 -1
  181. mindspore/nn/optim/ftrl.py +11 -9
  182. mindspore/nn/optim/lamb.py +1 -1
  183. mindspore/nn/optim/lazyadam.py +12 -10
  184. mindspore/nn/optim/momentum.py +7 -6
  185. mindspore/nn/optim/optimizer.py +2 -2
  186. mindspore/nn/optim/proximal_ada_grad.py +12 -10
  187. mindspore/nn/optim/rmsprop.py +13 -12
  188. mindspore/nn/optim/rprop.py +9 -7
  189. mindspore/nn/optim/sgd.py +9 -6
  190. mindspore/nn/optim/tft_wrapper.py +5 -2
  191. mindspore/nn/probability/bijector/bijector.py +17 -11
  192. mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
  193. mindspore/nn/probability/bijector/invert.py +2 -2
  194. mindspore/nn/probability/bijector/scalar_affine.py +3 -3
  195. mindspore/nn/probability/bijector/softplus.py +3 -2
  196. mindspore/nn/probability/distribution/beta.py +3 -3
  197. mindspore/nn/probability/distribution/categorical.py +1 -1
  198. mindspore/nn/probability/distribution/cauchy.py +4 -2
  199. mindspore/nn/probability/distribution/exponential.py +6 -7
  200. mindspore/nn/probability/distribution/gamma.py +2 -2
  201. mindspore/nn/probability/distribution/gumbel.py +2 -2
  202. mindspore/nn/probability/distribution/half_normal.py +5 -3
  203. mindspore/nn/probability/distribution/logistic.py +5 -3
  204. mindspore/nn/probability/distribution/poisson.py +1 -1
  205. mindspore/nn/probability/distribution/uniform.py +5 -3
  206. mindspore/nn/reinforcement/_tensors_queue.py +1 -1
  207. mindspore/nn/reinforcement/tensor_array.py +1 -1
  208. mindspore/nn/wrap/__init__.py +6 -6
  209. mindspore/nn/wrap/cell_wrapper.py +178 -117
  210. mindspore/nn/wrap/grad_reducer.py +45 -36
  211. mindspore/nn/wrap/loss_scale.py +3 -3
  212. mindspore/numpy/array_creations.py +3 -3
  213. mindspore/numpy/array_ops.py +1 -1
  214. mindspore/numpy/math_ops.py +4 -4
  215. mindspore/numpy/utils.py +1 -2
  216. mindspore/numpy/utils_const.py +1 -2
  217. mindspore/opencv_core452.dll +0 -0
  218. mindspore/opencv_imgcodecs452.dll +0 -0
  219. mindspore/opencv_imgproc452.dll +0 -0
  220. mindspore/ops/__init__.py +3 -2
  221. mindspore/ops/_grad_experimental/grad_comm_ops.py +18 -3
  222. mindspore/ops/_grad_experimental/grad_debug_ops.py +8 -1
  223. mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
  224. mindspore/ops/_register_for_op.py +0 -11
  225. mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
  226. mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -4
  227. mindspore/ops/_vmap/vmap_array_ops.py +7 -6
  228. mindspore/ops/_vmap/vmap_grad_nn_ops.py +2 -1
  229. mindspore/ops/_vmap/vmap_math_ops.py +4 -7
  230. mindspore/ops/_vmap/vmap_nn_ops.py +9 -8
  231. mindspore/ops/auto_generate/__init__.py +4 -3
  232. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +102 -49
  233. mindspore/ops/auto_generate/gen_extend_func.py +281 -135
  234. mindspore/ops/auto_generate/gen_ops_def.py +2574 -2326
  235. mindspore/ops/auto_generate/gen_ops_prim.py +8566 -2755
  236. mindspore/ops/auto_generate/pyboost_inner_prim.py +106 -76
  237. mindspore/ops/composite/__init__.py +2 -1
  238. mindspore/ops/composite/base.py +19 -24
  239. mindspore/ops/composite/math_ops.py +6 -16
  240. mindspore/ops/composite/multitype_ops/__init__.py +5 -2
  241. mindspore/ops/composite/multitype_ops/_compile_utils.py +2 -3
  242. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
  243. mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
  244. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
  245. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
  246. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
  247. mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
  248. mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
  249. mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
  250. mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
  251. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
  252. mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
  253. mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
  254. mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
  255. mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
  256. mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
  257. mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
  258. mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
  259. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
  260. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  261. mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
  262. mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
  263. mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
  264. mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
  265. mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
  266. mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
  267. mindspore/ops/composite/multitype_ops/pow_impl.py +2 -1
  268. mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
  269. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  270. mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
  271. mindspore/ops/function/__init__.py +28 -2
  272. mindspore/ops/function/_add_attr_func.py +58 -0
  273. mindspore/ops/function/array_func.py +1629 -2345
  274. mindspore/ops/function/clip_func.py +38 -45
  275. mindspore/ops/function/debug_func.py +36 -44
  276. mindspore/ops/function/grad/__init__.py +1 -0
  277. mindspore/ops/function/grad/grad_func.py +104 -71
  278. mindspore/ops/function/image_func.py +1 -1
  279. mindspore/ops/function/linalg_func.py +46 -78
  280. mindspore/ops/function/math_func.py +3035 -3705
  281. mindspore/ops/function/nn_func.py +676 -241
  282. mindspore/ops/function/other_func.py +159 -1
  283. mindspore/ops/function/parameter_func.py +17 -30
  284. mindspore/ops/function/random_func.py +204 -361
  285. mindspore/ops/function/reshard_func.py +4 -70
  286. mindspore/ops/function/sparse_func.py +3 -3
  287. mindspore/ops/function/sparse_unary_func.py +5 -5
  288. mindspore/ops/function/spectral_func.py +25 -58
  289. mindspore/ops/function/vmap_func.py +24 -17
  290. mindspore/ops/functional.py +6 -4
  291. mindspore/ops/functional_overload.py +547 -4
  292. mindspore/ops/op_info_register.py +32 -244
  293. mindspore/ops/operations/__init__.py +10 -5
  294. mindspore/ops/operations/_custom_ops_utils.py +247 -0
  295. mindspore/ops/operations/_grad_ops.py +1 -10
  296. mindspore/ops/operations/_inner_ops.py +5 -76
  297. mindspore/ops/operations/_ms_kernel.py +4 -10
  298. mindspore/ops/operations/_rl_inner_ops.py +1 -1
  299. mindspore/ops/operations/_scalar_ops.py +3 -2
  300. mindspore/ops/operations/_sequence_ops.py +1 -1
  301. mindspore/ops/operations/_tensor_array.py +1 -1
  302. mindspore/ops/operations/array_ops.py +37 -22
  303. mindspore/ops/operations/comm_ops.py +150 -107
  304. mindspore/ops/operations/custom_ops.py +221 -23
  305. mindspore/ops/operations/debug_ops.py +115 -16
  306. mindspore/ops/operations/inner_ops.py +1 -1
  307. mindspore/ops/operations/linalg_ops.py +1 -58
  308. mindspore/ops/operations/manually_defined/_inner.py +1 -1
  309. mindspore/ops/operations/manually_defined/ops_def.py +746 -79
  310. mindspore/ops/operations/math_ops.py +21 -18
  311. mindspore/ops/operations/nn_ops.py +65 -191
  312. mindspore/ops/operations/other_ops.py +62 -9
  313. mindspore/ops/operations/random_ops.py +13 -7
  314. mindspore/ops/operations/reshard_ops.py +1 -1
  315. mindspore/ops/operations/sparse_ops.py +2 -2
  316. mindspore/ops/primitive.py +43 -32
  317. mindspore/ops/tensor_method.py +232 -13
  318. mindspore/ops_generate/__init__.py +0 -5
  319. mindspore/ops_generate/aclnn/__init__.py +0 -0
  320. mindspore/ops_generate/{aclnn_kernel_register_auto_cc_generator.py → aclnn/aclnn_kernel_register_auto_cc_generator.py} +43 -18
  321. mindspore/ops_generate/{gen_aclnn_implement.py → aclnn/gen_aclnn_implement.py} +49 -51
  322. mindspore/ops_generate/api/__init__.py +0 -0
  323. mindspore/ops_generate/{add_tensor_docs_generator.py → api/add_tensor_docs_generator.py} +9 -7
  324. mindspore/ops_generate/{cpp_create_prim_instance_helper_generator.py → api/cpp_create_prim_instance_helper_generator.py} +6 -9
  325. mindspore/ops_generate/{functional_map_cpp_generator.py → api/functional_map_cpp_generator.py} +25 -12
  326. mindspore/ops_generate/{functional_overload_py_generator.py → api/functional_overload_py_generator.py} +8 -6
  327. mindspore/ops_generate/{functions_cc_generator.py → api/functions_cc_generator.py} +14 -10
  328. mindspore/ops_generate/api/gen_api.py +103 -0
  329. mindspore/ops_generate/{op_api_proto.py → api/op_api_proto.py} +98 -69
  330. mindspore/ops_generate/{tensor_func_reg_cpp_generator.py → api/tensor_func_reg_cpp_generator.py} +82 -43
  331. mindspore/ops_generate/common/__init__.py +0 -0
  332. mindspore/ops_generate/common/gen_constants.py +91 -0
  333. mindspore/ops_generate/{gen_utils.py → common/gen_utils.py} +72 -19
  334. mindspore/ops_generate/{op_proto.py → common/op_proto.py} +64 -1
  335. mindspore/ops_generate/{template.py → common/template.py} +96 -84
  336. mindspore/ops_generate/gen_ops.py +23 -325
  337. mindspore/ops_generate/op_def/__init__.py +0 -0
  338. mindspore/ops_generate/op_def/gen_op_def.py +90 -0
  339. mindspore/ops_generate/{lite_ops_cpp_generator.py → op_def/lite_ops_cpp_generator.py} +47 -11
  340. mindspore/ops_generate/{ops_def_cc_generator.py → op_def/ops_def_cc_generator.py} +18 -7
  341. mindspore/ops_generate/{ops_def_h_generator.py → op_def/ops_def_h_generator.py} +5 -5
  342. mindspore/ops_generate/{ops_name_h_generator.py → op_def/ops_name_h_generator.py} +30 -15
  343. mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
  344. mindspore/ops_generate/op_def_py/__init__.py +0 -0
  345. mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
  346. mindspore/ops_generate/{op_def_py_generator.py → op_def_py/op_def_py_generator.py} +6 -5
  347. mindspore/ops_generate/{op_prim_py_generator.py → op_def_py/op_prim_py_generator.py} +24 -15
  348. mindspore/ops_generate/pyboost/__init__.py +0 -0
  349. mindspore/ops_generate/{auto_grad_impl_cc_generator.py → pyboost/auto_grad_impl_cc_generator.py} +11 -7
  350. mindspore/ops_generate/{auto_grad_reg_cc_generator.py → pyboost/auto_grad_reg_cc_generator.py} +7 -7
  351. mindspore/ops_generate/{gen_pyboost_func.py → pyboost/gen_pyboost_func.py} +40 -16
  352. mindspore/ops_generate/{op_template_parser.py → pyboost/op_template_parser.py} +105 -24
  353. mindspore/ops_generate/{pyboost_functions_cpp_generator.py → pyboost/pyboost_functions_cpp_generator.py} +55 -18
  354. mindspore/ops_generate/{pyboost_functions_h_generator.py → pyboost/pyboost_functions_h_generator.py} +42 -10
  355. mindspore/ops_generate/{pyboost_functions_py_generator.py → pyboost/pyboost_functions_py_generator.py} +6 -6
  356. mindspore/ops_generate/{pyboost_grad_function_cpp_generator.py → pyboost/pyboost_grad_function_cpp_generator.py} +11 -10
  357. mindspore/ops_generate/{pyboost_inner_prim_generator.py → pyboost/pyboost_inner_prim_generator.py} +8 -7
  358. mindspore/ops_generate/{pyboost_native_grad_functions_generator.py → pyboost/pyboost_native_grad_functions_generator.py} +14 -10
  359. mindspore/ops_generate/{pyboost_op_cpp_code_generator.py → pyboost/pyboost_op_cpp_code_generator.py} +140 -53
  360. mindspore/ops_generate/{pyboost_overload_functions_cpp_generator.py → pyboost/pyboost_overload_functions_cpp_generator.py} +28 -15
  361. mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +88 -4
  362. mindspore/ops_generate/resources/__init__.py +0 -0
  363. mindspore/ops_generate/resources/resource_list.py +30 -0
  364. mindspore/ops_generate/resources/resource_loader.py +36 -0
  365. mindspore/ops_generate/resources/resource_manager.py +64 -0
  366. mindspore/ops_generate/resources/yaml_loader.py +88 -0
  367. mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
  368. mindspore/parallel/__init__.py +6 -2
  369. mindspore/parallel/_auto_parallel_context.py +133 -6
  370. mindspore/parallel/_cell_wrapper.py +130 -15
  371. mindspore/parallel/_parallel_serialization.py +95 -4
  372. mindspore/parallel/_ps_context.py +1 -1
  373. mindspore/parallel/_recovery_context.py +7 -2
  374. mindspore/parallel/_tensor.py +142 -18
  375. mindspore/parallel/_utils.py +198 -25
  376. mindspore/parallel/algo_parameter_config.py +3 -3
  377. mindspore/parallel/auto_parallel.py +732 -0
  378. mindspore/parallel/checkpoint_convert.py +159 -0
  379. mindspore/parallel/checkpoint_transform.py +656 -37
  380. mindspore/parallel/cluster/process_entity/_api.py +151 -19
  381. mindspore/parallel/cluster/run.py +1 -1
  382. mindspore/parallel/function/__init__.py +24 -0
  383. mindspore/parallel/function/reshard_func.py +259 -0
  384. mindspore/parallel/nn/__init__.py +25 -0
  385. mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
  386. mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
  387. mindspore/parallel/parameter_broadcast.py +24 -13
  388. mindspore/parallel/shard.py +137 -61
  389. mindspore/parallel/transform_safetensors.py +287 -95
  390. mindspore/pgodb140.dll +0 -0
  391. mindspore/pgort140.dll +0 -0
  392. mindspore/profiler/__init__.py +9 -5
  393. mindspore/profiler/analysis/parser/ascend_cann_parser.py +6 -2
  394. mindspore/profiler/analysis/parser/ms_framework_parser.py +4 -4
  395. mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -4
  396. mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +22 -0
  397. mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
  398. mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +241 -86
  399. mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +41 -2
  400. mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +33 -35
  401. mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +7 -0
  402. mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +8 -3
  403. mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +141 -30
  404. mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +5 -6
  405. mindspore/profiler/common/ascend_msprof_exporter.py +5 -4
  406. mindspore/profiler/common/constant.py +12 -0
  407. mindspore/profiler/common/msprof_cmd_tool.py +42 -23
  408. mindspore/profiler/common/path_manager.py +24 -0
  409. mindspore/profiler/common/profiler_context.py +26 -2
  410. mindspore/profiler/common/profiler_meta_data.py +74 -0
  411. mindspore/profiler/common/profiler_parameters.py +59 -18
  412. mindspore/profiler/common/profiler_path_manager.py +66 -7
  413. mindspore/profiler/dynamic_profiler.py +112 -79
  414. mindspore/profiler/envprofiler.py +26 -1
  415. mindspore/profiler/experimental_config.py +197 -0
  416. mindspore/profiler/mstx.py +57 -14
  417. mindspore/profiler/platform/npu_profiler.py +33 -7
  418. mindspore/profiler/profiler.py +541 -45
  419. mindspore/profiler/profiler_action_controller.py +1 -1
  420. mindspore/profiler/profiler_interface.py +4 -0
  421. mindspore/profiler/schedule.py +57 -22
  422. mindspore/rewrite/api/node.py +15 -13
  423. mindspore/rewrite/api/symbol_tree.py +1 -1
  424. mindspore/run_check/_check_version.py +25 -14
  425. mindspore/run_check/run_check.py +1 -1
  426. mindspore/runtime/__init__.py +2 -2
  427. mindspore/runtime/executor.py +40 -11
  428. mindspore/runtime/memory.py +25 -8
  429. mindspore/safeguard/rewrite_obfuscation.py +12 -9
  430. mindspore/swresample-4.dll +0 -0
  431. mindspore/swscale-6.dll +0 -0
  432. mindspore/tbbmalloc.dll +0 -0
  433. mindspore/tinyxml2.dll +0 -0
  434. mindspore/train/__init__.py +8 -8
  435. mindspore/train/_utils.py +35 -7
  436. mindspore/train/amp.py +1 -1
  437. mindspore/train/callback/__init__.py +2 -2
  438. mindspore/train/callback/_callback.py +2 -16
  439. mindspore/train/callback/_checkpoint.py +24 -40
  440. mindspore/train/callback/_cluster_monitor.py +14 -18
  441. mindspore/train/callback/_flops_collector.py +2 -3
  442. mindspore/train/callback/_history.py +7 -4
  443. mindspore/train/callback/_lambda_callback.py +2 -2
  444. mindspore/train/callback/_landscape.py +0 -3
  445. mindspore/train/callback/_loss_monitor.py +2 -1
  446. mindspore/train/callback/_on_request_exit.py +6 -5
  447. mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
  448. mindspore/train/callback/_summary_collector.py +8 -13
  449. mindspore/train/callback/_time_monitor.py +2 -1
  450. mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +179 -103
  451. mindspore/train/data_sink.py +25 -2
  452. mindspore/train/dataset_helper.py +4 -5
  453. mindspore/train/loss_scale_manager.py +8 -7
  454. mindspore/train/metrics/accuracy.py +3 -3
  455. mindspore/train/metrics/confusion_matrix.py +9 -9
  456. mindspore/train/metrics/error.py +3 -3
  457. mindspore/train/metrics/hausdorff_distance.py +4 -4
  458. mindspore/train/metrics/mean_surface_distance.py +3 -3
  459. mindspore/train/metrics/metric.py +0 -12
  460. mindspore/train/metrics/occlusion_sensitivity.py +4 -2
  461. mindspore/train/metrics/precision.py +8 -6
  462. mindspore/train/metrics/recall.py +9 -9
  463. mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
  464. mindspore/train/mind_ir_pb2.py +19 -12
  465. mindspore/train/model.py +176 -103
  466. mindspore/train/serialization.py +246 -988
  467. mindspore/train/summary/_summary_adapter.py +2 -2
  468. mindspore/train/summary/summary_record.py +1 -1
  469. mindspore/turbojpeg.dll +0 -0
  470. mindspore/utils/__init__.py +3 -2
  471. mindspore/utils/dryrun.py +4 -2
  472. mindspore/utils/hooks.py +81 -0
  473. mindspore/utils/utils.py +138 -4
  474. mindspore/vcmeta.dll +0 -0
  475. mindspore/vcruntime140.dll +0 -0
  476. mindspore/vcruntime140_1.dll +0 -0
  477. mindspore/version.py +1 -1
  478. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +2 -1
  479. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +483 -438
  480. mindspore/_install_custom.py +0 -43
  481. mindspore/common/_register_for_adapter.py +0 -74
  482. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
  483. mindspore/ops/auto_generate/gen_arg_handler.py +0 -136
  484. mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
  485. mindspore/ops_generate/gen_constants.py +0 -190
  486. mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
  487. mindspore/ops_generate/ops_primitive_h_generator.py +0 -81
  488. /mindspore/ops_generate/{base_generator.py → common/base_generator.py} +0 -0
  489. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/WHEEL +0 -0
  490. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/entry_points.txt +0 -0
  491. {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.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
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)
@@ -438,9 +389,6 @@ def standard_normal(shape, seed=None):
438
389
  r"""
439
390
  Generates random numbers according to the standard Normal (or Gaussian) random number distribution.
440
391
 
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
392
  .. math::
445
393
  f(x)=\frac{1}{\sqrt{2 \pi}} e^{\left(-\frac{x^{2}}{2}\right)}
446
394
 
@@ -449,28 +397,25 @@ def standard_normal(shape, seed=None):
449
397
  the `seed` parameter has no effect.
450
398
 
451
399
  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.
400
+ shape (Union[tuple, Tensor]): The shape of returned tensor.
401
+ seed (int, optional): Random number Seed. Default ``None`` .
456
402
 
457
403
  Returns:
458
- Tensor. The shape that the input 'shape' denotes. The dtype is float32.
404
+ Tensor
459
405
 
460
406
  Raises:
461
- TypeError: If `shape` is neither a tuple nor a Tensor.
462
407
  ValueError: If `shape` is a tuple containing non-positive items.
408
+ ValueError: If shape is a Tensor, and the rank of the Tensor is not equal to 1.
463
409
 
464
410
  Supported Platforms:
465
411
  ``Ascend`` ``GPU`` ``CPU``
466
412
 
467
413
  Examples:
468
- >>> from mindspore import ops
414
+ >>> import mindspore
469
415
  >>> shape = (4, 4)
470
- >>> output = ops.standard_normal(shape)
471
- >>> result = output.shape
472
- >>> print(result)
473
- (4, 4)
416
+ >>> output = mindspore.ops.standard_normal(shape, seed=5)
417
+ >>> print(f'output shape is {output.shape}')
418
+ output shape is (4, 4)
474
419
  """
475
420
  seed1, seed2 = _get_seed(seed, "standard_normal")
476
421
  standard_normal_op = P.StandardNormal(seed=seed1, seed2=seed2)
@@ -556,7 +501,7 @@ def uniform_candidate_sampler(true_classes,
556
501
  @_function_forbid_reuse
557
502
  def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
558
503
  r"""
559
- Generates random number Tensor with shape `shape` according to a Poisson distribution with mean `rate`.
504
+ Generate random number Tensor with `shape` according to a Poisson distribution with mean `rate`.
560
505
 
561
506
 
562
507
  .. math::
@@ -568,50 +513,31 @@ def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
568
513
  the `seed` parameter has no effect.
569
514
 
570
515
  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.
516
+ shape (Tensor): The shape of random tensor to be sampled from each poisson distribution, 1-D integer tensor.
573
517
  rate (Tensor): The :math:`μ` parameter the distribution is constructed with.
574
518
  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``.
519
+ and also the variance of the distribution.
520
+ seed (int, optional): Random seed, must be non-negative. Default ``None`` .
521
+ dtype (mindspore.dtype): The data type returned. Default ``mstype.float32``.
581
522
 
582
523
  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.
524
+ Tensor, the shape is `mindspore.ops.concat([shape, rate.shape], axis=0)`.
597
525
 
598
526
  Supported Platforms:
599
527
  ``GPU`` ``CPU``
600
528
 
601
529
  Examples:
602
530
  >>> import mindspore
603
- >>> import numpy as np
604
- >>> from mindspore import Tensor, ops
605
531
  >>> # 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)
532
+ >>> shape = mindspore.tensor([2, 2], mindspore.int64)
533
+ >>> rate = mindspore.tensor([[5.0, 10.0], [5.0, 1.0]], mindspore.float32)
534
+ >>> output = mindspore.ops.random_poisson(shape, rate, seed=5, dtype=mindspore.float64)
609
535
  >>> print(output.shape, output.dtype)
610
536
  (2, 2, 2, 2) Float64
611
537
  >>> # 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)
538
+ >>> shape = mindspore.tensor([2, 2], mindspore.int64)
539
+ >>> rate = mindspore.tensor(5.0, mindspore.float64)
540
+ >>> output = mindspore.ops.random_poisson(shape, rate, seed=5, dtype=mindspore.int64)
615
541
  >>> print(output.shape, output.dtype)
616
542
  (2, 2) Int64
617
543
  """
@@ -626,28 +552,22 @@ def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
626
552
  @_function_forbid_reuse
627
553
  def shuffle(x, seed=None):
628
554
  r"""
629
- Randomly shuffles a Tensor along its first dimension.
555
+ Randomly shuffle a tensor along its first dimension.
630
556
 
631
557
  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.
558
+ x (Tensor): The input tensor.
559
+ seed (int, optional): Random seed. Default ``None`` , which is equivalent to 0.
635
560
 
636
561
  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.
562
+ Tensor
641
563
 
642
564
  Supported Platforms:
643
565
  ``Ascend`` ``GPU`` ``CPU``
644
566
 
645
567
  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)
568
+ >>> import mindspore
569
+ >>> x = mindspore.tensor([1, 2, 3, 4], mindspore.float32)
570
+ >>> output = mindspore.ops.shuffle(x, seed=1)
651
571
  >>> print(output)
652
572
  [3. 4. 2. 1.]
653
573
  """
@@ -673,13 +593,13 @@ def log_uniform_candidate_sampler(true_classes, num_true=1, num_sampled=5, uniqu
673
593
  Args:
674
594
  true_classes (Tensor): The target classes. With data type of int64 and
675
595
  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`` ,
596
+ num_true (int, optional): The number of target classes per training example. Default: ``1`` .
597
+ num_sampled (int, optional): The number of classes to randomly sample. Default: ``5`` .
598
+ unique (bool, optional): Determines whether sample with rejection. If `unique` is ``True`` ,
679
599
  all sampled classes in a batch are unique. Default: ``True`` .
680
- range_max (int): The number of possible classes. When `unique` is ``True`` ,
600
+ range_max (int, optional): The number of possible classes. When `unique` is ``True`` ,
681
601
  `range_max` must be greater than or equal to `num_sampled`. Default: ``5`` .
682
- seed (int): Random seed, must be non-negative. Default: ``0`` .
602
+ seed (int, optional): Random seed, must be non-negative. Default: ``0`` .
683
603
 
684
604
  Returns:
685
605
  Tuple of 3 Tensors.
@@ -933,50 +853,44 @@ def normal_ext(mean=0.0, std=1.0, size=None, generator=None):
933
853
  @_function_forbid_reuse
934
854
  def normal(shape, mean, stddev, seed=None):
935
855
  """
936
- Generates random numbers according to the Normal (or Gaussian) random number distribution.
856
+ Return a random tensor that conforms to the normal (Gaussian) distribution.
937
857
 
938
858
  .. warning::
939
859
  The Ascend backend does not support the reproducibility of random numbers, so
940
860
  the `seed` parameter has no effect.
941
861
 
942
862
  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.
863
+ shape (tuple): The shape of returned tensor.
864
+ mean (Union[Tensor, int, float]): The mean of the normal distribution for the returned tensor.
865
+ stddev (Union[Tensor, int, float]): The standard deviation of the normal distribution for the returned tensor.
866
+ seed (int, optional): Random seed. Default: ``None`` , which is equivalent to 0.
949
867
 
950
868
  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].
869
+ Tensor
954
870
 
955
871
  Supported Platforms:
956
872
  ``Ascend`` ``GPU`` ``CPU``
957
873
 
958
874
  Examples:
959
875
  >>> import mindspore
960
- >>> import numpy as np
961
- >>> from mindspore import Tensor, ops
962
876
  >>> 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)
877
+ >>> mean = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
878
+ >>> stddev = mindspore.tensor(1.0, mindspore.float32)
879
+ >>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
966
880
  >>> result = output.shape
967
881
  >>> print(result)
968
882
  (3, 2, 2)
969
883
  >>> 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)
884
+ >>> mean = mindspore.tensor([[3, 4, 3], [3, 5, 6]], mindspore.float32)
885
+ >>> stddev = mindspore.tensor(1.0, mindspore.float32)
886
+ >>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
973
887
  >>> result = output.shape
974
888
  >>> print(result)
975
889
  (3, 2, 3)
976
890
  >>> 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)
891
+ >>> mean = mindspore.tensor([[1, 2, 3], [3, 4, 3], [3, 5, 6]], mindspore.float32)
892
+ >>> stddev = mindspore.tensor(1.0, mindspore.float32)
893
+ >>> output = mindspore.ops.normal(shape, mean, stddev, seed=5)
980
894
  >>> result = output.shape
981
895
  >>> print(result)
982
896
  (3, 3, 3)
@@ -1000,7 +914,8 @@ def normal(shape, mean, stddev, seed=None):
1000
914
  def laplace(shape, mean, lambda_param, seed=None):
1001
915
  r"""
1002
916
  Generates random numbers according to the Laplace random number distribution.
1003
- It is defined as:
917
+
918
+ Support broadcasting.
1004
919
 
1005
920
  .. math::
1006
921
  \text{f}(x;μ,λ) = \frac{1}{2λ}\exp(-\frac{|x-μ|}{λ}),
@@ -1010,30 +925,24 @@ def laplace(shape, mean, lambda_param, seed=None):
1010
925
  the `seed` parameter has no effect.
1011
926
 
1012
927
  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.
928
+ shape (tuple): The shape specified.
929
+ mean (Tensor): The mean of distribution.
930
+ lambda_param (Tensor): Control the variance of distribution. The
931
+ variance of Laplace distribution is equal to twice the square of `lambda_param` .
932
+ seed (int, optional): Random seed. Default ``None`` represents 0.
1021
933
 
1022
934
  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.
935
+ Tensor
1025
936
 
1026
937
  Supported Platforms:
1027
938
  ``Ascend`` ``GPU`` ``CPU``
1028
939
 
1029
940
  Examples:
1030
941
  >>> import mindspore
1031
- >>> from mindspore import Tensor
1032
- >>> from mindspore import ops as ops
1033
942
  >>> 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)
943
+ >>> mean = mindspore.tensor(1.0, mindspore.float32)
944
+ >>> lambda_param = mindspore.tensor(1.0, mindspore.float32)
945
+ >>> output = mindspore.ops.laplace(shape, mean, lambda_param, seed=5)
1037
946
  >>> print(output.shape)
1038
947
  (2, 3)
1039
948
  """
@@ -1056,56 +965,47 @@ def gamma(shape, alpha, beta, seed=None):
1056
965
  r"""
1057
966
  Generates random numbers according to the Gamma random number distribution.
1058
967
 
968
+ Support broadcasting.
969
+
1059
970
  .. warning::
1060
971
  The Ascend backend does not support the reproducibility of random numbers, so
1061
972
  the `seed` parameter has no effect.
1062
973
 
1063
974
  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`` .
975
+ shape (tuple): The shape specified.
976
+ alpha (Tensor): The shape parameter.
977
+ beta (Tensor): The inverse scale parameter.
978
+ seed (int, optional): The random seed, Default ``None`` .
1069
979
 
1070
980
  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.
981
+ Tensor
1080
982
 
1081
983
  Supported Platforms:
1082
984
  ``Ascend``
1083
985
 
1084
986
  Examples:
1085
987
  >>> import mindspore
1086
- >>> import numpy as np
1087
- >>> from mindspore import Tensor, ops
1088
988
  >>> # case 1: alpha_shape is (2, 2)
1089
989
  >>> 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)
990
+ >>> alpha = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
991
+ >>> beta = mindspore.tensor([1.0], mindspore.float32)
992
+ >>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
1093
993
  >>> result = output.shape
1094
994
  >>> print(result)
1095
995
  (3, 2, 2)
1096
996
  >>> # case 2: alpha_shape is (2, 3), so shape is (3, 1, 3)
1097
997
  >>> 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)
998
+ >>> alpha = mindspore.tensor([[1, 3, 4], [2, 5, 6]]), mindspore.float32)
999
+ >>> beta = mindspore.tensor([1.0], mindspore.float32)
1000
+ >>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
1101
1001
  >>> result = output.shape
1102
1002
  >>> print(result)
1103
1003
  (3, 2, 3)
1104
1004
  >>> # case 3: beta_shape is (1, 2), the output is different.
1105
1005
  >>> 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)
1006
+ >>> alpha = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
1007
+ >>> beta = mindspore.tensor([1.0, 2], mindspore.float32)
1008
+ >>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
1109
1009
  >>> print(output)
1110
1010
  [[[ 2.2132034 5.8855834]
1111
1011
  [ 3.8825176 8.6066265]]
@@ -1115,9 +1015,9 @@ def gamma(shape, alpha, beta, seed=None):
1115
1015
  [ 3.786061 5.160872 ]]]
1116
1016
  >>> # case 4: beta_shape is (2, 1), the output is different.
1117
1017
  >>> 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)
1018
+ >>> alpha = mindspore.tensor([[3, 4], [5, 6]], mindspore.float32)
1019
+ >>> beta = mindspore.tensor([[1.0], [2.0]], mindspore.float32)
1020
+ >>> output = mindspore.ops.gamma(shape, alpha, beta, seed=5)
1121
1021
  >>> print(output)
1122
1022
  [[[ 5.6085486 7.8280783]
1123
1023
  [ 15.97684 16.116285]]
@@ -1160,35 +1060,29 @@ def _generate_shapes(shape):
1160
1060
  @_function_forbid_reuse
1161
1061
  def rand(*size, dtype=None, seed=None):
1162
1062
  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.
1063
+ Return a new tensor that fills numbers from the uniform distribution over an interval :math:`[0, 1)`
1064
+ based on the given `size` and `dtype`.
1165
1065
 
1166
1066
  .. warning::
1167
1067
  The Ascend backend does not support the reproducibility of random numbers, so
1168
1068
  the `seed` parameter has no effect.
1169
1069
 
1170
1070
  Args:
1171
- size (Union[int, tuple(int), list(int)]): Shape of the new tensor, e.g. :math:`(2, 3)` or :math:`2`.
1071
+ size (Union[int, tuple(int), list(int)]): The shape of the output tensor.
1172
1072
 
1173
1073
  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.
1074
+ dtype (:class:`mindspore.dtype`, optional): The data type returned. Default ``None`` .
1075
+ seed (int, optional): Random seed, must be greater or equal to 0. Default ``None`` .
1177
1076
 
1178
1077
  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.
1078
+ Tensor
1185
1079
 
1186
1080
  Supported Platforms:
1187
1081
  ``Ascend`` ``GPU`` ``CPU``
1188
1082
 
1189
1083
  Examples:
1190
- >>> from mindspore import ops
1191
- >>> print(ops.rand((2,3)))
1084
+ >>> import mindspore
1085
+ >>> print(mindspore.ops.rand((2,3)))
1192
1086
  [[4.1702199e-01 9.9718481e-01 7.2032452e-01]
1193
1087
  [9.3255734e-01 1.1438108e-04 1.2812445e-01]]
1194
1088
  """
@@ -1208,37 +1102,31 @@ def rand(*size, dtype=None, seed=None):
1208
1102
  @_function_forbid_reuse
1209
1103
  def rand_like(input, seed=None, *, dtype=None):
1210
1104
  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.
1105
+ Return a tensor with the same shape as `input` that is filled with random numbers from a uniform distribution
1106
+ on the interval :math:`[0, 1)`.
1213
1107
 
1214
1108
  .. warning::
1215
1109
  The Ascend backend does not support the reproducibility of random numbers, so
1216
1110
  the `seed` parameter has no effect.
1217
1111
 
1218
1112
  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.
1113
+ input (Tensor): The input tensor.
1114
+ seed (int, optional): Random seed, must be greater or equal to 0. Default ``None`` .
1221
1115
 
1222
1116
  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`` .
1117
+ dtype (:class:`mindspore.dtype`, optional): The data type returned.
1118
+ Default ``None`` .
1225
1119
 
1226
1120
  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.
1121
+ Tensor
1233
1122
 
1234
1123
  Supported Platforms:
1235
1124
  ``Ascend`` ``GPU`` ``CPU``
1236
1125
 
1237
1126
  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))
1127
+ >>> import mindspore
1128
+ >>> a = mindspore.tensor([[2, 3, 4], [1, 2, 3]])
1129
+ >>> print(mindspore.ops.rand_like(a, dtype=mindspore.float32))
1242
1130
  [[4.1702199e-01 9.9718481e-01 7.2032452e-01]
1243
1131
  [9.3255734e-01 1.1438108e-04 1.2812445e-01]]
1244
1132
  """
@@ -1270,7 +1158,7 @@ def rand_ext(*size, generator=None, dtype=None):
1270
1158
  Keyword Args:
1271
1159
  generator (:class:`mindspore.Generator`, optional): a pseudorandom number generator.
1272
1160
  Default: ``None``, uses the default pseudorandom number generator.
1273
- dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype. If None,
1161
+ dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype. If ``None``,
1274
1162
  `mindspore.float32` will be applied. Default: ``None`` .
1275
1163
 
1276
1164
  Returns:
@@ -1384,7 +1272,7 @@ def randn_like_ext(input, *, dtype=None):
1384
1272
  input (Tensor): Input Tensor to specify the output shape and its default dtype.
1385
1273
 
1386
1274
  Keyword Args:
1387
- dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype, it must be float type. If None,
1275
+ dtype (:class:`mindspore.dtype`, optional): Designated Tensor dtype, it must be float type. If ``None``,
1388
1276
  the same dtype of `input` will be applied. Default: ``None`` .
1389
1277
 
1390
1278
  Returns:
@@ -1551,7 +1439,7 @@ def random_(input, from_=0, to=None, *, generator=None):
1551
1439
  @_function_forbid_reuse
1552
1440
  def randn(*size, dtype=None, seed=None):
1553
1441
  r"""
1554
- Returns a new Tensor with given shape and dtype, filled with a sample (or samples)
1442
+ Return a new tensor with given shape and dtype, filled with random numbers
1555
1443
  from the standard normal distribution.
1556
1444
 
1557
1445
  .. warning::
@@ -1559,28 +1447,22 @@ def randn(*size, dtype=None, seed=None):
1559
1447
  the `seed` parameter has no effect.
1560
1448
 
1561
1449
  Args:
1562
- size (Union[int, tuple(int), list(int)]): Shape of the new tensor, e.g., :math:`(2, 3)` or :math:`2`.
1450
+ size (Union[int, tuple(int), list(int)]): Shape of the output tensor.
1563
1451
 
1564
1452
  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.
1453
+ dtype (:class:`mindspore.dtype`, optional): The data type returned.
1454
+ Default ``None`` .
1455
+ seed (int, optional): Random seed, must be non-negative. Default ``None`` .
1568
1456
 
1569
1457
  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.
1458
+ Tensor
1577
1459
 
1578
1460
  Supported Platforms:
1579
1461
  ``Ascend`` ``GPU`` ``CPU``
1580
1462
 
1581
1463
  Examples:
1582
- >>> from mindspore import ops
1583
- >>> print(ops.randn((2, 2)))
1464
+ >>> import mindspore
1465
+ >>> print(mindspore.ops.randn((2, 2)))
1584
1466
  [[ 0.30639967 -0.42438635]
1585
1467
  [-0.4287376 1.3054721 ]]
1586
1468
  """
@@ -1600,7 +1482,7 @@ def randn(*size, dtype=None, seed=None):
1600
1482
  @_function_forbid_reuse
1601
1483
  def randn_like(input, seed=None, *, dtype=None):
1602
1484
  r"""
1603
- Returns a new Tensor with given shape and dtype, filled with a sample (or samples) from the standard normal
1485
+ Return a tensor with the same shape as `input`, filled with random numbers from the standard normal
1604
1486
  distribution.
1605
1487
 
1606
1488
  .. warning::
@@ -1608,29 +1490,22 @@ def randn_like(input, seed=None, *, dtype=None):
1608
1490
  the `seed` parameter has no effect.
1609
1491
 
1610
1492
  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.
1493
+ input (Tensor): The input tensor.
1494
+ seed (int, optional): Random seed, must be non-negative. Default ``None`` .
1613
1495
 
1614
1496
  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`` .
1497
+ dtype (:class:`mindspore.dtype`, optional): The data type returned. Default ``None`` .
1617
1498
 
1618
1499
  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`.
1500
+ Tensor
1625
1501
 
1626
1502
  Supported Platforms:
1627
1503
  ``Ascend`` ``GPU`` ``CPU``
1628
1504
 
1629
1505
  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))
1506
+ >>> import mindspore
1507
+ >>> a = mindspore.tensor([[1, 2, 3], [4, 5, 6]])
1508
+ >>> print(mindspore.ops.randn_like(a, dtype=mindspore.float32))
1634
1509
  [[ 0.30639967 -0.42438635 -0.20454668]
1635
1510
  [-0.4287376 1.3054721 0.64747655]]
1636
1511
  """
@@ -1653,7 +1528,7 @@ def randn_like(input, seed=None, *, dtype=None):
1653
1528
  @_function_forbid_reuse
1654
1529
  def randint(low, high, size, seed=None, *, dtype=None):
1655
1530
  r"""
1656
- Returns a Tensor whose elements are random integers in the range of [ `low` , `high` ) .
1531
+ Return a tensor whose elements are random integers in the range of [ `low` , `high` ) .
1657
1532
 
1658
1533
  .. warning::
1659
1534
  The Ascend backend does not support the reproducibility of random numbers, so
@@ -1662,30 +1537,22 @@ def randint(low, high, size, seed=None, *, dtype=None):
1662
1537
  Args:
1663
1538
  low (int): Start value of interval.
1664
1539
  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.
1540
+ size (tuple): Shape of the output tensor.
1541
+ seed (int, optional): Random seed, must be non-negative. Default ``None`` .
1667
1542
 
1668
1543
  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`` .
1544
+ dtype (:class:`mindspore.dtype`, optional): The data type returned.
1545
+ Default ``None`` .
1671
1546
 
1672
1547
  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
-
1548
+ Tensor
1682
1549
 
1683
1550
  Supported Platforms:
1684
1551
  ``Ascend`` ``GPU`` ``CPU``
1685
1552
 
1686
1553
  Examples:
1687
- >>> from mindspore import ops
1688
- >>> print(ops.randint(1, 10, (2,3)))
1554
+ >>> import mindspore
1555
+ >>> print(mindspore.ops.randint(1, 10, (2,3)))
1689
1556
  [[4 9 7]
1690
1557
  [9 1 2]]
1691
1558
  """
@@ -1715,7 +1582,7 @@ def randint(low, high, size, seed=None, *, dtype=None):
1715
1582
  @_function_forbid_reuse
1716
1583
  def randint_like(input, low, high, seed=None, *, dtype=None):
1717
1584
  r"""
1718
- Returns a tensor with the same shape as Tensor `input` whose elements are random integers in the range
1585
+ Returns a tensor with the same shape as `input` whose elements are random integers in the range
1719
1586
  of [ `low` , `high` ) .
1720
1587
 
1721
1588
  .. warning::
@@ -1723,31 +1590,25 @@ def randint_like(input, low, high, seed=None, *, dtype=None):
1723
1590
  the `seed` parameter has no effect.
1724
1591
 
1725
1592
  Args:
1726
- input (Tensor): Input Tensor to specify the output shape and its default dtype.
1593
+ input (Tensor): The input tensor.
1727
1594
  low(int): Start value of interval.
1728
1595
  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.
1596
+ seed (int, optional): Random seed, must be non-negative. Default ``None`` .
1730
1597
 
1731
1598
  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`` .
1599
+ dtype (:class:`mindspore.dtype`, optional): The data type returned.
1600
+ Default ``None`` .
1734
1601
 
1735
1602
  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`.
1603
+ Tensor
1743
1604
 
1744
1605
  Supported Platforms:
1745
1606
  ``Ascend`` ``GPU`` ``CPU``
1746
1607
 
1747
1608
  Examples:
1748
- >>> from mindspore import Tensor, ops
1749
- >>> a = Tensor([[1, 2, 3], [3, 2, 1]])
1750
- >>> print(ops.randint_like(a, 1, 10))
1609
+ >>> import mindspore
1610
+ >>> a = mindspore.tensor([[1, 2, 3], [3, 2, 1]])
1611
+ >>> print(mindspore.ops.randint_like(a, 1, 10))
1751
1612
  [[4 9 7]
1752
1613
  [9 1 2]]
1753
1614
  """
@@ -1876,27 +1737,26 @@ def poisson(shape, mean, seed=None):
1876
1737
  @_function_forbid_reuse
1877
1738
  def multinomial(input, num_samples, replacement=True, seed=None):
1878
1739
  r"""
1879
- Returns a tensor sampled from the multinomial probability distribution located in the corresponding
1880
- row of the input tensor.
1740
+ Generate a tensor from a multinomial distribution.
1881
1741
 
1882
1742
  The polynomial distribution is a probability distribution that generalizes the binomial distribution formula to
1883
1743
  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
1744
+ probabilities is 1.
1745
+
1746
+ The purpose of this interface is to perform `num_samples` sampling
1886
1747
  on the input `input`, and the output tensor is the index of the input tensor for each sampling.
1887
1748
  The values in `input` represent the probability of selecting the corresponding index for each sampling.
1888
1749
 
1889
1750
  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,
1751
+ values `[90 / 100, 10 / 100, 0]`, which means we can sample three indices,
1891
1752
  namely index 0, index 1, and index 2, with probabilities of 90%, 10%, and 0%, respectively. We perform n samplings,
1892
1753
  and the resulting sequence is the calculation result of the polynomial distribution, with a length equal to the
1893
1754
  number of samplings.
1894
1755
 
1895
1756
  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]`.
1757
+ Since the probability of selecting index 0 is 90% for each sampling, the first result is most likely to be index 0.
1758
+ Since the probability of selecting index 2 is 0, index 2 cannot appear in the sampling result. Therefore, the
1759
+ second result must be index 1, and the resulting sequence is `[0, 1]`.
1900
1760
 
1901
1761
  In case 2 of the sample code, we perform 10 replacement samplings (`replacement` is `True`).
1902
1762
  As expected, about 90% of the sampling results are index 0.
@@ -1914,59 +1774,42 @@ def multinomial(input, num_samples, replacement=True, seed=None):
1914
1774
  the `seed` parameter has no effect.
1915
1775
 
1916
1776
  Args:
1917
- input (Tensor): The input tensor containing probabilities, must be 1 or 2 dimensions, with
1918
- float32 data type.
1777
+ input (Tensor): The input tensor containing probabilities.
1919
1778
  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`` .
1779
+ replacement (bool, optional): Whether to draw with replacement or not. Default ``True`` .
1780
+ seed (int, optional): Random seed. Default ``None`` .
1923
1781
 
1924
1782
  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.
1783
+ Tensor
1932
1784
 
1933
1785
  Supported Platforms:
1934
1786
  ``Ascend`` ``GPU`` ``CPU``
1935
1787
 
1936
1788
  Examples:
1937
1789
  >>> import mindspore
1938
- >>> from mindspore import Tensor, ops
1939
- >>> from mindspore import dtype as mstype
1940
1790
  >>> # case 1: The output is random, and the length of the output is the same as num_sample.
1941
1791
  >>> # replacement is False.
1942
- >>> input1 = Tensor([90 / 100, 10 / 100, 0], mindspore.float32)
1943
- >>> input2 = Tensor([90, 10, 0], mindspore.float32)
1792
+ >>> input1 = mindspore.tensor([90 / 100, 10 / 100, 0])
1793
+ >>> input2 = mindspore.tensor([90, 10, 0])
1944
1794
  >>> # 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
1795
+ >>> mindspore.ops.multinomial(input1, 2, replacement=False)
1796
+ Tensor(shape=[2], dtype=Int32, value= [0, 1])
1797
+ >>> mindspore.ops.multinomial(input2, 2, replacement=False)
1798
+ Tensor(shape=[2], dtype=Int32, value= [1, 0])
1799
+ >>>
1955
1800
  >>> # case 2: The output is random, and the length of the output is the same as num_sample.
1956
1801
  >>> # 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
1802
+ >>> mindspore.ops.multinomial(input1, 10)
1803
+ Tensor(shape=[10], dtype=Int32, value= [0, 0, 1, 0, 0, 0, 0, 0, 0, 0])
1804
+ >>>
1962
1805
  >>> # case 3: The output is random, and the length of the output is the same as num_sample.
1963
1806
  >>> # replacement is True.
1964
1807
  >>> # 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]]
1808
+ >>> input3 = mindspore.tensor([[90, 10, 0], [10, 90, 0]], mindspore.float32)
1809
+ >>> output = mindspore.ops.multinomial(input3, 10)
1810
+ >>> print(output)
1811
+ [[0 0 0 0 0 0 0 0 0 0]
1812
+ [1 0 1 1 1 1 1 1 1 1]]
1970
1813
  """
1971
1814
  def _check_valid_dim(dim, name):
1972
1815
  if dim not in (1, 2):