mindspore 2.2.14__cp39-cp39-win_amd64.whl → 2.4.0__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 (1217) 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 +8 -5
  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/_checkparam.py +124 -25
  9. mindspore/_extends/builtin_operations.py +2 -1
  10. mindspore/_extends/graph_kernel/model/graph_parallel.py +16 -6
  11. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +3 -16
  12. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +16 -4
  13. mindspore/_extends/parallel_compile/akg_compiler/compiler.py +1 -0
  14. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +96 -0
  15. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +2 -1
  16. mindspore/_extends/parallel_compile/akg_compiler/util.py +5 -2
  17. mindspore/_extends/parse/__init__.py +18 -14
  18. mindspore/_extends/parse/compile_config.py +299 -0
  19. mindspore/_extends/parse/namespace.py +2 -2
  20. mindspore/_extends/parse/parser.py +182 -68
  21. mindspore/_extends/parse/resources.py +45 -14
  22. mindspore/_extends/parse/standard_method.py +192 -252
  23. mindspore/{ops/_op_impl/tbe/atomic_addr_clean.py → _extends/pijit/__init__.py} +6 -16
  24. mindspore/_extends/pijit/pijit_func_white_list.py +669 -0
  25. mindspore/_extends/remote/kernel_build_server.py +2 -0
  26. mindspore/_profiler.py +30 -0
  27. mindspore/amp.py +67 -26
  28. mindspore/atlprov.dll +0 -0
  29. mindspore/avcodec-59.dll +0 -0
  30. mindspore/avdevice-59.dll +0 -0
  31. mindspore/avfilter-8.dll +0 -0
  32. mindspore/avformat-59.dll +0 -0
  33. mindspore/avutil-57.dll +0 -0
  34. mindspore/boost/adasum.py +1 -1
  35. mindspore/boost/base.py +1 -1
  36. mindspore/boost/boost_cell_wrapper.py +2 -2
  37. mindspore/boost/grad_freeze.py +2 -2
  38. mindspore/boost/group_loss_scale_manager.py +1 -1
  39. mindspore/boost/less_batch_normalization.py +9 -6
  40. mindspore/c1.dll +0 -0
  41. mindspore/c1xx.dll +0 -0
  42. mindspore/c2.dll +0 -0
  43. mindspore/common/__init__.py +20 -7
  44. mindspore/common/_jit_fallback_utils.py +2 -3
  45. mindspore/common/_pijit_context.py +190 -0
  46. mindspore/common/_register_for_adapter.py +7 -0
  47. mindspore/common/_register_for_recompute.py +48 -0
  48. mindspore/common/_register_for_tensor.py +10 -10
  49. mindspore/common/_stub_tensor.py +7 -1
  50. mindspore/common/_tensor_overload.py +139 -0
  51. mindspore/common/_utils.py +5 -17
  52. mindspore/common/api.py +449 -129
  53. mindspore/common/auto_dynamic_shape.py +27 -14
  54. mindspore/common/dtype.py +17 -10
  55. mindspore/common/dump.py +8 -11
  56. mindspore/common/file_system.py +48 -0
  57. mindspore/common/generator.py +254 -0
  58. mindspore/common/hook_handle.py +65 -30
  59. mindspore/common/initializer.py +1 -1
  60. mindspore/common/jit_config.py +34 -14
  61. mindspore/common/lazy_inline.py +72 -19
  62. mindspore/common/mindir_util.py +12 -2
  63. mindspore/common/mutable.py +79 -14
  64. mindspore/common/no_inline.py +54 -0
  65. mindspore/common/np_dtype.py +25 -0
  66. mindspore/common/parameter.py +73 -21
  67. mindspore/common/recompute.py +292 -0
  68. mindspore/common/seed.py +9 -9
  69. mindspore/common/sparse_tensor.py +276 -24
  70. mindspore/common/symbol.py +122 -0
  71. mindspore/common/tensor.py +668 -514
  72. mindspore/communication/__init__.py +6 -11
  73. mindspore/communication/_comm_helper.py +43 -3
  74. mindspore/communication/comm_func.py +1395 -0
  75. mindspore/communication/management.py +117 -104
  76. mindspore/config/op_info.config +22 -54
  77. mindspore/context.py +455 -71
  78. mindspore/dataset/__init__.py +5 -5
  79. mindspore/dataset/audio/__init__.py +6 -6
  80. mindspore/dataset/audio/transforms.py +711 -158
  81. mindspore/dataset/callback/ds_callback.py +2 -2
  82. mindspore/dataset/core/config.py +7 -0
  83. mindspore/dataset/core/validator_helpers.py +7 -0
  84. mindspore/dataset/engine/cache_client.py +2 -2
  85. mindspore/dataset/engine/datasets.py +201 -116
  86. mindspore/dataset/engine/datasets_audio.py +14 -14
  87. mindspore/dataset/engine/datasets_standard_format.py +83 -3
  88. mindspore/dataset/engine/datasets_text.py +39 -39
  89. mindspore/dataset/engine/datasets_user_defined.py +230 -141
  90. mindspore/dataset/engine/datasets_vision.py +78 -74
  91. mindspore/dataset/engine/iterators.py +29 -0
  92. mindspore/dataset/engine/obs/util.py +7 -0
  93. mindspore/dataset/engine/offload.py +5 -7
  94. mindspore/dataset/engine/queue.py +138 -66
  95. mindspore/dataset/engine/serializer_deserializer.py +2 -2
  96. mindspore/dataset/engine/validators.py +41 -15
  97. mindspore/dataset/text/__init__.py +2 -5
  98. mindspore/dataset/text/transforms.py +408 -121
  99. mindspore/dataset/text/utils.py +9 -9
  100. mindspore/dataset/transforms/__init__.py +0 -3
  101. mindspore/dataset/transforms/transforms.py +261 -76
  102. mindspore/dataset/utils/browse_dataset.py +9 -9
  103. mindspore/dataset/utils/line_reader.py +2 -0
  104. mindspore/dataset/vision/__init__.py +7 -10
  105. mindspore/dataset/vision/c_transforms.py +10 -10
  106. mindspore/dataset/vision/py_transforms_util.py +1 -1
  107. mindspore/dataset/vision/transforms.py +2844 -549
  108. mindspore/dataset/vision/utils.py +161 -10
  109. mindspore/dataset/vision/validators.py +16 -3
  110. mindspore/dnnl.dll +0 -0
  111. mindspore/dpcmi.dll +0 -0
  112. mindspore/{rewrite/ast_creator_register.py → experimental/es/__init__.py} +5 -20
  113. mindspore/experimental/es/embedding_service.py +883 -0
  114. mindspore/experimental/es/embedding_service_layer.py +581 -0
  115. mindspore/experimental/llm_boost/__init__.py +21 -0
  116. mindspore/experimental/llm_boost/atb/__init__.py +23 -0
  117. mindspore/experimental/llm_boost/atb/boost_base.py +211 -0
  118. mindspore/experimental/llm_boost/atb/llama_boost.py +115 -0
  119. mindspore/experimental/llm_boost/atb/qwen_boost.py +101 -0
  120. mindspore/experimental/llm_boost/register.py +129 -0
  121. mindspore/experimental/llm_boost/utils.py +31 -0
  122. mindspore/experimental/optim/__init__.py +12 -2
  123. mindspore/experimental/optim/adadelta.py +161 -0
  124. mindspore/experimental/optim/adagrad.py +168 -0
  125. mindspore/experimental/optim/adam.py +35 -34
  126. mindspore/experimental/optim/adamax.py +170 -0
  127. mindspore/experimental/optim/adamw.py +124 -15
  128. mindspore/experimental/optim/asgd.py +153 -0
  129. mindspore/experimental/optim/lr_scheduler.py +66 -121
  130. mindspore/experimental/optim/nadam.py +157 -0
  131. mindspore/experimental/optim/optimizer.py +18 -8
  132. mindspore/experimental/optim/radam.py +194 -0
  133. mindspore/experimental/optim/rmsprop.py +154 -0
  134. mindspore/experimental/optim/rprop.py +164 -0
  135. mindspore/experimental/optim/sgd.py +28 -19
  136. mindspore/hal/__init__.py +40 -0
  137. mindspore/hal/_ascend.py +57 -0
  138. mindspore/hal/_base.py +57 -0
  139. mindspore/hal/_cpu.py +56 -0
  140. mindspore/hal/_gpu.py +57 -0
  141. mindspore/hal/contiguous_tensors_handle.py +175 -0
  142. mindspore/hal/device.py +356 -0
  143. mindspore/hal/event.py +179 -0
  144. mindspore/hal/memory.py +326 -0
  145. mindspore/hal/stream.py +357 -0
  146. mindspore/include/api/data_type.h +2 -2
  147. mindspore/include/api/dual_abi_helper.h +16 -3
  148. mindspore/include/api/model.h +4 -3
  149. mindspore/include/api/model_group.h +13 -1
  150. mindspore/include/api/status.h +14 -0
  151. mindspore/include/api/types.h +10 -10
  152. mindspore/include/c_api/model_c.h +173 -0
  153. mindspore/include/c_api/types_c.h +19 -0
  154. mindspore/include/dataset/config.h +2 -2
  155. mindspore/include/dataset/constants.h +2 -2
  156. mindspore/include/dataset/execute.h +3 -5
  157. mindspore/include/dataset/vision.h +58 -2
  158. mindspore/jpeg62.dll +0 -0
  159. mindspore/log.py +3 -3
  160. mindspore/mindrecord/__init__.py +5 -1
  161. mindspore/mindrecord/config.py +809 -0
  162. mindspore/mindrecord/filereader.py +25 -0
  163. mindspore/mindrecord/filewriter.py +138 -103
  164. mindspore/mindrecord/mindpage.py +40 -6
  165. mindspore/mindrecord/shardutils.py +3 -2
  166. mindspore/mindrecord/shardwriter.py +7 -0
  167. mindspore/mindrecord/tools/cifar100_to_mr.py +8 -13
  168. mindspore/mindrecord/tools/cifar10_to_mr.py +9 -15
  169. mindspore/mindrecord/tools/csv_to_mr.py +4 -9
  170. mindspore/mindrecord/tools/imagenet_to_mr.py +3 -8
  171. mindspore/mindrecord/tools/mnist_to_mr.py +7 -12
  172. mindspore/mindrecord/tools/tfrecord_to_mr.py +1 -6
  173. mindspore/mindspore_backend.dll +0 -0
  174. mindspore/mindspore_common.dll +0 -0
  175. mindspore/mindspore_core.dll +0 -0
  176. mindspore/mindspore_glog.dll +0 -0
  177. mindspore/mindspore_np_dtype.dll +0 -0
  178. mindspore/mindspore_ops.dll +0 -0
  179. mindspore/mint/__init__.py +1586 -0
  180. mindspore/mint/distributed/__init__.py +31 -0
  181. mindspore/mint/distributed/distributed.py +254 -0
  182. mindspore/{rewrite/ast_transformers → mint/linalg}/__init__.py +9 -4
  183. mindspore/mint/nn/__init__.py +757 -0
  184. mindspore/mint/nn/functional.py +679 -0
  185. mindspore/mint/nn/layer/__init__.py +39 -0
  186. mindspore/mint/nn/layer/activation.py +133 -0
  187. mindspore/mint/nn/layer/normalization.py +477 -0
  188. mindspore/mint/nn/layer/pooling.py +110 -0
  189. mindspore/mint/optim/__init__.py +24 -0
  190. mindspore/mint/optim/adamw.py +206 -0
  191. mindspore/mint/special/__init__.py +63 -0
  192. mindspore/msobj140.dll +0 -0
  193. mindspore/mspdb140.dll +0 -0
  194. mindspore/mspdbcore.dll +0 -0
  195. mindspore/mspdbst.dll +0 -0
  196. mindspore/mspft140.dll +0 -0
  197. mindspore/msvcdis140.dll +0 -0
  198. mindspore/msvcp140_1.dll +0 -0
  199. mindspore/msvcp140_2.dll +0 -0
  200. mindspore/msvcp140_atomic_wait.dll +0 -0
  201. mindspore/msvcp140_codecvt_ids.dll +0 -0
  202. mindspore/multiprocessing/__init__.py +73 -0
  203. mindspore/nn/cell.py +461 -323
  204. mindspore/nn/dynamic_lr.py +2 -2
  205. mindspore/nn/layer/activation.py +292 -135
  206. mindspore/nn/layer/basic.py +288 -83
  207. mindspore/nn/layer/channel_shuffle.py +3 -16
  208. mindspore/nn/layer/container.py +3 -3
  209. mindspore/nn/layer/conv.py +75 -66
  210. mindspore/nn/layer/embedding.py +221 -45
  211. mindspore/nn/layer/image.py +4 -7
  212. mindspore/nn/layer/math.py +1 -1
  213. mindspore/nn/layer/normalization.py +150 -68
  214. mindspore/nn/layer/padding.py +64 -87
  215. mindspore/nn/layer/pooling.py +175 -12
  216. mindspore/nn/layer/rnn_cells.py +6 -16
  217. mindspore/nn/layer/rnns.py +6 -5
  218. mindspore/nn/layer/thor_layer.py +1 -2
  219. mindspore/nn/layer/timedistributed.py +1 -1
  220. mindspore/nn/layer/transformer.py +55 -53
  221. mindspore/nn/learning_rate_schedule.py +6 -5
  222. mindspore/nn/loss/__init__.py +2 -2
  223. mindspore/nn/loss/loss.py +145 -88
  224. mindspore/nn/optim/__init__.py +2 -1
  225. mindspore/nn/optim/ada_grad.py +4 -2
  226. mindspore/nn/optim/adadelta.py +4 -2
  227. mindspore/nn/optim/adafactor.py +1 -1
  228. mindspore/nn/optim/adam.py +102 -181
  229. mindspore/nn/optim/adamax.py +4 -2
  230. mindspore/nn/optim/adasum.py +3 -3
  231. mindspore/nn/optim/asgd.py +4 -2
  232. mindspore/nn/optim/ftrl.py +31 -61
  233. mindspore/nn/optim/lamb.py +5 -3
  234. mindspore/nn/optim/lars.py +2 -2
  235. mindspore/nn/optim/lazyadam.py +6 -4
  236. mindspore/nn/optim/momentum.py +13 -25
  237. mindspore/nn/optim/optimizer.py +6 -3
  238. mindspore/nn/optim/proximal_ada_grad.py +4 -2
  239. mindspore/nn/optim/rmsprop.py +9 -3
  240. mindspore/nn/optim/rprop.py +4 -2
  241. mindspore/nn/optim/sgd.py +5 -3
  242. mindspore/nn/optim/tft_wrapper.py +127 -0
  243. mindspore/nn/optim/thor.py +2 -2
  244. mindspore/nn/probability/distribution/_utils/custom_ops.py +2 -2
  245. mindspore/nn/probability/distribution/beta.py +2 -2
  246. mindspore/nn/probability/distribution/categorical.py +4 -6
  247. mindspore/nn/probability/distribution/cauchy.py +2 -2
  248. mindspore/nn/probability/distribution/exponential.py +2 -2
  249. mindspore/nn/probability/distribution/geometric.py +1 -1
  250. mindspore/nn/probability/distribution/gumbel.py +2 -2
  251. mindspore/nn/probability/distribution/logistic.py +1 -1
  252. mindspore/nn/probability/distribution/poisson.py +2 -2
  253. mindspore/nn/probability/distribution/uniform.py +2 -2
  254. mindspore/nn/reinforcement/_tensors_queue.py +13 -1
  255. mindspore/nn/wrap/__init__.py +2 -1
  256. mindspore/nn/wrap/cell_wrapper.py +46 -12
  257. mindspore/nn/wrap/grad_reducer.py +148 -8
  258. mindspore/nn/wrap/loss_scale.py +44 -7
  259. mindspore/numpy/__init__.py +2 -0
  260. mindspore/numpy/array_creations.py +67 -68
  261. mindspore/numpy/array_ops.py +70 -66
  262. mindspore/numpy/dtypes.py +3 -3
  263. mindspore/numpy/fft.py +966 -0
  264. mindspore/numpy/logic_ops.py +11 -10
  265. mindspore/numpy/math_ops.py +147 -152
  266. mindspore/numpy/utils.py +3 -0
  267. mindspore/numpy/utils_const.py +4 -4
  268. mindspore/opencv_core452.dll +0 -0
  269. mindspore/opencv_imgcodecs452.dll +0 -0
  270. mindspore/opencv_imgproc452.dll +0 -0
  271. mindspore/ops/__init__.py +9 -6
  272. mindspore/ops/_grad_experimental/grad_array_ops.py +4 -129
  273. mindspore/ops/_grad_experimental/grad_comm_ops.py +135 -36
  274. mindspore/ops/_grad_experimental/grad_math_ops.py +61 -298
  275. mindspore/ops/_grad_experimental/grad_nn_ops.py +0 -53
  276. mindspore/ops/_grad_experimental/grad_quant_ops.py +3 -3
  277. mindspore/ops/_grad_experimental/grad_sparse.py +1 -1
  278. mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
  279. mindspore/ops/_op_impl/__init__.py +0 -1
  280. mindspore/ops/_op_impl/aicpu/gamma.py +2 -0
  281. mindspore/ops/_op_impl/aicpu/generate_eod_mask.py +1 -1
  282. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +1 -3
  283. mindspore/ops/_op_impl/aicpu/poisson.py +2 -0
  284. mindspore/ops/_op_impl/cpu/__init__.py +1 -3
  285. mindspore/ops/_op_impl/cpu/adam.py +2 -2
  286. mindspore/ops/_op_impl/cpu/adam_weight_decay.py +3 -2
  287. mindspore/ops/_op_impl/cpu/maximum_grad.py +16 -14
  288. mindspore/ops/_op_impl/cpu/minimum_grad.py +8 -0
  289. mindspore/ops/_vmap/vmap_array_ops.py +162 -101
  290. mindspore/ops/_vmap/vmap_base.py +8 -1
  291. mindspore/ops/_vmap/vmap_grad_math_ops.py +95 -9
  292. mindspore/ops/_vmap/vmap_grad_nn_ops.py +143 -58
  293. mindspore/ops/_vmap/vmap_image_ops.py +70 -13
  294. mindspore/ops/_vmap/vmap_math_ops.py +147 -59
  295. mindspore/ops/_vmap/vmap_nn_ops.py +292 -117
  296. mindspore/ops/_vmap/vmap_other_ops.py +1 -1
  297. mindspore/ops/auto_generate/__init__.py +31 -0
  298. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +309 -0
  299. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +252 -0
  300. mindspore/ops/auto_generate/gen_arg_handler.py +197 -0
  301. mindspore/ops/auto_generate/gen_extend_func.py +1701 -0
  302. mindspore/ops/auto_generate/gen_ops_def.py +8482 -0
  303. mindspore/ops/auto_generate/gen_ops_prim.py +16704 -0
  304. mindspore/ops/auto_generate/pyboost_inner_prim.py +549 -0
  305. mindspore/ops/composite/__init__.py +5 -2
  306. mindspore/ops/composite/base.py +201 -66
  307. mindspore/ops/composite/math_ops.py +10 -49
  308. mindspore/ops/composite/multitype_ops/_compile_utils.py +192 -618
  309. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +25 -134
  310. mindspore/ops/composite/multitype_ops/add_impl.py +6 -0
  311. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +6 -0
  312. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +6 -0
  313. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +6 -0
  314. mindspore/ops/composite/multitype_ops/div_impl.py +8 -0
  315. mindspore/ops/composite/multitype_ops/equal_impl.py +6 -0
  316. mindspore/ops/composite/multitype_ops/floordiv_impl.py +8 -0
  317. mindspore/ops/composite/multitype_ops/getitem_impl.py +6 -0
  318. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +6 -0
  319. mindspore/ops/composite/multitype_ops/greater_impl.py +6 -0
  320. mindspore/ops/composite/multitype_ops/in_impl.py +8 -2
  321. mindspore/ops/composite/multitype_ops/left_shift_impl.py +6 -0
  322. mindspore/ops/composite/multitype_ops/less_equal_impl.py +6 -0
  323. mindspore/ops/composite/multitype_ops/less_impl.py +6 -0
  324. mindspore/ops/composite/multitype_ops/logic_not_impl.py +6 -0
  325. mindspore/ops/composite/multitype_ops/logical_and_impl.py +6 -0
  326. mindspore/ops/composite/multitype_ops/logical_or_impl.py +6 -0
  327. mindspore/ops/composite/multitype_ops/mod_impl.py +6 -0
  328. mindspore/ops/composite/multitype_ops/mul_impl.py +6 -0
  329. mindspore/ops/composite/multitype_ops/negative_impl.py +9 -3
  330. mindspore/ops/composite/multitype_ops/not_equal_impl.py +6 -0
  331. mindspore/ops/composite/multitype_ops/not_in_impl.py +8 -3
  332. mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -2
  333. mindspore/ops/composite/multitype_ops/pow_impl.py +6 -0
  334. mindspore/ops/composite/multitype_ops/right_shift_impl.py +6 -0
  335. mindspore/ops/composite/multitype_ops/setitem_impl.py +32 -21
  336. mindspore/ops/composite/multitype_ops/sub_impl.py +6 -0
  337. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +6 -3
  338. mindspore/ops/deprecated.py +14 -3
  339. mindspore/ops/function/__init__.py +53 -11
  340. mindspore/ops/function/array_func.py +1269 -1821
  341. mindspore/ops/function/clip_func.py +19 -31
  342. mindspore/ops/function/debug_func.py +114 -5
  343. mindspore/ops/function/fft_func.py +44 -0
  344. mindspore/ops/function/grad/grad_func.py +30 -22
  345. mindspore/ops/function/image_func.py +27 -21
  346. mindspore/ops/function/linalg_func.py +35 -68
  347. mindspore/ops/function/math_func.py +1170 -2697
  348. mindspore/ops/function/nn_func.py +2116 -1128
  349. mindspore/ops/function/other_func.py +8 -8
  350. mindspore/ops/function/parameter_func.py +5 -93
  351. mindspore/ops/function/random_func.py +435 -113
  352. mindspore/ops/function/reshard_func.py +104 -0
  353. mindspore/ops/function/sparse_func.py +4 -4
  354. mindspore/ops/function/sparse_unary_func.py +9 -16
  355. mindspore/ops/function/spectral_func.py +1 -1
  356. mindspore/ops/function/vmap_func.py +16 -15
  357. mindspore/ops/functional.py +355 -346
  358. mindspore/ops/op_info_register.py +18 -45
  359. mindspore/ops/operations/__init__.py +38 -24
  360. mindspore/ops/operations/_grad_ops.py +21 -927
  361. mindspore/ops/operations/_infer_ops.py +19 -0
  362. mindspore/ops/operations/_inner_ops.py +173 -607
  363. mindspore/ops/operations/_rl_inner_ops.py +2 -2
  364. mindspore/ops/operations/_scalar_ops.py +5 -480
  365. mindspore/ops/operations/_sequence_ops.py +6 -36
  366. mindspore/ops/operations/_tensor_array.py +8 -8
  367. mindspore/ops/operations/array_ops.py +106 -2837
  368. mindspore/ops/operations/comm_ops.py +799 -127
  369. mindspore/ops/operations/custom_ops.py +124 -119
  370. mindspore/ops/operations/debug_ops.py +142 -41
  371. mindspore/ops/operations/image_ops.py +1 -217
  372. mindspore/ops/operations/inner_ops.py +5 -40
  373. mindspore/ops/operations/linalg_ops.py +1 -49
  374. mindspore/ops/operations/manually_defined/__init__.py +24 -0
  375. mindspore/ops/operations/manually_defined/_inner.py +73 -0
  376. mindspore/ops/operations/manually_defined/ops_def.py +2271 -0
  377. mindspore/ops/operations/math_ops.py +666 -4972
  378. mindspore/ops/operations/nn_ops.py +205 -2213
  379. mindspore/ops/operations/other_ops.py +60 -49
  380. mindspore/ops/operations/random_ops.py +50 -54
  381. mindspore/ops/operations/reshard_ops.py +53 -0
  382. mindspore/ops/operations/sparse_ops.py +4 -4
  383. mindspore/ops/primitive.py +216 -103
  384. mindspore/ops_generate/__init__.py +27 -0
  385. mindspore/ops_generate/arg_dtype_cast.py +252 -0
  386. mindspore/ops_generate/arg_handler.py +197 -0
  387. mindspore/ops_generate/gen_aclnn_implement.py +263 -0
  388. mindspore/ops_generate/gen_constants.py +36 -0
  389. mindspore/ops_generate/gen_ops.py +1099 -0
  390. mindspore/ops_generate/gen_ops_inner_prim.py +131 -0
  391. mindspore/ops_generate/gen_pyboost_func.py +1052 -0
  392. mindspore/ops_generate/gen_utils.py +209 -0
  393. mindspore/ops_generate/op_proto.py +145 -0
  394. mindspore/ops_generate/pyboost_utils.py +367 -0
  395. mindspore/ops_generate/template.py +261 -0
  396. mindspore/parallel/__init__.py +8 -4
  397. mindspore/parallel/_auto_parallel_context.py +100 -10
  398. mindspore/parallel/_cell_wrapper.py +99 -9
  399. mindspore/parallel/_cost_model_context.py +1 -1
  400. mindspore/parallel/_dp_allreduce_fusion.py +159 -159
  401. mindspore/parallel/_parallel_serialization.py +67 -23
  402. mindspore/parallel/_ps_context.py +1 -1
  403. mindspore/parallel/_recovery_context.py +1 -1
  404. mindspore/parallel/_tensor.py +99 -22
  405. mindspore/parallel/_transformer/__init__.py +1 -1
  406. mindspore/parallel/_transformer/layers.py +1 -1
  407. mindspore/parallel/_transformer/loss.py +1 -1
  408. mindspore/parallel/_transformer/moe.py +1 -1
  409. mindspore/parallel/_transformer/op_parallel_config.py +1 -1
  410. mindspore/parallel/_transformer/transformer.py +2 -2
  411. mindspore/parallel/_utils.py +173 -6
  412. mindspore/parallel/algo_parameter_config.py +8 -10
  413. mindspore/parallel/checkpoint_transform.py +204 -38
  414. mindspore/parallel/cluster/__init__.py +15 -0
  415. mindspore/parallel/cluster/process_entity/__init__.py +18 -0
  416. mindspore/parallel/cluster/process_entity/_api.py +352 -0
  417. mindspore/parallel/cluster/process_entity/_utils.py +101 -0
  418. mindspore/parallel/cluster/run.py +136 -0
  419. mindspore/parallel/mpi/__init__.py +1 -1
  420. mindspore/parallel/mpi/_mpi_config.py +1 -1
  421. mindspore/parallel/parameter_broadcast.py +151 -0
  422. mindspore/parallel/shard.py +279 -37
  423. mindspore/parallel/transform_safetensors.py +993 -0
  424. mindspore/pgodb140.dll +0 -0
  425. mindspore/pgort140.dll +0 -0
  426. mindspore/profiler/__init__.py +4 -2
  427. mindspore/profiler/common/constant.py +29 -0
  428. mindspore/profiler/common/process_pool.py +41 -0
  429. mindspore/profiler/common/registry.py +47 -0
  430. mindspore/profiler/common/singleton.py +28 -0
  431. mindspore/profiler/common/util.py +153 -0
  432. mindspore/profiler/dynamic_profiler.py +694 -0
  433. mindspore/profiler/envprofiling.py +18 -20
  434. mindspore/{_extends/parallel_compile/tbe_compiler → profiler/parser/ascend_analysis}/__init__.py +1 -1
  435. mindspore/profiler/parser/ascend_analysis/constant.py +71 -0
  436. mindspore/profiler/parser/ascend_analysis/file_manager.py +180 -0
  437. mindspore/profiler/parser/ascend_analysis/function_event.py +185 -0
  438. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +136 -0
  439. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +131 -0
  440. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +104 -0
  441. mindspore/profiler/parser/ascend_analysis/path_manager.py +313 -0
  442. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +123 -0
  443. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +86 -0
  444. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +75 -0
  445. mindspore/profiler/parser/ascend_cluster_generator.py +14 -9
  446. mindspore/profiler/parser/ascend_communicate_generator.py +0 -1
  447. mindspore/profiler/parser/ascend_flops_generator.py +20 -4
  448. mindspore/profiler/parser/ascend_hccl_generator.py +29 -278
  449. mindspore/profiler/parser/ascend_integrate_generator.py +42 -0
  450. mindspore/profiler/parser/ascend_memory_generator.py +185 -0
  451. mindspore/profiler/parser/ascend_msprof_exporter.py +148 -146
  452. mindspore/profiler/parser/ascend_msprof_generator.py +73 -283
  453. mindspore/profiler/parser/ascend_op_generator.py +92 -42
  454. mindspore/profiler/parser/ascend_timeline_generator.py +298 -133
  455. mindspore/profiler/parser/base_timeline_generator.py +25 -25
  456. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +25 -12
  457. mindspore/profiler/parser/framework_parser.py +4 -393
  458. mindspore/profiler/parser/gpu_analysis/__init__.py +14 -0
  459. mindspore/profiler/parser/gpu_analysis/function_event.py +44 -0
  460. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +89 -0
  461. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +72 -0
  462. mindspore/profiler/parser/integrator.py +3 -1
  463. mindspore/profiler/parser/memory_usage_parser.py +0 -154
  464. mindspore/profiler/parser/minddata_parser.py +72 -3
  465. mindspore/profiler/parser/profiler_info.py +94 -7
  466. mindspore/profiler/profiler.py +153 -0
  467. mindspore/profiler/profiling.py +631 -508
  468. mindspore/rewrite/__init__.py +2 -14
  469. mindspore/rewrite/api/node.py +122 -36
  470. mindspore/rewrite/api/pattern_engine.py +2 -3
  471. mindspore/rewrite/api/scoped_value.py +16 -15
  472. mindspore/rewrite/api/symbol_tree.py +45 -29
  473. mindspore/rewrite/ast_helpers/__init__.py +3 -6
  474. mindspore/rewrite/ast_helpers/ast_converter.py +143 -0
  475. mindspore/rewrite/ast_helpers/ast_finder.py +48 -0
  476. mindspore/rewrite/ast_helpers/ast_flattener.py +268 -0
  477. mindspore/rewrite/ast_helpers/ast_modifier.py +160 -92
  478. mindspore/rewrite/common/__init__.py +1 -2
  479. mindspore/rewrite/common/config.py +24 -0
  480. mindspore/rewrite/common/{rewrite_elog.py → error_log.py} +39 -39
  481. mindspore/rewrite/{namer.py → common/namer.py} +63 -18
  482. mindspore/rewrite/common/namespace.py +118 -0
  483. mindspore/rewrite/node/__init__.py +5 -5
  484. mindspore/rewrite/node/call_function.py +23 -7
  485. mindspore/rewrite/node/cell_container.py +7 -3
  486. mindspore/rewrite/node/control_flow.py +53 -28
  487. mindspore/rewrite/node/node.py +212 -196
  488. mindspore/rewrite/node/node_manager.py +51 -22
  489. mindspore/rewrite/node/node_topological_manager.py +3 -23
  490. mindspore/rewrite/parsers/__init__.py +12 -0
  491. mindspore/rewrite/parsers/arguments_parser.py +8 -9
  492. mindspore/rewrite/parsers/assign_parser.py +637 -413
  493. mindspore/rewrite/parsers/attribute_parser.py +3 -4
  494. mindspore/rewrite/parsers/class_def_parser.py +115 -148
  495. mindspore/rewrite/parsers/constant_parser.py +5 -5
  496. mindspore/rewrite/parsers/container_parser.py +4 -6
  497. mindspore/rewrite/parsers/expr_parser.py +55 -0
  498. mindspore/rewrite/parsers/for_parser.py +31 -98
  499. mindspore/rewrite/parsers/function_def_parser.py +13 -5
  500. mindspore/rewrite/parsers/if_parser.py +28 -10
  501. mindspore/rewrite/parsers/module_parser.py +8 -182
  502. mindspore/rewrite/parsers/parser.py +1 -5
  503. mindspore/rewrite/parsers/parser_register.py +1 -1
  504. mindspore/rewrite/parsers/return_parser.py +5 -10
  505. mindspore/rewrite/parsers/while_parser.py +59 -0
  506. mindspore/rewrite/sparsify/utils.py +1 -1
  507. mindspore/rewrite/symbol_tree/__init__.py +20 -0
  508. mindspore/rewrite/{symbol_tree.py → symbol_tree/symbol_tree.py} +705 -186
  509. mindspore/rewrite/{symbol_tree_builder.py → symbol_tree/symbol_tree_builder.py} +8 -8
  510. mindspore/rewrite/{symbol_tree_dumper.py → symbol_tree/symbol_tree_dumper.py} +4 -4
  511. mindspore/run_check/_check_version.py +40 -115
  512. mindspore/run_check/run_check.py +1 -1
  513. mindspore/safeguard/rewrite_obfuscation.py +597 -263
  514. mindspore/swresample-4.dll +0 -0
  515. mindspore/swscale-6.dll +0 -0
  516. mindspore/tbbmalloc.dll +0 -0
  517. mindspore/tinyxml2.dll +0 -0
  518. mindspore/train/__init__.py +7 -5
  519. mindspore/train/_utils.py +204 -4
  520. mindspore/train/amp.py +335 -295
  521. mindspore/train/anf_ir_pb2.py +14 -2
  522. mindspore/train/callback/__init__.py +5 -2
  523. mindspore/train/callback/_backup_and_restore.py +5 -5
  524. mindspore/train/callback/_callback.py +4 -4
  525. mindspore/train/callback/_checkpoint.py +220 -43
  526. mindspore/train/callback/_cluster_monitor.py +201 -0
  527. mindspore/train/callback/_early_stop.py +2 -2
  528. mindspore/train/callback/_flops_collector.py +239 -0
  529. mindspore/train/callback/_landscape.py +15 -9
  530. mindspore/train/callback/_loss_monitor.py +5 -5
  531. mindspore/train/callback/_on_request_exit.py +136 -33
  532. mindspore/train/callback/_reduce_lr_on_plateau.py +2 -2
  533. mindspore/train/callback/_summary_collector.py +12 -12
  534. mindspore/train/callback/_tft_register.py +352 -0
  535. mindspore/train/callback/_time_monitor.py +3 -3
  536. mindspore/train/data_sink.py +6 -5
  537. mindspore/train/dataset_helper.py +66 -23
  538. mindspore/train/loss_scale_manager.py +2 -2
  539. mindspore/train/metrics/accuracy.py +7 -7
  540. mindspore/train/metrics/confusion_matrix.py +8 -6
  541. mindspore/train/metrics/cosine_similarity.py +6 -4
  542. mindspore/train/metrics/error.py +2 -2
  543. mindspore/train/metrics/metric.py +3 -3
  544. mindspore/train/metrics/perplexity.py +2 -1
  545. mindspore/train/metrics/roc.py +4 -4
  546. mindspore/train/metrics/topk.py +2 -2
  547. mindspore/train/mind_ir_pb2.py +116 -37
  548. mindspore/train/model.py +382 -76
  549. mindspore/train/serialization.py +787 -288
  550. mindspore/train/summary/_summary_adapter.py +1 -1
  551. mindspore/train/summary/summary_record.py +51 -28
  552. mindspore/train/train_thor/convert_utils.py +3 -3
  553. mindspore/turbojpeg.dll +0 -0
  554. mindspore/utils/__init__.py +21 -0
  555. mindspore/utils/utils.py +60 -0
  556. mindspore/vcmeta.dll +0 -0
  557. mindspore/vcruntime140.dll +0 -0
  558. mindspore/vcruntime140_1.dll +0 -0
  559. mindspore/version.py +1 -1
  560. {mindspore-2.2.14.dist-info → mindspore-2.4.0.dist-info}/METADATA +8 -4
  561. mindspore-2.4.0.dist-info/RECORD +1406 -0
  562. {mindspore-2.2.14.dist-info → mindspore-2.4.0.dist-info}/entry_points.txt +1 -0
  563. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +0 -662
  564. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +0 -377
  565. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +0 -201
  566. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +0 -515
  567. mindspore/gen_ops.py +0 -273
  568. mindspore/include/c_api/ms/abstract.h +0 -67
  569. mindspore/include/c_api/ms/attribute.h +0 -197
  570. mindspore/include/c_api/ms/base/handle_types.h +0 -43
  571. mindspore/include/c_api/ms/base/macros.h +0 -32
  572. mindspore/include/c_api/ms/base/status.h +0 -33
  573. mindspore/include/c_api/ms/base/types.h +0 -282
  574. mindspore/include/c_api/ms/context.h +0 -102
  575. mindspore/include/c_api/ms/graph.h +0 -160
  576. mindspore/include/c_api/ms/node.h +0 -606
  577. mindspore/include/c_api/ms/tensor.h +0 -161
  578. mindspore/include/c_api/ms/value.h +0 -84
  579. mindspore/mindspore_shared_lib.dll +0 -0
  580. mindspore/nn/layer/flash_attention.py +0 -189
  581. mindspore/ops/_op_impl/aicpu/strided_slice_v2.py +0 -93
  582. mindspore/ops/_op_impl/aicpu/strided_slice_v2_grad.py +0 -66
  583. mindspore/ops/_op_impl/cpu/concat.py +0 -39
  584. mindspore/ops/_op_impl/cpu/tensor_shape.py +0 -42
  585. mindspore/ops/_op_impl/tbe/__init__.py +0 -47
  586. mindspore/ops/_op_impl/tbe/abs.py +0 -38
  587. mindspore/ops/_op_impl/tbe/abs_ds.py +0 -39
  588. mindspore/ops/_op_impl/tbe/abs_grad.py +0 -43
  589. mindspore/ops/_op_impl/tbe/abs_grad_ds.py +0 -44
  590. mindspore/ops/_op_impl/tbe/accumulate_n_v2.py +0 -41
  591. mindspore/ops/_op_impl/tbe/accumulate_n_v2_ds.py +0 -42
  592. mindspore/ops/_op_impl/tbe/acos.py +0 -37
  593. mindspore/ops/_op_impl/tbe/acos_ds.py +0 -38
  594. mindspore/ops/_op_impl/tbe/acos_grad.py +0 -43
  595. mindspore/ops/_op_impl/tbe/acos_grad_ds.py +0 -44
  596. mindspore/ops/_op_impl/tbe/acosh.py +0 -37
  597. mindspore/ops/_op_impl/tbe/acosh_ds.py +0 -38
  598. mindspore/ops/_op_impl/tbe/acosh_grad.py +0 -43
  599. mindspore/ops/_op_impl/tbe/acosh_grad_ds.py +0 -44
  600. mindspore/ops/_op_impl/tbe/act_ulq_clamp_max_grad.py +0 -38
  601. mindspore/ops/_op_impl/tbe/act_ulq_clamp_min_grad.py +0 -38
  602. mindspore/ops/_op_impl/tbe/acts_ulq.py +0 -45
  603. mindspore/ops/_op_impl/tbe/acts_ulq_input_grad.py +0 -38
  604. mindspore/ops/_op_impl/tbe/adam_apply_one.py +0 -50
  605. mindspore/ops/_op_impl/tbe/adam_apply_one_assign.py +0 -53
  606. mindspore/ops/_op_impl/tbe/adam_apply_one_ds.py +0 -51
  607. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay.py +0 -54
  608. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay_assign.py +0 -54
  609. mindspore/ops/_op_impl/tbe/adam_apply_one_with_decay_ds.py +0 -55
  610. mindspore/ops/_op_impl/tbe/adaptive_max_pool2d.py +0 -37
  611. mindspore/ops/_op_impl/tbe/add.py +0 -42
  612. mindspore/ops/_op_impl/tbe/add_ds.py +0 -43
  613. mindspore/ops/_op_impl/tbe/add_n.py +0 -39
  614. mindspore/ops/_op_impl/tbe/add_n_ds.py +0 -40
  615. mindspore/ops/_op_impl/tbe/addcdiv.py +0 -41
  616. mindspore/ops/_op_impl/tbe/addcdiv_ds.py +0 -42
  617. mindspore/ops/_op_impl/tbe/addcmul.py +0 -43
  618. mindspore/ops/_op_impl/tbe/addcmul_ds.py +0 -44
  619. mindspore/ops/_op_impl/tbe/apply_ada_max.py +0 -68
  620. mindspore/ops/_op_impl/tbe/apply_ada_max_ds.py +0 -69
  621. mindspore/ops/_op_impl/tbe/apply_adadelta.py +0 -66
  622. mindspore/ops/_op_impl/tbe/apply_adadelta_ds.py +0 -67
  623. mindspore/ops/_op_impl/tbe/apply_adagrad.py +0 -55
  624. mindspore/ops/_op_impl/tbe/apply_adagrad_d_a.py +0 -67
  625. mindspore/ops/_op_impl/tbe/apply_adagrad_ds.py +0 -56
  626. mindspore/ops/_op_impl/tbe/apply_adagrad_v2.py +0 -48
  627. mindspore/ops/_op_impl/tbe/apply_adagrad_v2_ds.py +0 -49
  628. mindspore/ops/_op_impl/tbe/apply_adam.py +0 -79
  629. mindspore/ops/_op_impl/tbe/apply_adam_ds.py +0 -80
  630. mindspore/ops/_op_impl/tbe/apply_adam_with_amsgrad.py +0 -60
  631. mindspore/ops/_op_impl/tbe/apply_adam_with_amsgrad_ds.py +0 -61
  632. mindspore/ops/_op_impl/tbe/apply_add_sign.py +0 -65
  633. mindspore/ops/_op_impl/tbe/apply_add_sign_ds.py +0 -66
  634. mindspore/ops/_op_impl/tbe/apply_centered_rms_prop.py +0 -77
  635. mindspore/ops/_op_impl/tbe/apply_centered_rms_prop_ds.py +0 -78
  636. mindspore/ops/_op_impl/tbe/apply_ftrl.py +0 -67
  637. mindspore/ops/_op_impl/tbe/apply_ftrl_ds.py +0 -68
  638. mindspore/ops/_op_impl/tbe/apply_gradient_descent.py +0 -44
  639. mindspore/ops/_op_impl/tbe/apply_gradient_descent_ds.py +0 -45
  640. mindspore/ops/_op_impl/tbe/apply_keras_momentum.py +0 -49
  641. mindspore/ops/_op_impl/tbe/apply_momentum.py +0 -64
  642. mindspore/ops/_op_impl/tbe/apply_momentum_ds.py +0 -65
  643. mindspore/ops/_op_impl/tbe/apply_power_sign.py +0 -65
  644. mindspore/ops/_op_impl/tbe/apply_power_sign_ds.py +0 -66
  645. mindspore/ops/_op_impl/tbe/apply_proximal_adagrad.py +0 -57
  646. mindspore/ops/_op_impl/tbe/apply_proximal_adagrad_ds.py +0 -58
  647. mindspore/ops/_op_impl/tbe/apply_proximal_gradient_descent.py +0 -54
  648. mindspore/ops/_op_impl/tbe/apply_proximal_gradient_descent_ds.py +0 -55
  649. mindspore/ops/_op_impl/tbe/apply_rms_prop.py +0 -52
  650. mindspore/ops/_op_impl/tbe/approximate_equal.py +0 -39
  651. mindspore/ops/_op_impl/tbe/approximate_equal_ds.py +0 -40
  652. mindspore/ops/_op_impl/tbe/arg_max.py +0 -38
  653. mindspore/ops/_op_impl/tbe/arg_max_with_value.py +0 -38
  654. mindspore/ops/_op_impl/tbe/arg_max_with_value_ds.py +0 -39
  655. mindspore/ops/_op_impl/tbe/arg_min.py +0 -38
  656. mindspore/ops/_op_impl/tbe/arg_min_v2_ds.py +0 -40
  657. mindspore/ops/_op_impl/tbe/arg_min_with_value.py +0 -38
  658. mindspore/ops/_op_impl/tbe/arg_min_with_value_ds.py +0 -39
  659. mindspore/ops/_op_impl/tbe/asin.py +0 -37
  660. mindspore/ops/_op_impl/tbe/asin_ds.py +0 -38
  661. mindspore/ops/_op_impl/tbe/asin_grad.py +0 -43
  662. mindspore/ops/_op_impl/tbe/asin_grad_ds.py +0 -44
  663. mindspore/ops/_op_impl/tbe/asinh.py +0 -37
  664. mindspore/ops/_op_impl/tbe/asinh_ds.py +0 -38
  665. mindspore/ops/_op_impl/tbe/asinh_grad.py +0 -43
  666. mindspore/ops/_op_impl/tbe/asinh_grad_ds.py +0 -44
  667. mindspore/ops/_op_impl/tbe/assign.py +0 -79
  668. mindspore/ops/_op_impl/tbe/assign_add.py +0 -59
  669. mindspore/ops/_op_impl/tbe/assign_add_ds.py +0 -60
  670. mindspore/ops/_op_impl/tbe/assign_ds.py +0 -80
  671. mindspore/ops/_op_impl/tbe/assign_sub.py +0 -55
  672. mindspore/ops/_op_impl/tbe/assign_sub_ds.py +0 -56
  673. mindspore/ops/_op_impl/tbe/atan.py +0 -37
  674. mindspore/ops/_op_impl/tbe/atan2.py +0 -38
  675. mindspore/ops/_op_impl/tbe/atan2_ds.py +0 -39
  676. mindspore/ops/_op_impl/tbe/atan_ds.py +0 -38
  677. mindspore/ops/_op_impl/tbe/atan_grad.py +0 -43
  678. mindspore/ops/_op_impl/tbe/atan_grad_ds.py +0 -44
  679. mindspore/ops/_op_impl/tbe/atanh.py +0 -37
  680. mindspore/ops/_op_impl/tbe/atanh_ds.py +0 -38
  681. mindspore/ops/_op_impl/tbe/avg_pool.py +0 -43
  682. mindspore/ops/_op_impl/tbe/avg_pool_3d.py +0 -44
  683. mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +0 -45
  684. mindspore/ops/_op_impl/tbe/avg_pool_ds.py +0 -44
  685. mindspore/ops/_op_impl/tbe/avg_pool_grad.py +0 -42
  686. mindspore/ops/_op_impl/tbe/avg_pool_grad_vm.py +0 -42
  687. mindspore/ops/_op_impl/tbe/basic_lstm_cell.py +0 -57
  688. mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad.py +0 -50
  689. mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad_v2.py +0 -51
  690. mindspore/ops/_op_impl/tbe/basic_lstm_cell_input_grad.py +0 -42
  691. mindspore/ops/_op_impl/tbe/basic_lstm_cell_weight_grad.py +0 -41
  692. mindspore/ops/_op_impl/tbe/batch_matmul.py +0 -42
  693. mindspore/ops/_op_impl/tbe/batch_matmul_ds.py +0 -41
  694. mindspore/ops/_op_impl/tbe/batch_matmul_v2.py +0 -47
  695. mindspore/ops/_op_impl/tbe/batch_to_space.py +0 -38
  696. mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +0 -38
  697. mindspore/ops/_op_impl/tbe/batch_to_space_nd_ds.py +0 -39
  698. mindspore/ops/_op_impl/tbe/batch_to_space_nd_v2.py +0 -41
  699. mindspore/ops/_op_impl/tbe/batchnorm.py +0 -58
  700. mindspore/ops/_op_impl/tbe/batchnorm_grad.py +0 -58
  701. mindspore/ops/_op_impl/tbe/bce_with_logits_loss.py +0 -42
  702. mindspore/ops/_op_impl/tbe/bessel_i0e.py +0 -37
  703. mindspore/ops/_op_impl/tbe/bessel_i0e_ds.py +0 -38
  704. mindspore/ops/_op_impl/tbe/bessel_i1e.py +0 -37
  705. mindspore/ops/_op_impl/tbe/bessel_i1e_ds.py +0 -38
  706. mindspore/ops/_op_impl/tbe/bias_add.py +0 -38
  707. mindspore/ops/_op_impl/tbe/bias_add_ds.py +0 -39
  708. mindspore/ops/_op_impl/tbe/bias_add_grad.py +0 -53
  709. mindspore/ops/_op_impl/tbe/binary_cross_entropy.py +0 -39
  710. mindspore/ops/_op_impl/tbe/binary_cross_entropy_ds.py +0 -40
  711. mindspore/ops/_op_impl/tbe/binary_cross_entropy_grad.py +0 -44
  712. mindspore/ops/_op_impl/tbe/binary_cross_entropy_grad_ds.py +0 -45
  713. mindspore/ops/_op_impl/tbe/bitwise_and.py +0 -39
  714. mindspore/ops/_op_impl/tbe/bitwise_and_ds.py +0 -40
  715. mindspore/ops/_op_impl/tbe/bitwise_or.py +0 -39
  716. mindspore/ops/_op_impl/tbe/bitwise_or_ds.py +0 -40
  717. mindspore/ops/_op_impl/tbe/bitwise_xor.py +0 -39
  718. mindspore/ops/_op_impl/tbe/bitwise_xor_ds.py +0 -40
  719. mindspore/ops/_op_impl/tbe/bn_infer.py +0 -43
  720. mindspore/ops/_op_impl/tbe/bn_infer_ds.py +0 -45
  721. mindspore/ops/_op_impl/tbe/bn_infer_grad.py +0 -41
  722. mindspore/ops/_op_impl/tbe/bn_infer_grad_ds.py +0 -40
  723. mindspore/ops/_op_impl/tbe/bn_inference.py +0 -50
  724. mindspore/ops/_op_impl/tbe/bn_training_reduce.py +0 -38
  725. mindspore/ops/_op_impl/tbe/bn_training_reduce_ds.py +0 -39
  726. mindspore/ops/_op_impl/tbe/bn_training_reduce_grad.py +0 -46
  727. mindspore/ops/_op_impl/tbe/bn_training_reduce_grad_ds.py +0 -47
  728. mindspore/ops/_op_impl/tbe/bn_training_update.py +0 -52
  729. mindspore/ops/_op_impl/tbe/bn_training_update_ds.py +0 -53
  730. mindspore/ops/_op_impl/tbe/bn_training_update_grad.py +0 -44
  731. mindspore/ops/_op_impl/tbe/bn_training_update_grad_ds.py +0 -45
  732. mindspore/ops/_op_impl/tbe/bn_training_update_v2.py +0 -48
  733. mindspore/ops/_op_impl/tbe/bn_training_update_v3.py +0 -51
  734. mindspore/ops/_op_impl/tbe/bounding_box_decode.py +0 -41
  735. mindspore/ops/_op_impl/tbe/bounding_box_decode_ds.py +0 -42
  736. mindspore/ops/_op_impl/tbe/bounding_box_encode.py +0 -38
  737. mindspore/ops/_op_impl/tbe/broadcast_to.py +0 -40
  738. mindspore/ops/_op_impl/tbe/broadcast_to_ds.py +0 -44
  739. mindspore/ops/_op_impl/tbe/cast.py +0 -55
  740. mindspore/ops/_op_impl/tbe/cast_ds.py +0 -58
  741. mindspore/ops/_op_impl/tbe/cdist.py +0 -38
  742. mindspore/ops/_op_impl/tbe/cdist_grad.py +0 -42
  743. mindspore/ops/_op_impl/tbe/ceil.py +0 -37
  744. mindspore/ops/_op_impl/tbe/ceil_ds.py +0 -38
  745. mindspore/ops/_op_impl/tbe/celu.py +0 -39
  746. mindspore/ops/_op_impl/tbe/centralization.py +0 -39
  747. mindspore/ops/_op_impl/tbe/check_valid.py +0 -38
  748. mindspore/ops/_op_impl/tbe/check_valid_ds.py +0 -39
  749. mindspore/ops/_op_impl/tbe/clip_by_norm_no_div_sum.py +0 -41
  750. mindspore/ops/_op_impl/tbe/clip_by_norm_no_div_sum_ds.py +0 -42
  751. mindspore/ops/_op_impl/tbe/clip_by_value.py +0 -41
  752. mindspore/ops/_op_impl/tbe/clip_by_value_ds.py +0 -42
  753. mindspore/ops/_op_impl/tbe/concat.py +0 -40
  754. mindspore/ops/_op_impl/tbe/concat_ds.py +0 -38
  755. mindspore/ops/_op_impl/tbe/confusion_matrix.py +0 -63
  756. mindspore/ops/_op_impl/tbe/confusion_mul_grad.py +0 -40
  757. mindspore/ops/_op_impl/tbe/confusion_softmax_grad.py +0 -41
  758. mindspore/ops/_op_impl/tbe/confusion_transpose_d.py +0 -39
  759. mindspore/ops/_op_impl/tbe/conv2d.py +0 -47
  760. mindspore/ops/_op_impl/tbe/conv2d_backprop_filter.py +0 -42
  761. mindspore/ops/_op_impl/tbe/conv2d_backprop_filter_ds.py +0 -43
  762. mindspore/ops/_op_impl/tbe/conv2d_backprop_input.py +0 -42
  763. mindspore/ops/_op_impl/tbe/conv2d_backprop_input_ds.py +0 -44
  764. mindspore/ops/_op_impl/tbe/conv2d_ds.py +0 -47
  765. mindspore/ops/_op_impl/tbe/conv2d_transpose.py +0 -48
  766. mindspore/ops/_op_impl/tbe/conv3d.py +0 -45
  767. mindspore/ops/_op_impl/tbe/conv3d_backprop_filter.py +0 -42
  768. mindspore/ops/_op_impl/tbe/conv3d_backprop_input.py +0 -42
  769. mindspore/ops/_op_impl/tbe/conv3d_transpose.py +0 -47
  770. mindspore/ops/_op_impl/tbe/conv3d_transpose_ds.py +0 -48
  771. mindspore/ops/_op_impl/tbe/cos.py +0 -37
  772. mindspore/ops/_op_impl/tbe/cos_ds.py +0 -38
  773. mindspore/ops/_op_impl/tbe/cosh.py +0 -37
  774. mindspore/ops/_op_impl/tbe/cosh_ds.py +0 -38
  775. mindspore/ops/_op_impl/tbe/ctc_loss_v2.py +0 -42
  776. mindspore/ops/_op_impl/tbe/ctc_loss_v2_grad.py +0 -44
  777. mindspore/ops/_op_impl/tbe/cum_sum.py +0 -42
  778. mindspore/ops/_op_impl/tbe/cum_sum_ds.py +0 -44
  779. mindspore/ops/_op_impl/tbe/cummin.py +0 -41
  780. mindspore/ops/_op_impl/tbe/cumprod.py +0 -42
  781. mindspore/ops/_op_impl/tbe/data_format_dim_map.py +0 -38
  782. mindspore/ops/_op_impl/tbe/data_format_dim_map_ds.py +0 -40
  783. mindspore/ops/_op_impl/tbe/deformable_offsets.py +0 -45
  784. mindspore/ops/_op_impl/tbe/deformable_offsets_grad.py +0 -48
  785. mindspore/ops/_op_impl/tbe/depth_to_space_ds.py +0 -49
  786. mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +0 -44
  787. mindspore/ops/_op_impl/tbe/depthwise_conv2d_backprop_filter.py +0 -41
  788. mindspore/ops/_op_impl/tbe/depthwise_conv2d_backprop_input.py +0 -41
  789. mindspore/ops/_op_impl/tbe/diag.py +0 -38
  790. mindspore/ops/_op_impl/tbe/diag_part.py +0 -38
  791. mindspore/ops/_op_impl/tbe/dilation.py +0 -40
  792. mindspore/ops/_op_impl/tbe/div.py +0 -41
  793. mindspore/ops/_op_impl/tbe/div_ds.py +0 -42
  794. mindspore/ops/_op_impl/tbe/div_no_nan.py +0 -41
  795. mindspore/ops/_op_impl/tbe/div_no_nan_ds.py +0 -42
  796. mindspore/ops/_op_impl/tbe/dropout_do_mask.py +0 -38
  797. mindspore/ops/_op_impl/tbe/dropout_do_mask_ds.py +0 -39
  798. mindspore/ops/_op_impl/tbe/dropout_do_mask_v3.py +0 -39
  799. mindspore/ops/_op_impl/tbe/dynamic_atomic_addr_clean.py +0 -34
  800. mindspore/ops/_op_impl/tbe/dynamic_gru_v2.py +0 -95
  801. mindspore/ops/_op_impl/tbe/dynamic_rnn.py +0 -82
  802. mindspore/ops/_op_impl/tbe/elu.py +0 -38
  803. mindspore/ops/_op_impl/tbe/elu_ds.py +0 -39
  804. mindspore/ops/_op_impl/tbe/elu_grad.py +0 -43
  805. mindspore/ops/_op_impl/tbe/elu_grad_ds.py +0 -44
  806. mindspore/ops/_op_impl/tbe/equal.py +0 -42
  807. mindspore/ops/_op_impl/tbe/equal_ds.py +0 -42
  808. mindspore/ops/_op_impl/tbe/erf.py +0 -37
  809. mindspore/ops/_op_impl/tbe/erf_ds.py +0 -38
  810. mindspore/ops/_op_impl/tbe/erfc.py +0 -37
  811. mindspore/ops/_op_impl/tbe/erfc_ds.py +0 -38
  812. mindspore/ops/_op_impl/tbe/erfinv.py +0 -36
  813. mindspore/ops/_op_impl/tbe/exp.py +0 -40
  814. mindspore/ops/_op_impl/tbe/exp_ds.py +0 -41
  815. mindspore/ops/_op_impl/tbe/expand_dims.py +0 -38
  816. mindspore/ops/_op_impl/tbe/expm1.py +0 -37
  817. mindspore/ops/_op_impl/tbe/expm1_ds.py +0 -38
  818. mindspore/ops/_op_impl/tbe/extract_image_patches.py +0 -41
  819. mindspore/ops/_op_impl/tbe/extract_volume_patches.py +0 -39
  820. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars.py +0 -39
  821. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_gradient.py +0 -43
  822. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_per_channel.py +0 -39
  823. mindspore/ops/_op_impl/tbe/fake_quant_with_min_max_vars_per_channel_gradient.py +0 -43
  824. mindspore/ops/_op_impl/tbe/fast_gelu.py +0 -37
  825. mindspore/ops/_op_impl/tbe/fast_gelu_ds.py +0 -38
  826. mindspore/ops/_op_impl/tbe/fast_gelu_grad.py +0 -41
  827. mindspore/ops/_op_impl/tbe/fast_gelu_grad_ds.py +0 -42
  828. mindspore/ops/_op_impl/tbe/fill.py +0 -56
  829. mindspore/ops/_op_impl/tbe/fill_ds.py +0 -42
  830. mindspore/ops/_op_impl/tbe/flatten.py +0 -48
  831. mindspore/ops/_op_impl/tbe/floor.py +0 -37
  832. mindspore/ops/_op_impl/tbe/floor_div.py +0 -41
  833. mindspore/ops/_op_impl/tbe/floor_div_ds.py +0 -42
  834. mindspore/ops/_op_impl/tbe/floor_ds.py +0 -38
  835. mindspore/ops/_op_impl/tbe/floor_mod.py +0 -39
  836. mindspore/ops/_op_impl/tbe/floor_mod_ds.py +0 -40
  837. mindspore/ops/_op_impl/tbe/fused_dbn_dw.py +0 -52
  838. mindspore/ops/_op_impl/tbe/fused_mul_add.py +0 -38
  839. mindspore/ops/_op_impl/tbe/fused_mul_add_n.py +0 -48
  840. mindspore/ops/_op_impl/tbe/fused_mul_add_n_l2loss.py +0 -53
  841. mindspore/ops/_op_impl/tbe/fused_mul_apply_momentum.py +0 -57
  842. mindspore/ops/_op_impl/tbe/fused_mul_apply_momentum_extern.py +0 -67
  843. mindspore/ops/_op_impl/tbe/gather_nd.py +0 -52
  844. mindspore/ops/_op_impl/tbe/gather_nd_ds.py +0 -48
  845. mindspore/ops/_op_impl/tbe/gather_v2.py +0 -56
  846. mindspore/ops/_op_impl/tbe/gather_v2_ds.py +0 -68
  847. mindspore/ops/_op_impl/tbe/gelu.py +0 -37
  848. mindspore/ops/_op_impl/tbe/gelu_ds.py +0 -38
  849. mindspore/ops/_op_impl/tbe/gelu_grad.py +0 -42
  850. mindspore/ops/_op_impl/tbe/gelu_grad_ds.py +0 -43
  851. mindspore/ops/_op_impl/tbe/ger.py +0 -43
  852. mindspore/ops/_op_impl/tbe/ger_ds.py +0 -44
  853. mindspore/ops/_op_impl/tbe/greater.py +0 -43
  854. mindspore/ops/_op_impl/tbe/greater_equal.py +0 -41
  855. mindspore/ops/_op_impl/tbe/greater_equal_ds.py +0 -42
  856. mindspore/ops/_op_impl/tbe/gru_v2_hidden_grad.py +0 -51
  857. mindspore/ops/_op_impl/tbe/gru_v2_hidden_grad_cell.py +0 -52
  858. mindspore/ops/_op_impl/tbe/hard_swish.py +0 -37
  859. mindspore/ops/_op_impl/tbe/hard_swish_ds.py +0 -38
  860. mindspore/ops/_op_impl/tbe/hard_swish_grad.py +0 -41
  861. mindspore/ops/_op_impl/tbe/hard_swish_grad_ds.py +0 -42
  862. mindspore/ops/_op_impl/tbe/histogram_fixed_width.py +0 -40
  863. mindspore/ops/_op_impl/tbe/hshrink.py +0 -33
  864. mindspore/ops/_op_impl/tbe/hshrink_grad.py +0 -37
  865. mindspore/ops/_op_impl/tbe/hsigmoid.py +0 -45
  866. mindspore/ops/_op_impl/tbe/hsigmoid_grad.py +0 -39
  867. mindspore/ops/_op_impl/tbe/ifmr.py +0 -47
  868. mindspore/ops/_op_impl/tbe/ifmr_ds.py +0 -48
  869. mindspore/ops/_op_impl/tbe/im2col.py +0 -42
  870. mindspore/ops/_op_impl/tbe/in_top_k.py +0 -37
  871. mindspore/ops/_op_impl/tbe/inplace_add.py +0 -39
  872. mindspore/ops/_op_impl/tbe/inplace_index_add.py +0 -46
  873. mindspore/ops/_op_impl/tbe/inplace_sub.py +0 -39
  874. mindspore/ops/_op_impl/tbe/inplace_update.py +0 -39
  875. mindspore/ops/_op_impl/tbe/inplace_update_ds.py +0 -40
  876. mindspore/ops/_op_impl/tbe/inv.py +0 -38
  877. mindspore/ops/_op_impl/tbe/inv_ds.py +0 -39
  878. mindspore/ops/_op_impl/tbe/inv_grad.py +0 -40
  879. mindspore/ops/_op_impl/tbe/inv_grad_ds.py +0 -41
  880. mindspore/ops/_op_impl/tbe/invert.py +0 -37
  881. mindspore/ops/_op_impl/tbe/invert_ds.py +0 -38
  882. mindspore/ops/_op_impl/tbe/iou.py +0 -38
  883. mindspore/ops/_op_impl/tbe/iou_ds.py +0 -39
  884. mindspore/ops/_op_impl/tbe/is_close.py +0 -40
  885. mindspore/ops/_op_impl/tbe/kl_div_loss.py +0 -38
  886. mindspore/ops/_op_impl/tbe/kl_div_loss_ds.py +0 -39
  887. mindspore/ops/_op_impl/tbe/kl_div_loss_grad.py +0 -40
  888. mindspore/ops/_op_impl/tbe/l2_loss.py +0 -36
  889. mindspore/ops/_op_impl/tbe/l2_loss_ds.py +0 -37
  890. mindspore/ops/_op_impl/tbe/l2_normalize.py +0 -38
  891. mindspore/ops/_op_impl/tbe/l2_normalize_grad.py +0 -40
  892. mindspore/ops/_op_impl/tbe/lamb_apply_optimizer_assign.py +0 -55
  893. mindspore/ops/_op_impl/tbe/lamb_apply_weight_assign.py +0 -42
  894. mindspore/ops/_op_impl/tbe/lamb_next_mv.py +0 -59
  895. mindspore/ops/_op_impl/tbe/lamb_next_mv_with_decay.py +0 -59
  896. mindspore/ops/_op_impl/tbe/lamb_next_right.py +0 -44
  897. mindspore/ops/_op_impl/tbe/lamb_update_with_lr.py +0 -48
  898. mindspore/ops/_op_impl/tbe/lamb_update_with_lr_v2.py +0 -44
  899. mindspore/ops/_op_impl/tbe/lars_update.py +0 -50
  900. mindspore/ops/_op_impl/tbe/lars_update_ds.py +0 -51
  901. mindspore/ops/_op_impl/tbe/layer_norm.py +0 -46
  902. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop.py +0 -44
  903. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_ds.py +0 -45
  904. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2.py +0 -40
  905. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2_ds.py +0 -41
  906. mindspore/ops/_op_impl/tbe/layer_norm_ds.py +0 -47
  907. mindspore/ops/_op_impl/tbe/layer_norm_grad.py +0 -48
  908. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop.py +0 -43
  909. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_ds.py +0 -44
  910. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_v2.py +0 -45
  911. mindspore/ops/_op_impl/tbe/layer_norm_x_backprop_v2_ds.py +0 -45
  912. mindspore/ops/_op_impl/tbe/lerp.py +0 -38
  913. mindspore/ops/_op_impl/tbe/less.py +0 -41
  914. mindspore/ops/_op_impl/tbe/less_ds.py +0 -42
  915. mindspore/ops/_op_impl/tbe/less_equal.py +0 -41
  916. mindspore/ops/_op_impl/tbe/less_equal_ds.py +0 -42
  917. mindspore/ops/_op_impl/tbe/log.py +0 -40
  918. mindspore/ops/_op_impl/tbe/log1p.py +0 -37
  919. mindspore/ops/_op_impl/tbe/log1p_ds.py +0 -38
  920. mindspore/ops/_op_impl/tbe/log_ds.py +0 -41
  921. mindspore/ops/_op_impl/tbe/logical_and.py +0 -37
  922. mindspore/ops/_op_impl/tbe/logical_and_ds.py +0 -38
  923. mindspore/ops/_op_impl/tbe/logical_not.py +0 -36
  924. mindspore/ops/_op_impl/tbe/logical_not_ds.py +0 -37
  925. mindspore/ops/_op_impl/tbe/logical_or.py +0 -37
  926. mindspore/ops/_op_impl/tbe/logical_or_ds.py +0 -38
  927. mindspore/ops/_op_impl/tbe/logsoftmax.py +0 -37
  928. mindspore/ops/_op_impl/tbe/logsoftmax_ds.py +0 -38
  929. mindspore/ops/_op_impl/tbe/logsoftmax_grad.py +0 -38
  930. mindspore/ops/_op_impl/tbe/logsoftmax_grad_ds.py +0 -39
  931. mindspore/ops/_op_impl/tbe/lp_norm.py +0 -40
  932. mindspore/ops/_op_impl/tbe/lp_norm_ds.py +0 -41
  933. mindspore/ops/_op_impl/tbe/lrn.py +0 -41
  934. mindspore/ops/_op_impl/tbe/lrn_grad.py +0 -42
  935. mindspore/ops/_op_impl/tbe/lstm_input_grad.py +0 -51
  936. mindspore/ops/_op_impl/tbe/masked_fill.py +0 -40
  937. mindspore/ops/_op_impl/tbe/masked_fill_ds.py +0 -41
  938. mindspore/ops/_op_impl/tbe/matmul.py +0 -53
  939. mindspore/ops/_op_impl/tbe/matmul_ds.py +0 -47
  940. mindspore/ops/_op_impl/tbe/matmul_v2.py +0 -50
  941. mindspore/ops/_op_impl/tbe/matrix_diag.py +0 -45
  942. mindspore/ops/_op_impl/tbe/matrix_diag_part.py +0 -45
  943. mindspore/ops/_op_impl/tbe/matrix_set_diag.py +0 -46
  944. mindspore/ops/_op_impl/tbe/max_pool.py +0 -39
  945. mindspore/ops/_op_impl/tbe/max_pool3d.py +0 -44
  946. mindspore/ops/_op_impl/tbe/max_pool3d_grad.py +0 -43
  947. mindspore/ops/_op_impl/tbe/max_pool3d_grad_grad.py +0 -44
  948. mindspore/ops/_op_impl/tbe/max_pool_ds.py +0 -40
  949. mindspore/ops/_op_impl/tbe/max_pool_grad.py +0 -43
  950. mindspore/ops/_op_impl/tbe/max_pool_grad_grad.py +0 -41
  951. mindspore/ops/_op_impl/tbe/max_pool_grad_grad_with_argmax.py +0 -41
  952. mindspore/ops/_op_impl/tbe/max_pool_grad_with_argmax.py +0 -42
  953. mindspore/ops/_op_impl/tbe/max_pool_with_argmax.py +0 -40
  954. mindspore/ops/_op_impl/tbe/maximum.py +0 -39
  955. mindspore/ops/_op_impl/tbe/maximum_ds.py +0 -40
  956. mindspore/ops/_op_impl/tbe/maximum_grad.py +0 -46
  957. mindspore/ops/_op_impl/tbe/maximum_grad_ds.py +0 -47
  958. mindspore/ops/_op_impl/tbe/mem_set.py +0 -38
  959. mindspore/ops/_op_impl/tbe/minimum.py +0 -40
  960. mindspore/ops/_op_impl/tbe/minimum_ds.py +0 -41
  961. mindspore/ops/_op_impl/tbe/minimum_grad.py +0 -46
  962. mindspore/ops/_op_impl/tbe/minimum_grad_ds.py +0 -47
  963. mindspore/ops/_op_impl/tbe/mish.py +0 -37
  964. mindspore/ops/_op_impl/tbe/mod.py +0 -41
  965. mindspore/ops/_op_impl/tbe/mod_ds.py +0 -42
  966. mindspore/ops/_op_impl/tbe/mul.py +0 -37
  967. mindspore/ops/_op_impl/tbe/mul_ds.py +0 -38
  968. mindspore/ops/_op_impl/tbe/mul_no_nan.py +0 -39
  969. mindspore/ops/_op_impl/tbe/mul_no_nan_ds.py +0 -40
  970. mindspore/ops/_op_impl/tbe/multilabel_margin_loss.py +0 -39
  971. mindspore/ops/_op_impl/tbe/neg.py +0 -39
  972. mindspore/ops/_op_impl/tbe/neg_ds.py +0 -40
  973. mindspore/ops/_op_impl/tbe/new_im2col.py +0 -40
  974. mindspore/ops/_op_impl/tbe/nll_loss.py +0 -41
  975. mindspore/ops/_op_impl/tbe/nll_loss_grad.py +0 -44
  976. mindspore/ops/_op_impl/tbe/nms_with_mask.py +0 -39
  977. mindspore/ops/_op_impl/tbe/not_equal.py +0 -41
  978. mindspore/ops/_op_impl/tbe/not_equal_ds.py +0 -42
  979. mindspore/ops/_op_impl/tbe/npu_alloc_float_status.py +0 -34
  980. mindspore/ops/_op_impl/tbe/npu_clear_float_status.py +0 -35
  981. mindspore/ops/_op_impl/tbe/npu_clear_float_status_v2.py +0 -35
  982. mindspore/ops/_op_impl/tbe/npu_get_float_status.py +0 -35
  983. mindspore/ops/_op_impl/tbe/npu_get_float_status_v2.py +0 -35
  984. mindspore/ops/_op_impl/tbe/one_hot.py +0 -48
  985. mindspore/ops/_op_impl/tbe/one_hot_ds.py +0 -45
  986. mindspore/ops/_op_impl/tbe/ones_like.py +0 -40
  987. mindspore/ops/_op_impl/tbe/ones_like_ds.py +0 -41
  988. mindspore/ops/_op_impl/tbe/p_s_r_o_i_pooling.py +0 -40
  989. mindspore/ops/_op_impl/tbe/p_s_r_o_i_pooling_grad.py +0 -40
  990. mindspore/ops/_op_impl/tbe/pack.py +0 -58
  991. mindspore/ops/_op_impl/tbe/pack_ds.py +0 -59
  992. mindspore/ops/_op_impl/tbe/pad_d.py +0 -40
  993. mindspore/ops/_op_impl/tbe/pad_d_ds.py +0 -41
  994. mindspore/ops/_op_impl/tbe/parallel_concat.py +0 -70
  995. mindspore/ops/_op_impl/tbe/parallel_resize_bilinear.py +0 -45
  996. mindspore/ops/_op_impl/tbe/parallel_resize_bilinear_grad.py +0 -44
  997. mindspore/ops/_op_impl/tbe/pdist.py +0 -36
  998. mindspore/ops/_op_impl/tbe/pooling.py +0 -46
  999. mindspore/ops/_op_impl/tbe/population_count.py +0 -38
  1000. mindspore/ops/_op_impl/tbe/pow.py +0 -41
  1001. mindspore/ops/_op_impl/tbe/pow_ds.py +0 -42
  1002. mindspore/ops/_op_impl/tbe/prelu.py +0 -37
  1003. mindspore/ops/_op_impl/tbe/prelu_ds.py +0 -38
  1004. mindspore/ops/_op_impl/tbe/prelu_grad.py +0 -40
  1005. mindspore/ops/_op_impl/tbe/range.py +0 -39
  1006. mindspore/ops/_op_impl/tbe/real_div.py +0 -38
  1007. mindspore/ops/_op_impl/tbe/real_div_ds.py +0 -39
  1008. mindspore/ops/_op_impl/tbe/reciprocal.py +0 -36
  1009. mindspore/ops/_op_impl/tbe/reciprocal_ds.py +0 -37
  1010. mindspore/ops/_op_impl/tbe/reciprocal_grad.py +0 -38
  1011. mindspore/ops/_op_impl/tbe/reciprocal_grad_ds.py +0 -39
  1012. mindspore/ops/_op_impl/tbe/reduce_all.py +0 -38
  1013. mindspore/ops/_op_impl/tbe/reduce_all_ds.py +0 -39
  1014. mindspore/ops/_op_impl/tbe/reduce_any.py +0 -38
  1015. mindspore/ops/_op_impl/tbe/reduce_any_ds.py +0 -39
  1016. mindspore/ops/_op_impl/tbe/reduce_max.py +0 -43
  1017. mindspore/ops/_op_impl/tbe/reduce_max_ds.py +0 -41
  1018. mindspore/ops/_op_impl/tbe/reduce_mean.py +0 -40
  1019. mindspore/ops/_op_impl/tbe/reduce_mean_ds.py +0 -42
  1020. mindspore/ops/_op_impl/tbe/reduce_min.py +0 -41
  1021. mindspore/ops/_op_impl/tbe/reduce_min_ds.py +0 -41
  1022. mindspore/ops/_op_impl/tbe/reduce_prod.py +0 -42
  1023. mindspore/ops/_op_impl/tbe/reduce_prod_ds.py +0 -41
  1024. mindspore/ops/_op_impl/tbe/reduce_std.py +0 -44
  1025. mindspore/ops/_op_impl/tbe/reduce_sum.py +0 -39
  1026. mindspore/ops/_op_impl/tbe/reduce_sum_ds.py +0 -41
  1027. mindspore/ops/_op_impl/tbe/relu.py +0 -39
  1028. mindspore/ops/_op_impl/tbe/relu6.py +0 -38
  1029. mindspore/ops/_op_impl/tbe/relu6_ds.py +0 -39
  1030. mindspore/ops/_op_impl/tbe/relu6_grad.py +0 -43
  1031. mindspore/ops/_op_impl/tbe/relu6_grad_ds.py +0 -44
  1032. mindspore/ops/_op_impl/tbe/relu_ds.py +0 -40
  1033. mindspore/ops/_op_impl/tbe/relu_grad.py +0 -41
  1034. mindspore/ops/_op_impl/tbe/relu_grad_ds.py +0 -42
  1035. mindspore/ops/_op_impl/tbe/relu_grad_v2.py +0 -40
  1036. mindspore/ops/_op_impl/tbe/relu_grad_v2_ds.py +0 -41
  1037. mindspore/ops/_op_impl/tbe/relu_v2.py +0 -40
  1038. mindspore/ops/_op_impl/tbe/relu_v2_ds.py +0 -41
  1039. mindspore/ops/_op_impl/tbe/renorm.py +0 -39
  1040. mindspore/ops/_op_impl/tbe/resize_bilinear.py +0 -40
  1041. mindspore/ops/_op_impl/tbe/resize_bilinear_grad.py +0 -41
  1042. mindspore/ops/_op_impl/tbe/resize_bilinear_v2.py +0 -43
  1043. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor.py +0 -40
  1044. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_ds.py +0 -40
  1045. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_grad.py +0 -39
  1046. mindspore/ops/_op_impl/tbe/resize_nearest_neighbor_grad_ds.py +0 -42
  1047. mindspore/ops/_op_impl/tbe/reverse_v2_d.py +0 -37
  1048. mindspore/ops/_op_impl/tbe/rint.py +0 -37
  1049. mindspore/ops/_op_impl/tbe/rint_ds.py +0 -38
  1050. mindspore/ops/_op_impl/tbe/roi_align.py +0 -43
  1051. mindspore/ops/_op_impl/tbe/roi_align_ds.py +0 -44
  1052. mindspore/ops/_op_impl/tbe/roi_align_grad.py +0 -43
  1053. mindspore/ops/_op_impl/tbe/roi_align_grad_ds.py +0 -44
  1054. mindspore/ops/_op_impl/tbe/roll.py +0 -42
  1055. mindspore/ops/_op_impl/tbe/round.py +0 -38
  1056. mindspore/ops/_op_impl/tbe/round_ds.py +0 -39
  1057. mindspore/ops/_op_impl/tbe/rsqrt.py +0 -37
  1058. mindspore/ops/_op_impl/tbe/rsqrt_ds.py +0 -38
  1059. mindspore/ops/_op_impl/tbe/rsqrt_grad.py +0 -40
  1060. mindspore/ops/_op_impl/tbe/rsqrt_grad_ds.py +0 -41
  1061. mindspore/ops/_op_impl/tbe/scatter_add.py +0 -44
  1062. mindspore/ops/_op_impl/tbe/scatter_div.py +0 -46
  1063. mindspore/ops/_op_impl/tbe/scatter_max.py +0 -45
  1064. mindspore/ops/_op_impl/tbe/scatter_min.py +0 -45
  1065. mindspore/ops/_op_impl/tbe/scatter_mul.py +0 -44
  1066. mindspore/ops/_op_impl/tbe/scatter_nd.py +0 -41
  1067. mindspore/ops/_op_impl/tbe/scatter_nd_add.py +0 -45
  1068. mindspore/ops/_op_impl/tbe/scatter_nd_d.py +0 -41
  1069. mindspore/ops/_op_impl/tbe/scatter_nd_ds.py +0 -49
  1070. mindspore/ops/_op_impl/tbe/scatter_nd_sub.py +0 -47
  1071. mindspore/ops/_op_impl/tbe/scatter_nd_sub_ds.py +0 -48
  1072. mindspore/ops/_op_impl/tbe/scatter_nd_update.py +0 -47
  1073. mindspore/ops/_op_impl/tbe/scatter_nd_update_ds.py +0 -48
  1074. mindspore/ops/_op_impl/tbe/scatter_non_aliasing_add.py +0 -39
  1075. mindspore/ops/_op_impl/tbe/scatter_non_aliasing_add_ds.py +0 -40
  1076. mindspore/ops/_op_impl/tbe/scatter_sub.py +0 -47
  1077. mindspore/ops/_op_impl/tbe/scatter_sub_ds.py +0 -48
  1078. mindspore/ops/_op_impl/tbe/scatter_update.py +0 -43
  1079. mindspore/ops/_op_impl/tbe/select.py +0 -38
  1080. mindspore/ops/_op_impl/tbe/select_ds.py +0 -39
  1081. mindspore/ops/_op_impl/tbe/selu.py +0 -39
  1082. mindspore/ops/_op_impl/tbe/selu_ds.py +0 -40
  1083. mindspore/ops/_op_impl/tbe/sgd.py +0 -62
  1084. mindspore/ops/_op_impl/tbe/sigmoid.py +0 -37
  1085. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits.py +0 -41
  1086. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_ds.py +0 -42
  1087. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_grad.py +0 -42
  1088. mindspore/ops/_op_impl/tbe/sigmoid_cross_entropy_with_logits_grad_ds.py +0 -43
  1089. mindspore/ops/_op_impl/tbe/sigmoid_ds.py +0 -38
  1090. mindspore/ops/_op_impl/tbe/sigmoid_grad.py +0 -39
  1091. mindspore/ops/_op_impl/tbe/sigmoid_grad_ds.py +0 -40
  1092. mindspore/ops/_op_impl/tbe/sign.py +0 -38
  1093. mindspore/ops/_op_impl/tbe/sign_ds.py +0 -39
  1094. mindspore/ops/_op_impl/tbe/sin.py +0 -37
  1095. mindspore/ops/_op_impl/tbe/sin_ds.py +0 -38
  1096. mindspore/ops/_op_impl/tbe/sinh.py +0 -37
  1097. mindspore/ops/_op_impl/tbe/sinh_ds.py +0 -38
  1098. mindspore/ops/_op_impl/tbe/slice.py +0 -58
  1099. mindspore/ops/_op_impl/tbe/smooth_l1_loss.py +0 -45
  1100. mindspore/ops/_op_impl/tbe/smooth_l1_loss_ds.py +0 -46
  1101. mindspore/ops/_op_impl/tbe/smooth_l1_loss_grad.py +0 -46
  1102. mindspore/ops/_op_impl/tbe/smooth_l1_loss_grad_ds.py +0 -47
  1103. mindspore/ops/_op_impl/tbe/soft_margin_loss.py +0 -38
  1104. mindspore/ops/_op_impl/tbe/soft_margin_loss_grad.py +0 -39
  1105. mindspore/ops/_op_impl/tbe/soft_shrink.py +0 -36
  1106. mindspore/ops/_op_impl/tbe/soft_shrink_grad.py +0 -38
  1107. mindspore/ops/_op_impl/tbe/softmax.py +0 -37
  1108. mindspore/ops/_op_impl/tbe/softmax_cross_entropy_with_logits.py +0 -38
  1109. mindspore/ops/_op_impl/tbe/softmax_cross_entropy_with_logits_ds.py +0 -39
  1110. mindspore/ops/_op_impl/tbe/softmax_ds.py +0 -38
  1111. mindspore/ops/_op_impl/tbe/softmax_grad_ext.py +0 -42
  1112. mindspore/ops/_op_impl/tbe/softmax_v2_with_dropout_do_mask_v3.py +0 -39
  1113. mindspore/ops/_op_impl/tbe/softplus.py +0 -37
  1114. mindspore/ops/_op_impl/tbe/softplus_ds.py +0 -38
  1115. mindspore/ops/_op_impl/tbe/softplus_grad.py +0 -38
  1116. mindspore/ops/_op_impl/tbe/softplus_grad_ds.py +0 -38
  1117. mindspore/ops/_op_impl/tbe/softsign.py +0 -37
  1118. mindspore/ops/_op_impl/tbe/softsign_ds.py +0 -38
  1119. mindspore/ops/_op_impl/tbe/sort.py +0 -38
  1120. mindspore/ops/_op_impl/tbe/sort_ds.py +0 -39
  1121. mindspore/ops/_op_impl/tbe/space_to_batch.py +0 -38
  1122. mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +0 -38
  1123. mindspore/ops/_op_impl/tbe/space_to_depth.py +0 -47
  1124. mindspore/ops/_op_impl/tbe/sparse_apply_adadelta.py +0 -56
  1125. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad.py +0 -45
  1126. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_ds.py +0 -46
  1127. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_v2.py +0 -46
  1128. mindspore/ops/_op_impl/tbe/sparse_apply_adagrad_v2_ds.py +0 -47
  1129. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_d.py +0 -53
  1130. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_d_ds.py +0 -50
  1131. mindspore/ops/_op_impl/tbe/sparse_apply_ftrl_v2.py +0 -50
  1132. mindspore/ops/_op_impl/tbe/sparse_apply_proximal_adagrad.py +0 -66
  1133. mindspore/ops/_op_impl/tbe/sparse_apply_proximal_adagrad_ds.py +0 -67
  1134. mindspore/ops/_op_impl/tbe/sparse_apply_r_m_s_prop.py +0 -57
  1135. mindspore/ops/_op_impl/tbe/sparse_apply_r_m_s_prop_ds.py +0 -58
  1136. mindspore/ops/_op_impl/tbe/sparse_gather_v2.py +0 -56
  1137. mindspore/ops/_op_impl/tbe/sparse_gather_v2_ds.py +0 -58
  1138. mindspore/ops/_op_impl/tbe/split_d.py +0 -38
  1139. mindspore/ops/_op_impl/tbe/split_d_ds.py +0 -39
  1140. mindspore/ops/_op_impl/tbe/split_v.py +0 -39
  1141. mindspore/ops/_op_impl/tbe/splitv.py +0 -39
  1142. mindspore/ops/_op_impl/tbe/sqrt.py +0 -37
  1143. mindspore/ops/_op_impl/tbe/sqrt_ds.py +0 -38
  1144. mindspore/ops/_op_impl/tbe/sqrt_grad.py +0 -43
  1145. mindspore/ops/_op_impl/tbe/sqrt_grad_ds.py +0 -44
  1146. mindspore/ops/_op_impl/tbe/square.py +0 -38
  1147. mindspore/ops/_op_impl/tbe/square_ds.py +0 -39
  1148. mindspore/ops/_op_impl/tbe/square_sum_all.py +0 -40
  1149. mindspore/ops/_op_impl/tbe/square_sum_all_ds.py +0 -41
  1150. mindspore/ops/_op_impl/tbe/square_sum_v1.py +0 -38
  1151. mindspore/ops/_op_impl/tbe/square_sum_v1_ds.py +0 -39
  1152. mindspore/ops/_op_impl/tbe/square_sum_v2.py +0 -39
  1153. mindspore/ops/_op_impl/tbe/squared_difference.py +0 -39
  1154. mindspore/ops/_op_impl/tbe/squared_difference_ds.py +0 -41
  1155. mindspore/ops/_op_impl/tbe/squeeze.py +0 -37
  1156. mindspore/ops/_op_impl/tbe/strided_read.py +0 -38
  1157. mindspore/ops/_op_impl/tbe/strided_slice_d.py +0 -44
  1158. mindspore/ops/_op_impl/tbe/strided_slice_ds.py +0 -71
  1159. mindspore/ops/_op_impl/tbe/strided_slice_grad_d.py +0 -51
  1160. mindspore/ops/_op_impl/tbe/strided_slice_grad_ds.py +0 -57
  1161. mindspore/ops/_op_impl/tbe/strided_write.py +0 -38
  1162. mindspore/ops/_op_impl/tbe/sub.py +0 -39
  1163. mindspore/ops/_op_impl/tbe/sub_ds.py +0 -40
  1164. mindspore/ops/_op_impl/tbe/tan.py +0 -38
  1165. mindspore/ops/_op_impl/tbe/tan_ds.py +0 -39
  1166. mindspore/ops/_op_impl/tbe/tanh.py +0 -37
  1167. mindspore/ops/_op_impl/tbe/tanh_ds.py +0 -38
  1168. mindspore/ops/_op_impl/tbe/tanh_grad.py +0 -39
  1169. mindspore/ops/_op_impl/tbe/tanh_grad_ds.py +0 -40
  1170. mindspore/ops/_op_impl/tbe/tensor_move.py +0 -49
  1171. mindspore/ops/_op_impl/tbe/tensor_move_ds.py +0 -50
  1172. mindspore/ops/_op_impl/tbe/tensor_scatter_update.py +0 -41
  1173. mindspore/ops/_op_impl/tbe/tile.py +0 -37
  1174. mindspore/ops/_op_impl/tbe/tile_ds.py +0 -42
  1175. mindspore/ops/_op_impl/tbe/top_k.py +0 -42
  1176. mindspore/ops/_op_impl/tbe/top_k_ds.py +0 -43
  1177. mindspore/ops/_op_impl/tbe/trans_data.py +0 -167
  1178. mindspore/ops/_op_impl/tbe/trans_data_ds.py +0 -180
  1179. mindspore/ops/_op_impl/tbe/trans_data_rnn.py +0 -44
  1180. mindspore/ops/_op_impl/tbe/transpose.py +0 -60
  1181. mindspore/ops/_op_impl/tbe/transpose_d.py +0 -47
  1182. mindspore/ops/_op_impl/tbe/transpose_nod.py +0 -60
  1183. mindspore/ops/_op_impl/tbe/trunc.py +0 -39
  1184. mindspore/ops/_op_impl/tbe/truncate_div.py +0 -41
  1185. mindspore/ops/_op_impl/tbe/truncate_div_ds.py +0 -42
  1186. mindspore/ops/_op_impl/tbe/truncate_mod.py +0 -41
  1187. mindspore/ops/_op_impl/tbe/truncate_mod_ds.py +0 -42
  1188. mindspore/ops/_op_impl/tbe/unpack.py +0 -38
  1189. mindspore/ops/_op_impl/tbe/unpack_ds.py +0 -39
  1190. mindspore/ops/_op_impl/tbe/unsorted_segment_max.py +0 -49
  1191. mindspore/ops/_op_impl/tbe/unsorted_segment_max_ds.py +0 -40
  1192. mindspore/ops/_op_impl/tbe/unsorted_segment_min.py +0 -49
  1193. mindspore/ops/_op_impl/tbe/unsorted_segment_min_ds.py +0 -40
  1194. mindspore/ops/_op_impl/tbe/unsorted_segment_prod.py +0 -49
  1195. mindspore/ops/_op_impl/tbe/unsorted_segment_prod_ds.py +0 -38
  1196. mindspore/ops/_op_impl/tbe/unsorted_segment_sum.py +0 -38
  1197. mindspore/ops/_op_impl/tbe/unsorted_segment_sum_ds.py +0 -41
  1198. mindspore/ops/_op_impl/tbe/wts_arq.py +0 -40
  1199. mindspore/ops/_op_impl/tbe/xdivy.py +0 -38
  1200. mindspore/ops/_op_impl/tbe/xdivy_ds.py +0 -39
  1201. mindspore/ops/_op_impl/tbe/xlogy.py +0 -38
  1202. mindspore/ops/_op_impl/tbe/xlogy_ds.py +0 -39
  1203. mindspore/ops/_op_impl/tbe/zeros_like.py +0 -41
  1204. mindspore/ops/_op_impl/tbe/zeros_like_ds.py +0 -42
  1205. mindspore/ops/_tracefunc.py +0 -241
  1206. mindspore/ops/arg_dtype_cast.py +0 -54
  1207. mindspore/ops/silent_check.py +0 -162
  1208. mindspore/profiler/parser/msadvisor_analyzer.py +0 -82
  1209. mindspore/profiler/parser/msadvisor_parser.py +0 -240
  1210. mindspore/rewrite/api/tree_node_helper.py +0 -60
  1211. mindspore/rewrite/ast_helpers/ast_creator.py +0 -115
  1212. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +0 -267
  1213. mindspore/rewrite/ast_transformers/remove_return_out_of_if.py +0 -228
  1214. mindspore/rewrite/namespace.py +0 -53
  1215. mindspore-2.2.14.dist-info/RECORD +0 -1924
  1216. {mindspore-2.2.14.dist-info → mindspore-2.4.0.dist-info}/WHEEL +0 -0
  1217. {mindspore-2.2.14.dist-info → mindspore-2.4.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- # Copyright 2022 Huawei Technologies Co., Ltd
1
+ # Copyright 2023 Huawei Technologies Co., Ltd
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -25,9 +25,28 @@ from mindspore.ops.composite.multitype_ops import _constexpr_utils as const_util
25
25
  from mindspore.common import dtype as mstype
26
26
  from mindspore.common.seed import _get_graph_seed
27
27
  from mindspore.common.tensor import Tensor
28
- from mindspore.ops.operations.random_ops import RandomShuffle, RandomChoiceWithMask, RandpermV2
29
- from mindspore.ops._primitive_cache import _get_cache_prim
28
+ from mindspore.ops.operations.random_ops import RandomShuffle, RandomChoiceWithMask
30
29
  from mindspore.common.api import _function_forbid_reuse
30
+ from mindspore.ops.auto_generate import randperm
31
+ from mindspore.common.generator import default_generator
32
+ from mindspore.ops.auto_generate import UniformExt, NormalTensorTensor, \
33
+ NormalTensorFloat, NormalFloatTensor, NormalFloatFloat, RandExt, RandLikeExt, MultinomialExt
34
+
35
+ normal_tensor_tensor_op = NormalTensorTensor()
36
+ normal_tensor_float_op = NormalTensorFloat()
37
+ normal_float_tensor_op = NormalFloatTensor()
38
+ normal_float_float_op = NormalFloatFloat()
39
+ cast_ = P.Cast()
40
+ log_ = P.Log()
41
+ real_div_ = P.RealDiv()
42
+ reshape_ = P.Reshape()
43
+ shape_ = P.Shape()
44
+ top_k_ = P.TopK()
45
+ uniform_ = UniformExt()
46
+ rand_ext_ = RandExt()
47
+ rand_like_ext_ = RandLikeExt()
48
+ multinomial_ext_ = MultinomialExt()
49
+ generator_step_ = Tensor(10, mstype.int64)
31
50
 
32
51
 
33
52
  @constexpr
@@ -77,7 +96,8 @@ def random_gamma(shape, alpha, seed=None):
77
96
  """
78
97
  seed1, seed2 = _get_seed(seed, "random_gamma")
79
98
  random_gamma_op = P.RandomGamma(seed1, seed2)
80
- random_gamma_op = _set_prim_op_user_data(random_gamma_op, "random_cache", False)
99
+ random_gamma_op = _set_prim_op_user_data(
100
+ random_gamma_op, "random_cache", False)
81
101
  output = random_gamma_op(shape, alpha)
82
102
  return output
83
103
 
@@ -97,14 +117,18 @@ def standard_laplace(shape, seed=None):
97
117
  .. math::
98
118
  \text{f}(x) = \frac{1}{2}\exp(-|x|)
99
119
 
120
+ .. warning::
121
+ The Ascend backend does not support the reproducibility of random numbers, so
122
+ the `seed` parameter has no effect.
123
+
100
124
  Args:
101
125
  shape (Union[tuple, Tensor]): The shape of random tensor to be generated. Only constant value is allowed
102
126
  when the input type is tuple. And the operator supports dynamic shape only when the input type is Tensor.
103
127
  seed (int, optional): Seed is used as entropy source for Random number engines generating pseudo-random numbers.
104
- Default: ``None`` , which will be treated as 0.
128
+ Default: ``None`` .
105
129
 
106
130
  Returns:
107
- Tensor. The shape that the input 'shape' denotes. The dtype is float32.
131
+ Tensor. The shape that the input `shape` denotes. The dtype is float32.
108
132
 
109
133
  Raises:
110
134
  TypeError: If shape is neither a tuple nor a Tensor.
@@ -124,7 +148,8 @@ def standard_laplace(shape, seed=None):
124
148
  """
125
149
  seed1, seed2 = _get_seed(seed, "standard_laplace")
126
150
  standard_laplace_op = P.StandardLaplace(seed=seed1, seed2=seed2)
127
- standard_laplace_op = _set_prim_op_user_data(standard_laplace_op, "random_cache", False)
151
+ standard_laplace_op = _set_prim_op_user_data(
152
+ standard_laplace_op, "random_cache", False)
128
153
  return standard_laplace_op(shape)
129
154
 
130
155
 
@@ -133,6 +158,10 @@ def random_categorical(logits, num_sample, seed=0, dtype=mstype.int64):
133
158
  r"""
134
159
  Generates random samples from a given categorical distribution tensor.
135
160
 
161
+ .. warning::
162
+ The Ascend backend does not support the reproducibility of random numbers, so
163
+ the `seed` parameter has no effect.
164
+
136
165
  Args:
137
166
  logits (Tensor): The input tensor. 2-D Tensor with shape :math:`(batch\_size, num\_classes)`.
138
167
  num_sample (int): Number of sample to be drawn. Only constant values is allowed.
@@ -163,7 +192,8 @@ def random_categorical(logits, num_sample, seed=0, dtype=mstype.int64):
163
192
  (10, 8)
164
193
  """
165
194
  random_categorical_ = P.RandomCategorical(dtype)
166
- random_categorical_ = _set_prim_op_user_data(random_categorical_, "random_cache", False)
195
+ random_categorical_ = _set_prim_op_user_data(
196
+ random_categorical_, "random_cache", False)
167
197
  return random_categorical_(logits, num_sample, seed)
168
198
 
169
199
 
@@ -223,10 +253,44 @@ def multinomial_with_replacement(x, seed, offset, numsamples, replacement=False)
223
253
  offset = Tensor(offset, dtype=mstype.int64)
224
254
  multinomial_with_replacement_ = P.MultinomialWithReplacement(numsamples=numsamples,
225
255
  replacement=replacement)
226
- multinomial_with_replacement_ = _set_prim_op_user_data(multinomial_with_replacement_, "random_cache", False)
256
+ multinomial_with_replacement_ = _set_prim_op_user_data(
257
+ multinomial_with_replacement_, "random_cache", False)
227
258
  return multinomial_with_replacement_(x, seed, offset)
228
259
 
229
260
 
261
+ @_function_forbid_reuse
262
+ def uniform_ext(tensor, a, b, generator=None):
263
+ """
264
+ Generates random numbers in the half-open interval [a, b).
265
+
266
+ Args:
267
+ tensor (Tensor): The origin input tensor.
268
+ a (number): The lower bound of the interval.
269
+ b (number): The upper bound of the interval.
270
+ generator (Generator, optional): The random seed. Default: None.
271
+
272
+ Raises:
273
+ TypeError: If `a` is larger than `b`.
274
+
275
+ Returns:
276
+ Tensor, with the same shape as tensor.
277
+
278
+ Examples:
279
+ >>> import mindspore
280
+ >>> from mindspore import ops
281
+ >>> x = ops.ones((4, 2))
282
+ >>> generator = mindspore.Generator()
283
+ >>> generator.manual_seed(100)
284
+ >>> result = ops.function.random_func.uniform_ext(x, 1., 2., generator)
285
+ >>> print(result.shape)
286
+ (4, 2)
287
+ """
288
+ if generator is None:
289
+ generator = default_generator
290
+ seed, offset = generator._step(generator_step_) # pylint: disable=protected-access
291
+ return uniform_(tensor, a, b, seed, offset)
292
+
293
+
230
294
  @_function_forbid_reuse
231
295
  def uniform(shape, minval, maxval, seed=None, dtype=mstype.float32):
232
296
  """
@@ -284,21 +348,25 @@ def uniform(shape, minval, maxval, seed=None, dtype=mstype.float32):
284
348
  (3, 2, 2)
285
349
  """
286
350
  if not isinstance(minval, Tensor) or not isinstance(maxval, Tensor):
287
- raise TypeError(f"For functional operator[uniform], the input[minval] and input[maxval] must be a Tensor.")
351
+ raise TypeError(
352
+ f"For functional operator[uniform], the input[minval] and input[maxval] must be a Tensor.")
288
353
 
289
354
  minval_dtype = F.dtype(minval)
290
355
  maxval_dtype = F.dtype(maxval)
291
- const_utils.check_type_valid(dtype, [mstype.int32, mstype.float32], 'uniform')
356
+ const_utils.check_type_valid(
357
+ dtype, [mstype.int32, mstype.float32], 'uniform')
292
358
  const_utils.check_tensors_dtype_same(minval_dtype, dtype, "uniform")
293
359
  const_utils.check_tensors_dtype_same(maxval_dtype, dtype, "uniform")
294
360
  seed1, seed2 = _get_seed(seed, "uniform")
295
361
  if const_utils.is_same_type(dtype, mstype.int32):
296
362
  random_uniform = P.UniformInt(seed1, seed2)
297
- random_uniform = _set_prim_op_user_data(random_uniform, "random_cache", False)
363
+ random_uniform = _set_prim_op_user_data(
364
+ random_uniform, "random_cache", False)
298
365
  value = random_uniform(shape, minval, maxval)
299
366
  else:
300
367
  uniform_real = P.UniformReal(seed1, seed2)
301
- uniform_real = _set_prim_op_user_data(uniform_real, "random_cache", False)
368
+ uniform_real = _set_prim_op_user_data(
369
+ uniform_real, "random_cache", False)
302
370
  uniform_real = uniform_real(shape)
303
371
  value = uniform_real * (maxval - minval) + minval
304
372
  return value
@@ -315,6 +383,10 @@ def standard_normal(shape, seed=None):
315
383
  .. math::
316
384
  f(x)=\frac{1}{\sqrt{2 \pi}} e^{\left(-\frac{x^{2}}{2}\right)}
317
385
 
386
+ .. warning::
387
+ The Ascend backend does not support the reproducibility of random numbers, so
388
+ the `seed` parameter has no effect.
389
+
318
390
  Args:
319
391
  shape (Union[tuple, Tensor]): The shape of random tensor to be generated. Only constant value is allowed
320
392
  when the input type is tuple. And the operator supports dynamic shape only when the input type is Tensor.
@@ -341,7 +413,8 @@ def standard_normal(shape, seed=None):
341
413
  """
342
414
  seed1, seed2 = _get_seed(seed, "standard_normal")
343
415
  standard_normal_op = P.StandardNormal(seed=seed1, seed2=seed2)
344
- standard_normal_op = _set_prim_op_user_data(standard_normal_op, "random_cache", False)
416
+ standard_normal_op = _set_prim_op_user_data(
417
+ standard_normal_op, "random_cache", False)
345
418
  return standard_normal_op(shape)
346
419
 
347
420
 
@@ -359,8 +432,14 @@ def uniform_candidate_sampler(true_classes,
359
432
  This function samples a set of classes(sampled_candidates) from [0, range_max-1] based on uniform distribution.
360
433
  If unique=True, candidates are drawn without replacement, else unique=False with replacement.
361
434
 
435
+ .. warning::
436
+ - The Ascend backend does not support the reproducibility of random numbers, so
437
+ the `seed` parameter has no effect.
438
+ - The Ascend backend does not support dynamic shape scenarios currently.
439
+
362
440
  Args:
363
441
  true_classes (Tensor): A Tensor. The target classes with a Tensor shape of :math:`(batch\_size, num\_true)` .
442
+ The value range of the elements must be :math:`[0, range\_max)`.
364
443
  num_true (int): The number of target classes in each training example.
365
444
  num_sampled (int): The number of classes to randomly sample. The sampled_candidates will have a shape
366
445
  of num_sampled. If unique=True, num_sampled must be less than or equal to range_max.
@@ -374,11 +453,11 @@ def uniform_candidate_sampler(true_classes,
374
453
 
375
454
  Returns:
376
455
  - **sampled_candidates** (Tensor) - The sampled_candidates is independent of the true classes.
377
- Shape: :math:`(num\_sampled, )` .
456
+ shape: :math:`(num\_sampled, )` .
378
457
  - **true_expected_count** (Tensor) - The expected counts under the sampling distribution of each
379
- of true_classes. Shape: :math:`(batch\_size, num\_true)` .
458
+ of true_classes. shape: :math:`(batch\_size, num\_true)` .
380
459
  - **sampled_expected_count** (Tensor) - The expected counts under the sampling distribution of
381
- each of sampled_candidates. Shape: :math:`(num\_sampled, )` .
460
+ each of sampled_candidates. shape: :math:`(num\_sampled, )` .
382
461
 
383
462
  Raises:
384
463
  TypeError: If neither `num_true` nor `num_sampled` is an int.
@@ -408,7 +487,8 @@ def uniform_candidate_sampler(true_classes,
408
487
  seed=seed,
409
488
  remove_accidental_hits=remove_accidental_hits)
410
489
  sampler_op = _set_prim_op_user_data(sampler_op, "random_cache", False)
411
- sampled_candidates, true_expected_count, sampled_expected_count = sampler_op(true_classes)
490
+ sampled_candidates, true_expected_count, sampled_expected_count = sampler_op(
491
+ true_classes)
412
492
  return sampled_candidates, true_expected_count, sampled_expected_count
413
493
 
414
494
 
@@ -422,11 +502,15 @@ def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
422
502
 
423
503
  \text{P}(i|μ) = \frac{\exp(-μ)μ^{i}}{i!}
424
504
 
505
+ .. warning::
506
+ The Ascend backend does not support the reproducibility of random numbers, so
507
+ the `seed` parameter has no effect.
508
+
425
509
  Args:
426
510
  shape (Tensor): The shape of random tensor to be sampled from each poisson distribution, 1-D `Tensor` whose
427
511
  dtype is mstype.int32 or mstype.int64.
428
512
  rate (Tensor): The :math:`μ` parameter the distribution is constructed with.
429
- It represents the mean of the distribution
513
+ It represents the mean of poisson distribution
430
514
  and also the variance of the distribution. It should be a `Tensor` whose dtype is mstype.int64,
431
515
  mstype.int32, mstype.float64, mstype.float32 or mstype.float16.
432
516
  seed (int, optional): Seed is used as entropy source for the random number engines to generate pseudo-random
@@ -472,7 +556,8 @@ def random_poisson(shape, rate, seed=None, dtype=mstype.float32):
472
556
  """
473
557
  seed1, seed2 = _get_seed(seed, "random_poisson")
474
558
  prim_random_poisson = P.RandomPoisson(seed1, seed2, dtype)
475
- prim_random_poisson = _set_prim_op_user_data(prim_random_poisson, "random_cache", False)
559
+ prim_random_poisson = _set_prim_op_user_data(
560
+ prim_random_poisson, "random_cache", False)
476
561
  value = prim_random_poisson(shape, rate)
477
562
  return value
478
563
 
@@ -507,7 +592,8 @@ def shuffle(x, seed=None):
507
592
  """
508
593
  seed, seed2 = _get_seed(seed, "shuffle")
509
594
  random_shuffle_ = RandomShuffle(seed=seed, seed2=seed2)
510
- random_shuffle_ = _set_prim_op_user_data(random_shuffle_, "random_cache", False)
595
+ random_shuffle_ = _set_prim_op_user_data(
596
+ random_shuffle_, "random_cache", False)
511
597
  output = random_shuffle_(x)
512
598
  return output
513
599
 
@@ -519,6 +605,10 @@ def log_uniform_candidate_sampler(true_classes, num_true=1, num_sampled=5, uniqu
519
605
 
520
606
  Randomly samples a tensor of sampled classes from the range of integers [0, range_max).
521
607
 
608
+ .. warning::
609
+ The Ascend backend does not support the reproducibility of random numbers, so
610
+ the `seed` parameter has no effect.
611
+
522
612
  Args:
523
613
  true_classes (Tensor): The target classes. With data type of int64 and
524
614
  shape :math:`(batch\_size, num\_true)` .
@@ -561,7 +651,8 @@ def log_uniform_candidate_sampler(true_classes, num_true=1, num_sampled=5, uniqu
561
651
 
562
652
  """
563
653
 
564
- sampler = P.LogUniformCandidateSampler(num_true, num_sampled, unique, range_max, seed)
654
+ sampler = P.LogUniformCandidateSampler(
655
+ num_true, num_sampled, unique, range_max, seed)
565
656
  sampler = _set_prim_op_user_data(sampler, "random_cache", False)
566
657
  return sampler(true_classes)
567
658
 
@@ -576,12 +667,16 @@ def choice_with_mask(input_x, count=256, seed=None):
576
667
  The returned index tensor denotes the index of the nonzero
577
668
  sample, the mask tensor denotes which elements in the index tensor are valid.
578
669
 
670
+ .. warning::
671
+ The Ascend backend does not support the reproducibility of random numbers, so
672
+ the `seed` parameter has no effect.
673
+
579
674
  Args:
580
675
  input_x (Tensor[bool]): The input tensor.
581
676
  The input tensor rank must be greater than or equal to 1 and less than or equal to 5.
582
677
  count (int, optional): Number of items expected to get and the number must be greater than 0. Default: ``256`` .
583
678
  seed (int, optional): Seed is used as entropy source for Random number engines generating pseudo-random numbers.
584
- Default: ``None`` , which will be treated as 0.
679
+ Default: ``None`` .
585
680
 
586
681
  Returns:
587
682
  Two tensors, the first one is the index tensor and the other one is the mask tensor.
@@ -600,7 +695,7 @@ def choice_with_mask(input_x, count=256, seed=None):
600
695
  Examples:
601
696
  >>> import numpy as np
602
697
  >>> from mindspore import Tensor, ops
603
- >>> input_x = Tensor(np.ones(shape=[240000, 4]).astype(np.bool))
698
+ >>> input_x = Tensor(np.ones(shape=[240000, 4]).astype(np.bool_))
604
699
  >>> output_y, output_mask = ops.choice_with_mask(input_x)
605
700
  >>> result = output_y.shape
606
701
  >>> print(result)
@@ -610,8 +705,10 @@ def choice_with_mask(input_x, count=256, seed=None):
610
705
  (256,)
611
706
  """
612
707
  seed1, seed2 = _get_seed(seed, "choice_with_mask")
613
- choice_with_mask_ = RandomChoiceWithMask(count=count, seed=seed1, seed2=seed2)
614
- choice_with_mask_ = _set_prim_op_user_data(choice_with_mask_, "random_cache", False)
708
+ choice_with_mask_ = RandomChoiceWithMask(
709
+ count=count, seed=seed1, seed2=seed2)
710
+ choice_with_mask_ = _set_prim_op_user_data(
711
+ choice_with_mask_, "random_cache", False)
615
712
  output = choice_with_mask_(input_x)
616
713
  return output
617
714
 
@@ -622,56 +719,54 @@ def is_cpu_backend():
622
719
  return context.get_context('device_target') == 'CPU'
623
720
 
624
721
 
625
- @_function_forbid_reuse
626
- def randperm(n, seed=0, offset=0, dtype=mstype.int64):
722
+ def normal_ext(mean=0.0, std=1.0, size=None, generator=None):
627
723
  r"""
628
- Generates random permutation of integers from 0 to n-1.
629
-
630
- Returns the tensor with the determined shape inferred by n, the random numbers in it drawn from the data range
631
- that a given type can represent.
632
-
633
- .. warning::
634
- This is an experimental API that is subject to change or deletion.
724
+ Generates random numbers according to the standard Normal (or Gaussian) random number distribution.
635
725
 
636
726
  Args:
637
- n (Union[Tensor, int]): The input n Tensor with shape: () or (1,) and with data type of int64.
638
- The value of `n` must be greater than zero.
639
- seed (int, optional): Random seed. Default: ``0`` . When seed is -1(only negative value), offset is 0,
640
- it's determined by time.
641
- offset (int, optional): Offset to generate random numbers. Priority is higher than random seed.
642
- Default: ``0`` . It must be non-negative.
643
- dtype (mindspore.dtype, optional): The type of output.
644
- Its value must be one of the following types: int32, int16, int8,
645
- uint8, int64, float64, float32, float16. Default: mstype.int64.
727
+ mean (Union[float, Tensor], optional): Mean value of each element, the shape of the 'mean' tensor
728
+ should be the same as that of the 'std' tensor. Default: ``0.0``.
729
+ std (Union[float, Tensor], optional): Standard deviation for each element, the shape of the 'std' tensor
730
+ should be the same as that of the 'mean' tensor. The value of std should be greater than or equal to 0.
731
+ Default: ``1.0``.
732
+ size (tuple, optional): output size, where 'mean' and 'std' are constants. Default: ``None``.
733
+ generator (generator, optional): MindSpore generator. Default: ``None``.
646
734
 
647
735
  Returns:
648
- Tensor. Its shape is specified by the required args `n`. Its type is specified by `dtype`.
649
- Otherwise is default.
736
+ Outputs a tensor with the same shape as 'mean',
737
+ or when 'mean' and 'std' are constants and shape is specified as 'size'.
650
738
 
651
739
  Raises:
652
- TypeError: If `dtype` is not allowed.
653
- ValueError: If `n` is a negative or 0 element.
654
- ValueError: If `seed` is a negative element.
655
- ValueError: If `n` is larger than the maximal data of the set dtype.
740
+ TypeError: If `mean` or `std` is not Union[float, Tensor].
656
741
 
657
742
  Supported Platforms:
658
- ``CPU``
743
+ ``Ascend``
659
744
 
660
745
  Examples:
746
+ >>> import mindspore
747
+ >>> import numpy as np
661
748
  >>> from mindspore import ops
662
- >>> from mindspore import dtype as mstype
663
- >>> n = 4
664
- >>> seed = 0
665
- >>> offset = 0
666
- >>> output = ops.randperm(n, seed, offset, dtype=mstype.int64)
667
- >>> print(output)
668
- [1 0 2 3]
749
+ >>> from mindspore import Tensor
750
+ >>> mean = Tensor(np.array([1.0, 2.0, 3.0]), mindspore.float32)
751
+ >>> std = Tensor(np.array([1.0, 2.0, 3.0]), mindspore.float32)
752
+ >>> output = ops.function.random_func.normal_ext(mean, std)
753
+ >>> print(output.shape)
754
+ (3,)
669
755
  """
670
- if not isinstance(n, Tensor):
671
- n = Tensor(n)
672
- randperm_ = RandpermV2(dtype=dtype)
673
- randperm_ = _set_prim_op_user_data(randperm_, "random_cache", False)
674
- return randperm_(n, seed, offset)
756
+ if generator is None:
757
+ generator = default_generator
758
+ seed, offset = generator._step(generator_step_) # pylint: disable=protected-access
759
+
760
+ is_mean_tensor = isinstance(mean, Tensor)
761
+ is_std_tensor = isinstance(std, Tensor)
762
+
763
+ if is_mean_tensor and is_std_tensor:
764
+ return normal_tensor_tensor_op(mean, std, seed, offset)
765
+ if is_mean_tensor and not is_std_tensor:
766
+ return normal_tensor_float_op(mean, std, seed, offset)
767
+ if not is_mean_tensor and is_std_tensor:
768
+ return normal_float_tensor_op(mean, std, seed, offset)
769
+ return normal_float_float_op(mean, std, size, seed, offset)
675
770
 
676
771
 
677
772
  @_function_forbid_reuse
@@ -679,6 +774,10 @@ def normal(shape, mean, stddev, seed=None):
679
774
  """
680
775
  Generates random numbers according to the Normal (or Gaussian) random number distribution.
681
776
 
777
+ .. warning::
778
+ The Ascend backend does not support the reproducibility of random numbers, so
779
+ the `seed` parameter has no effect.
780
+
682
781
  Args:
683
782
  shape (tuple): The shape of random tensor to be generated.
684
783
  The format is :math:`(N,*)` where :math:`*` means, any number of additional dimensions.
@@ -745,6 +844,10 @@ def laplace(shape, mean, lambda_param, seed=None):
745
844
  .. math::
746
845
  \text{f}(x;μ,λ) = \frac{1}{2λ}\exp(-\frac{|x-μ|}{λ}),
747
846
 
847
+ .. warning::
848
+ The Ascend backend does not support the reproducibility of random numbers, so
849
+ the `seed` parameter has no effect.
850
+
748
851
  Args:
749
852
  shape (tuple): The shape of random tensor to be generated.
750
853
  The format is :math:`(N,*)` where :math:`*` means, any number of additional dimensions.
@@ -776,7 +879,8 @@ def laplace(shape, mean, lambda_param, seed=None):
776
879
  mean_dtype = F.dtype(mean)
777
880
  lambda_param_dtype = F.dtype(lambda_param)
778
881
  const_utils.check_tensors_dtype_same(mean_dtype, mstype.float32, "laplace")
779
- const_utils.check_tensors_dtype_same(lambda_param_dtype, mstype.float32, "laplace")
882
+ const_utils.check_tensors_dtype_same(
883
+ lambda_param_dtype, mstype.float32, "laplace")
780
884
  seed1, seed2 = _get_seed(seed, "laplace")
781
885
  stdlaplace = P.StandardLaplace(seed1, seed2)
782
886
  stdlaplace = _set_prim_op_user_data(stdlaplace, "random_cache", False)
@@ -791,12 +895,16 @@ def gamma(shape, alpha, beta, seed=None):
791
895
  r"""
792
896
  Generates random numbers according to the Gamma random number distribution.
793
897
 
898
+ .. warning::
899
+ The Ascend backend does not support the reproducibility of random numbers, so
900
+ the `seed` parameter has no effect.
901
+
794
902
  Args:
795
903
  shape (tuple): The shape of random tensor to be generated.
796
904
  alpha (Tensor): The :math:`\alpha` distribution parameter. It should be greater than 0 with float32 data type.
797
905
  beta (Tensor): The :math:`\beta` distribution parameter. It should be greater than 0 with float32 data type.
798
- seed (int): Seed is used as entropy source for the random number engines to generate
799
- pseudo-random numbers, must be non-negative. Default: ``None`` , which will be treated as ``0`` .
906
+ seed (int, optional): Seed is used as entropy source for the random number engines to generate
907
+ pseudo-random numbers, must be non-negative. Default: ``None`` .
800
908
 
801
909
  Returns:
802
910
  Tensor. The shape should be equal to the broadcasted shape between the input `shape` and shapes
@@ -894,6 +1002,10 @@ def rand(*size, dtype=None, seed=None):
894
1002
  Returns a new tensor that fills numbers from the uniform distribution over an interval :math:`[0, 1)`
895
1003
  based on the given shape and dtype.
896
1004
 
1005
+ .. warning::
1006
+ The Ascend backend does not support the reproducibility of random numbers, so
1007
+ the `seed` parameter has no effect.
1008
+
897
1009
  Args:
898
1010
  size (Union[int, tuple(int), list(int)]): Shape of the new tensor, e.g. :math:`(2, 3)` or :math:`2`.
899
1011
 
@@ -914,7 +1026,7 @@ def rand(*size, dtype=None, seed=None):
914
1026
  ``Ascend`` ``GPU`` ``CPU``
915
1027
 
916
1028
  Examples:
917
- >>> import mindspore.ops as ops
1029
+ >>> from mindspore import ops
918
1030
  >>> print(ops.rand((2,3)))
919
1031
  [[4.1702199e-01 9.9718481e-01 7.2032452e-01]
920
1032
  [9.3255734e-01 1.1438108e-04 1.2812445e-01]]
@@ -922,9 +1034,9 @@ def rand(*size, dtype=None, seed=None):
922
1034
  if dtype is None:
923
1035
  dtype = mstype.float32
924
1036
  elif dtype not in mstype.float_type:
925
- raise ValueError(f"For 'rand', the 'dtype' must be a float type, but got {dtype}.")
1037
+ raise ValueError(
1038
+ f"For 'rand', the 'dtype' must be a float type, but got {dtype}.")
926
1039
  shape = _generate_shapes(size)
927
- cast_ = P.Cast()
928
1040
  seed1, seed2 = _get_seed(seed, 'rand')
929
1041
  rand_op = P.UniformReal(seed1, seed2)
930
1042
  rand_op = _set_prim_op_user_data(rand_op, "random_cache", False)
@@ -938,6 +1050,10 @@ def rand_like(input, seed=None, *, dtype=None):
938
1050
  Returns a new tensor that fills numbers from the uniform distribution over an interval :math:`[0, 1)`
939
1051
  based on the given shape and dtype.
940
1052
 
1053
+ .. warning::
1054
+ The Ascend backend does not support the reproducibility of random numbers, so
1055
+ the `seed` parameter has no effect.
1056
+
941
1057
  Args:
942
1058
  input (Tensor): Input Tensor to specify the output shape and its default dtype.
943
1059
  seed (int, optional): Random seed, must be greater or equal to 0. Default: ``None`` , and ``0`` will be used.
@@ -966,13 +1082,14 @@ def rand_like(input, seed=None, *, dtype=None):
966
1082
  [9.3255734e-01 1.1438108e-04 1.2812445e-01]]
967
1083
  """
968
1084
  if not isinstance(input, Tensor):
969
- raise TypeError(f"For 'rand_like', the 'input' must be a Tensor, but got {type(input)}")
1085
+ raise TypeError(
1086
+ f"For 'rand_like', the 'input' must be a Tensor, but got {type(input)}")
970
1087
  if dtype is None:
971
1088
  dtype = input.dtype
972
1089
  if dtype not in mstype.float_type:
973
- raise ValueError(f"For 'rand_like', the 'dtype' must be a float type, but got {dtype}.")
1090
+ raise ValueError(
1091
+ f"For 'rand_like', the 'dtype' must be a float type, but got {dtype}.")
974
1092
  shape = input.shape
975
- cast_ = P.Cast()
976
1093
  seed1, seed2 = _get_seed(seed, 'rand_like')
977
1094
  rand_op = P.UniformReal(seed1, seed2)
978
1095
  rand_op = _set_prim_op_user_data(rand_op, "random_cache", False)
@@ -980,12 +1097,86 @@ def rand_like(input, seed=None, *, dtype=None):
980
1097
  return cast_(output, dtype)
981
1098
 
982
1099
 
1100
+ @_function_forbid_reuse
1101
+ def rand_ext(*size, generator=None, dtype=None):
1102
+ r"""
1103
+ Returns a new tensor that fills numbers from the uniform distribution over an interval :math:`[0, 1)`
1104
+ based on the given shape and dtype.
1105
+
1106
+ Args:
1107
+ size (Union[int, tuple(int), list(int)]): Shape of the new tensor, e.g. :math:`(2, 3)` or :math:`2`.
1108
+
1109
+ Keyword Args:
1110
+ generator (:class:`mindspore.Generator`, optional): a pseudorandom number generator.
1111
+ Default: ``None``, uses the default pseudorandom number generator.
1112
+ dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype, it must be float type. If None,
1113
+ `mindspore.float32` will be applied. Default: ``None`` .
1114
+
1115
+ Returns:
1116
+ Tensor, with the designated shape and dtype, filled with random numbers from the uniform distribution on
1117
+ the interval :math:`[0, 1)`.
1118
+
1119
+ Raises:
1120
+ ValueError: If `dtype` is not a `mstype.float_type` type.
1121
+
1122
+ Supported Platforms:
1123
+ ``Ascend``
1124
+
1125
+ Examples:
1126
+ >>> from mindspore import ops
1127
+ >>> print(ops.function.random_func.rand_ext(2, 3).shape)
1128
+ (2, 3)
1129
+ """
1130
+ if not generator:
1131
+ generator = default_generator
1132
+ seed, offset = generator._step(generator_step_) # pylint: disable=protected-access
1133
+ return rand_ext_(size, seed, offset, dtype)
1134
+
1135
+
1136
+ @_function_forbid_reuse
1137
+ def rand_like_ext(input, *, dtype=None):
1138
+ r"""
1139
+ Returns a new tensor that fills numbers from the uniform distribution over an interval :math:`[0, 1)`
1140
+ based on the given dtype and shape of the input tensor.
1141
+
1142
+ Args:
1143
+ input (Tensor): Input Tensor to specify the output shape and its default dtype.
1144
+
1145
+ Keyword Args:
1146
+ dtype (:class:`mindspore.dtype`, optional): Designated tensor dtype, it must be float type. If None,
1147
+ the same dtype of `input` will be applied. Default: ``None`` .
1148
+
1149
+ Returns:
1150
+ Tensor, with the designated shape and dtype, filled with random numbers from the uniform distribution on
1151
+ the interval :math:`[0, 1)`.
1152
+
1153
+ Raises:
1154
+ ValueError: If `dtype` is not a `mstype.float_type` type.
1155
+
1156
+ Supported Platforms:
1157
+ ``Ascend``
1158
+
1159
+ Examples:
1160
+ >>> import mindspore as ms
1161
+ >>> from mindspore import Tensor, ops
1162
+ >>> a = Tensor([[2, 3, 4], [1, 2, 3]])
1163
+ >>> print(ops.function.random_func.rand_like_ext(a, dtype=ms.float32).shape)
1164
+ (2, 3)
1165
+ """
1166
+ seed, offset = default_generator._step(generator_step_) # pylint: disable=protected-access
1167
+ return rand_like_ext_(input, seed, offset, dtype)
1168
+
1169
+
983
1170
  @_function_forbid_reuse
984
1171
  def randn(*size, dtype=None, seed=None):
985
1172
  r"""
986
1173
  Returns a new Tensor with given shape and dtype, filled with a sample (or samples)
987
1174
  from the standard normal distribution.
988
1175
 
1176
+ .. warning::
1177
+ The Ascend backend does not support the reproducibility of random numbers, so
1178
+ the `seed` parameter has no effect.
1179
+
989
1180
  Args:
990
1181
  size (Union[int, tuple(int), list(int)]): Shape of the new tensor, e.g., :math:`(2, 3)` or :math:`2`.
991
1182
 
@@ -1007,7 +1198,7 @@ def randn(*size, dtype=None, seed=None):
1007
1198
  ``Ascend`` ``GPU`` ``CPU``
1008
1199
 
1009
1200
  Examples:
1010
- >>> import mindspore.ops as ops
1201
+ >>> from mindspore import ops
1011
1202
  >>> print(ops.randn((2, 2)))
1012
1203
  [[ 0.30639967 -0.42438635]
1013
1204
  [-0.4287376 1.3054721 ]]
@@ -1015,9 +1206,9 @@ def randn(*size, dtype=None, seed=None):
1015
1206
  if dtype is None:
1016
1207
  dtype = mstype.float32
1017
1208
  elif dtype not in mstype.float_type:
1018
- raise ValueError(f"For 'randn', the 'dtype' must be a float type, but got {dtype}.")
1209
+ raise ValueError(
1210
+ f"For 'randn', the 'dtype' must be a float type, but got {dtype}.")
1019
1211
  shape = _generate_shapes(size)
1020
- cast_ = P.Cast()
1021
1212
  seed1, seed2 = _get_seed(seed, 'randn')
1022
1213
  rand_op = P.StandardNormal(seed1, seed2)
1023
1214
  rand_op = _set_prim_op_user_data(rand_op, "random_cache", False)
@@ -1031,6 +1222,10 @@ def randn_like(input, seed=None, *, dtype=None):
1031
1222
  Returns a new Tensor with given shape and dtype, filled with a sample (or samples) from the standard normal
1032
1223
  distribution.
1033
1224
 
1225
+ .. warning::
1226
+ The Ascend backend does not support the reproducibility of random numbers, so
1227
+ the `seed` parameter has no effect.
1228
+
1034
1229
  Args:
1035
1230
  input (Tensor): Input Tensor to specify the output shape and its default dtype.
1036
1231
  seed (int, optional): Random seed, must be greater or equal to 0. Default: ``None`` , and 0 will be used.
@@ -1059,13 +1254,14 @@ def randn_like(input, seed=None, *, dtype=None):
1059
1254
  [-0.4287376 1.3054721 0.64747655]]
1060
1255
  """
1061
1256
  if not isinstance(input, Tensor):
1062
- raise TypeError(f"For 'randn_like', the 'input' must be a Tensor, but got {type(input)}")
1257
+ raise TypeError(
1258
+ f"For 'randn_like', the 'input' must be a Tensor, but got {type(input)}")
1063
1259
  if dtype is None:
1064
1260
  dtype = mstype.float32
1065
1261
  if dtype not in mstype.float_type:
1066
- raise ValueError(f"For 'randn_like', the 'dtype' must be a float type, but got {dtype}.")
1262
+ raise ValueError(
1263
+ f"For 'randn_like', the 'dtype' must be a float type, but got {dtype}.")
1067
1264
  shape = input.shape
1068
- cast_ = P.Cast()
1069
1265
  seed1, seed2 = _get_seed(seed, 'randn_like')
1070
1266
  rand_op = P.StandardNormal(seed1, seed2)
1071
1267
  rand_op = _set_prim_op_user_data(rand_op, "random_cache", False)
@@ -1078,6 +1274,10 @@ def randint(low, high, size, seed=None, *, dtype=None):
1078
1274
  r"""
1079
1275
  Returns a Tensor whose elements are random integers in the range of [ `low` , `high` ) .
1080
1276
 
1277
+ .. warning::
1278
+ The Ascend backend does not support the reproducibility of random numbers, so
1279
+ the `seed` parameter has no effect.
1280
+
1081
1281
  Args:
1082
1282
  low (int): Start value of interval.
1083
1283
  high (int): End value of interval.
@@ -1103,7 +1303,7 @@ def randint(low, high, size, seed=None, *, dtype=None):
1103
1303
  ``Ascend`` ``GPU`` ``CPU``
1104
1304
 
1105
1305
  Examples:
1106
- >>> import mindspore.ops as ops
1306
+ >>> from mindspore import ops
1107
1307
  >>> print(ops.randint(1, 10, (2,3)))
1108
1308
  [[4 9 7]
1109
1309
  [9 1 2]]
@@ -1111,15 +1311,18 @@ def randint(low, high, size, seed=None, *, dtype=None):
1111
1311
  if dtype is None:
1112
1312
  dtype = mstype.int64
1113
1313
  elif dtype not in mstype.int_type:
1114
- raise ValueError(f"For 'randint', the 'dtype' must be an int type, but got {dtype}.")
1314
+ raise ValueError(
1315
+ f"For 'randint', the 'dtype' must be an int type, but got {dtype}.")
1115
1316
  if not isinstance(size, tuple):
1116
- raise ValueError(f"For 'randint', the input 'size' must be a tuple, but got {size}.")
1317
+ raise ValueError(
1318
+ f"For 'randint', the input 'size' must be a tuple, but got {size}.")
1117
1319
  if not isinstance(low, int) or isinstance(low, bool):
1118
- raise TypeError(f"For 'randint_like', 'low' must be an int, but got {type(low)}.")
1320
+ raise TypeError(
1321
+ f"For 'randint_like', 'low' must be an int, but got {type(low)}.")
1119
1322
  if not isinstance(high, int) or isinstance(high, bool):
1120
- raise TypeError(f"For 'randint_like', 'high' must be an int, but got {type(high)}.")
1323
+ raise TypeError(
1324
+ f"For 'randint_like', 'high' must be an int, but got {type(high)}.")
1121
1325
  seed1, seed2 = _get_seed(seed, 'randint')
1122
- cast_ = P.Cast()
1123
1326
  rand_op = P.UniformInt(seed1, seed2)
1124
1327
  rand_op = _set_prim_op_user_data(rand_op, "random_cache", False)
1125
1328
  low_ = Tensor(low, mstype.int32)
@@ -1134,6 +1337,10 @@ def randint_like(input, low, high, seed=None, *, dtype=None):
1134
1337
  Returns a tensor with the same shape as Tensor `input` whose elements are random integers in the range
1135
1338
  of [ `low` , `high` ) .
1136
1339
 
1340
+ .. warning::
1341
+ The Ascend backend does not support the reproducibility of random numbers, so
1342
+ the `seed` parameter has no effect.
1343
+
1137
1344
  Args:
1138
1345
  input (Tensor): Input Tensor to specify the output shape and its default dtype.
1139
1346
  low(int): Start value of interval.
@@ -1164,20 +1371,23 @@ def randint_like(input, low, high, seed=None, *, dtype=None):
1164
1371
  [9 1 2]]
1165
1372
  """
1166
1373
  if not isinstance(input, Tensor):
1167
- raise TypeError(f"For 'randint_like', the 'input' must be a Tensor, but got {type(input)}")
1374
+ raise TypeError(
1375
+ f"For 'randint_like', the 'input' must be a Tensor, but got {type(input)}")
1168
1376
  if dtype is None:
1169
1377
  dtype = input.dtype
1170
1378
  if dtype not in mstype.int_type:
1171
- raise ValueError(f"For 'randint_like', the 'dtype' must be an int type, but got {dtype}.")
1379
+ raise ValueError(
1380
+ f"For 'randint_like', the 'dtype' must be an int type, but got {dtype}.")
1172
1381
  if not isinstance(low, int) or isinstance(low, bool):
1173
- raise TypeError(f"For 'randint_like', 'low' must be an int, but got {type(low)}.")
1382
+ raise TypeError(
1383
+ f"For 'randint_like', 'low' must be an int, but got {type(low)}.")
1174
1384
  if not isinstance(high, int) or isinstance(high, bool):
1175
- raise TypeError(f"For 'randint_like', 'high' must be an int, but got {type(high)}.")
1385
+ raise TypeError(
1386
+ f"For 'randint_like', 'high' must be an int, but got {type(high)}.")
1176
1387
  size = input.shape
1177
1388
  seed1, seed2 = _get_seed(seed, 'randint_like')
1178
1389
  rand_op = P.UniformInt(seed1, seed2)
1179
1390
  rand_op = _set_prim_op_user_data(rand_op, "random_cache", False)
1180
- cast_ = P.Cast()
1181
1391
  low_ = Tensor(low, mstype.int32)
1182
1392
  high_ = Tensor(high, mstype.int32)
1183
1393
  size_ = Tensor(size, mstype.int32)
@@ -1234,7 +1444,8 @@ def poisson(shape, mean, seed=None):
1234
1444
  """
1235
1445
  seed1, seed2 = _get_seed(seed, "poisson")
1236
1446
  random_poisson_op = P.Poisson(seed1, seed2)
1237
- random_poisson_op = _set_prim_op_user_data(random_poisson_op, "random_cache", False)
1447
+ random_poisson_op = _set_prim_op_user_data(
1448
+ random_poisson_op, "random_cache", False)
1238
1449
  value = random_poisson_op(shape, mean)
1239
1450
  return value
1240
1451
 
@@ -1274,6 +1485,10 @@ def multinomial(input, num_samples, replacement=True, seed=None):
1274
1485
  but must be non-negative, finite and have a non-zero sum. When using values as weights, it can be understood as
1275
1486
  normalizing the input along the last dimension.
1276
1487
 
1488
+ .. warning::
1489
+ The Ascend backend does not support the reproducibility of random numbers, so
1490
+ the `seed` parameter has no effect.
1491
+
1277
1492
  Args:
1278
1493
  input (Tensor): The input tensor containing probabilities, must be 1 or 2 dimensions, with
1279
1494
  float32 data type.
@@ -1284,7 +1499,7 @@ def multinomial(input, num_samples, replacement=True, seed=None):
1284
1499
 
1285
1500
  Returns:
1286
1501
  Tensor, has the same rows with input. The number of sampled indices of each row is `num_samples`.
1287
- The dtype is float32.
1502
+ The dtype is int32.
1288
1503
 
1289
1504
  Raises:
1290
1505
  TypeError: If `input` is not a Tensor whose dtype is not float32.
@@ -1329,50 +1544,156 @@ def multinomial(input, num_samples, replacement=True, seed=None):
1329
1544
  >>> # [[0 0 0 0 0 0 0 0 1 0]
1330
1545
  >>> # [1 1 1 1 1 0 1 1 1 1]]
1331
1546
  """
1332
- shape = _get_cache_prim(P.Shape)()
1333
- reshape = _get_cache_prim(P.Reshape)()
1334
-
1335
1547
  def _check_valid_dim(dim, name):
1336
1548
  if dim not in (1, 2):
1337
- raise ValueError(f"For '{name}', the dimension of inputs must be 1d or 2d, but got {dim}.")
1549
+ raise ValueError(
1550
+ f"For '{name}', the dimension of inputs must be 1d or 2d, but got {dim}.")
1338
1551
 
1339
- _check_valid_dim(len(shape(input)), "multinomial")
1552
+ _check_valid_dim(len(shape_(input)), "multinomial")
1340
1553
  seed1, seed2 = _get_seed(seed, "multinomial")
1341
1554
  if not replacement:
1342
- if shape(input)[-1] < num_samples:
1555
+ if shape_(input)[-1] < num_samples:
1343
1556
  const_utils.raise_value_error(f"For 'multinomial', the 'num_samples' must be less than "
1344
1557
  f"the last dimension of input without 'replacement', "
1345
1558
  f"but got 'num_samples': {num_samples} and "
1346
1559
  f"'replacement': {replacement}")
1347
1560
  n_dist = 1
1348
- if len(shape(input)) > 1:
1349
- n_dist = shape(input)[-2]
1561
+ if len(shape_(input)) > 1:
1562
+ n_dist = shape_(input)[-2]
1350
1563
  random_uniform_real = P.UniformReal(seed1, seed2)
1351
- random_cache_op = _set_prim_op_user_data(random_uniform_real, "random_cache", False)
1352
- random_uniform = random_cache_op((n_dist * shape(input)[-1],))
1564
+ random_cache_op = _set_prim_op_user_data(
1565
+ random_uniform_real, "random_cache", False)
1566
+ random_uniform = random_cache_op((n_dist * shape_(input)[-1],))
1353
1567
  if n_dist != 1:
1354
- random_uniform = reshape(random_uniform, (n_dist, shape(input)[-1]))
1355
- real_div = _get_cache_prim(P.RealDiv)()
1356
- log = _get_cache_prim(P.Log)()
1357
- top_k = _get_cache_prim(P.TopK)()
1568
+ random_uniform = reshape_(
1569
+ random_uniform, (n_dist, shape_(input)[-1]))
1358
1570
 
1359
- vals = real_div(log(random_uniform), input + 1e-6)
1360
- _, indices = top_k(vals, num_samples)
1571
+ vals = real_div_(log_(random_uniform), input + 1e-6)
1572
+ _, indices = top_k_(vals, num_samples)
1361
1573
  return indices
1362
1574
  random_nomial = P.Multinomial(seed1, seed2)
1363
- random_nomial = _set_prim_op_user_data(random_nomial, "random_cache", False)
1575
+ random_nomial = _set_prim_op_user_data(
1576
+ random_nomial, "random_cache", False)
1364
1577
  return random_nomial(input, num_samples)
1365
1578
 
1366
1579
 
1580
+ @_function_forbid_reuse
1581
+ def multinomial_ext(input, num_samples, replacement=False, *, generator=None):
1582
+ r"""
1583
+ Returns a tensor sampled from the multinomial probability distribution located in the corresponding
1584
+ row of the input tensor.
1585
+
1586
+ The polynomial distribution is a probability distribution that generalizes the binomial distribution formula to
1587
+ multiple states. In the polynomial distribution, each event has a fixed probability, and the sum of these
1588
+ probabilities is 1. The purpose of the `mindspore.mint.multinomial` interface is to perform `num_samples` sampling
1589
+ on the input `input`, and the output tensor is the index of the input tensor for each sampling.
1590
+ The values in `input` represent the probability of selecting the corresponding index for each sampling.
1591
+
1592
+ Here is an extreme example for better understanding. Suppose we have an input probability tensor with
1593
+ values `Tensor([90 / 100, 10 / 100, 0], mindspore.float32)`, which means we can sample three indices,
1594
+ namely index 0, index 1, and index 2, with probabilities of 90%, 10%, and 0%, respectively. We perform n samplings,
1595
+ and the resulting sequence is the calculation result of the polynomial distribution, with a length equal to the
1596
+ number of samplings.
1597
+
1598
+ In case 1 of the sample code, we perform two non-replacement samplings (`replacement` is `False`).
1599
+ The calculation result is most likely `[0, 1]`, and less likely `[1, 0]`. Since the probability of selecting
1600
+ index 0 is 90% for each sampling, the first result is most likely to be index 0. Since the probability of selecting
1601
+ index 2 is 0, index 2 cannot appear in the sampling result. Therefore, the second result must be index 1,
1602
+ and the resulting sequence is `[0, 1]`.
1603
+
1604
+ In case 2 of the sample code, we perform 10 replacement samplings (`replacement` is `True`).
1605
+ As expected, about 90% of the sampling results are index 0.
1606
+
1607
+ In case 3 of the sample code, we extend the input to 2 dimensions, and the sampling results
1608
+ in each dimension also match our sampling expectations.
1609
+
1610
+ Note:
1611
+ The rows of input do not need to sum to one (in which case we use the values as weights),
1612
+ but must be non-negative, finite and have a non-zero sum.
1613
+ When using values as weights, it can be understood as normalizing the input along the last dimension.
1614
+
1615
+ .. warning::
1616
+ This is an experimental API that is subject to change or deletion.
1617
+
1618
+ Args:
1619
+ input (Tensor): The input tensor containing probabilities, must be 1 or 2 dimensions, with float32 data type.
1620
+ num_samples (int): Number of samples to draw.
1621
+ replacement (bool, optional): Whether to draw with replacement or not. Default: ``False`` .
1622
+
1623
+ Keyword Args:
1624
+ generator (generator, optional): MindSpore generator. Default: ``None``.
1625
+
1626
+ Returns:
1627
+ Tensor, dtype is Int64.
1628
+ If `input` is a vector, out is a vector of size `num_samples`.
1629
+ If `input` is a matrix with m rows, out is an matrix of shape(m * num_samples).
1630
+
1631
+ Raises:
1632
+ TypeError: If `input` is not a Tensor whose dtype is not in float16, float32, float64 or bfloat16.
1633
+ , 或是shape为(1, 1)的Tensor
1634
+ TypeError: If `num_samples` is not an int, a Scalar of int
1635
+ or a Tensor with shape[1,] and only one int element.
1636
+ RuntimeError: If :math:`\text{num_samples} <= 0`.
1637
+ RuntimeError: If `replacement` is False, :math:`\text{num_samples} > shape` of the last dimension of `input`.
1638
+ RuntimeError: If shape of the last dimension of `input` exceeds ``2^24``.
1639
+
1640
+ Supported Platforms:
1641
+ ``Ascend``
1642
+
1643
+ Examples:
1644
+ >>> import mindspore
1645
+ >>> from mindspore import Tensor, ops
1646
+ >>> from mindspore import dtype as mstype
1647
+ >>> # case 1: The output is random, and the length of the output is the same as num_sample.
1648
+ >>> # replacement is False.
1649
+ >>> input1 = Tensor([90 / 100, 10 / 100, 0], mindspore.float32)
1650
+ >>> input2 = Tensor([90, 10, 0], mindspore.float32)
1651
+ >>> # input1 and input2 have the same meaning.
1652
+ >>> output1 = ops.multinomial_ext(input1, 2)
1653
+ >>> output2 = ops.multinomial_ext(input2, 2)
1654
+ >>> # print(output1)
1655
+ >>> # [0 1]
1656
+ >>> # print(output2)
1657
+ >>> # [0 1]
1658
+ >>> print(len(output1))
1659
+ 2
1660
+ >>> print(len(output2))
1661
+ 2
1662
+ >>> # case 2: The output is random, and the length of the output is the same as num_sample.
1663
+ >>> # replacement is True.
1664
+ >>> output3 = ops.multinomial_ext(input1, 10, replacement=True)
1665
+ >>> # print(output3)
1666
+ >>> # [0 0 1 0 0 0 0 0 0 0]
1667
+ >>> print(len(output3))
1668
+ 10
1669
+ >>> # case 3: The output is random, and the length of the output is the same as num_sample.
1670
+ >>> # replacement is True.
1671
+ >>> # rank is 2
1672
+ >>> input4 = Tensor([[90, 10, 0], [10, 90, 0]], mstype.float32)
1673
+ >>> output4 = ops.multinomial_ext(input4, 10, replacement=True)
1674
+ >>> # print(output4)
1675
+ >>> # [[0 0 0 0 0 0 0 0 1 0]
1676
+ >>> # [1 1 1 1 1 0 1 1 1 1]]
1677
+ """
1678
+
1679
+ if generator is None:
1680
+ generator = default_generator
1681
+ seed, offset = generator._step(generator_step_) # pylint: disable=protected-access
1682
+ return multinomial_ext_(input, num_samples, replacement, seed, offset)
1683
+
1684
+
1367
1685
  def _check_shape(input_shape):
1368
1686
  """Check 'shape' value."""
1369
1687
  if not isinstance(input_shape, tuple):
1370
- const_utils.raise_type_error(f"Type of 'shape' must be tuple, but got: {type(input_shape)}")
1688
+ const_utils.raise_type_error(
1689
+ f"Type of 'shape' must be tuple, but got: {type(input_shape)}")
1371
1690
  for item in input_shape:
1372
1691
  if not isinstance(item, int):
1373
- const_utils.raise_type_error(f"Elements of 'shape' must be int, but got: {type(item)}")
1692
+ const_utils.raise_type_error(
1693
+ f"Elements of 'shape' must be int, but got: {type(item)}")
1374
1694
  if item < 1:
1375
- const_utils.raise_value_error(f"Elements of 'shape' must be positive int, but got: {item}")
1695
+ const_utils.raise_value_error(
1696
+ f"Elements of 'shape' must be positive int, but got: {item}")
1376
1697
  return True
1377
1698
 
1378
1699
 
@@ -1387,7 +1708,8 @@ def _check_param(op_name, param_name, param_value):
1387
1708
  __all__ = [
1388
1709
  'standard_laplace', 'random_categorical', 'uniform', 'standard_normal', 'random_gamma',
1389
1710
  'uniform_candidate_sampler', 'random_poisson', 'log_uniform_candidate_sampler', 'shuffle', 'choice_with_mask',
1390
- 'normal', 'laplace', 'gamma', 'poisson', 'multinomial', 'rand', 'rand_like', 'randn', 'randn_like', 'randint',
1391
- 'randint_like', 'multinomial_with_replacement', 'randperm'
1711
+ 'normal', 'laplace', 'gamma', 'poisson', 'multinomial', 'rand', 'rand_like',
1712
+ 'randn', 'randn_like',
1713
+ 'randint', 'randint_like', 'multinomial_with_replacement', 'randperm'
1392
1714
  ]
1393
1715
  __all__.sort()