mindspore 2.4.0__cp310-cp310-macosx_11_0_arm64.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 (1387) hide show
  1. mindspore/.commit_id +1 -0
  2. mindspore/__init__.py +53 -0
  3. mindspore/_c_dataengine.cpython-310-darwin.so +0 -0
  4. mindspore/_c_expression.cpython-310-darwin.so +0 -0
  5. mindspore/_c_mindrecord.cpython-310-darwin.so +0 -0
  6. mindspore/_check_jit_forbidden_api.py +106 -0
  7. mindspore/_checkparam.py +1419 -0
  8. mindspore/_extends/__init__.py +23 -0
  9. mindspore/_extends/builtin_operations.py +224 -0
  10. mindspore/_extends/graph_kernel/__init__.py +17 -0
  11. mindspore/_extends/graph_kernel/model/__init__.py +19 -0
  12. mindspore/_extends/graph_kernel/model/graph_parallel.py +311 -0
  13. mindspore/_extends/graph_kernel/model/graph_split.py +1348 -0
  14. mindspore/_extends/graph_kernel/model/model.py +553 -0
  15. mindspore/_extends/graph_kernel/model/model_builder.py +216 -0
  16. mindspore/_extends/graph_kernel/parallel_estimate.py +60 -0
  17. mindspore/_extends/graph_kernel/splitter.py +140 -0
  18. mindspore/_extends/graph_kernel/utils.py +28 -0
  19. mindspore/_extends/parallel_compile/__init__.py +19 -0
  20. mindspore/_extends/parallel_compile/akg_compiler/__init__.py +19 -0
  21. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +269 -0
  22. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +529 -0
  23. mindspore/_extends/parallel_compile/akg_compiler/compiler.py +56 -0
  24. mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +96 -0
  25. mindspore/_extends/parallel_compile/akg_compiler/get_file_path.py +36 -0
  26. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +556 -0
  27. mindspore/_extends/parallel_compile/akg_compiler/util.py +159 -0
  28. mindspore/_extends/parse/__init__.py +49 -0
  29. mindspore/_extends/parse/compile_config.py +299 -0
  30. mindspore/_extends/parse/namespace.py +136 -0
  31. mindspore/_extends/parse/parser.py +1448 -0
  32. mindspore/_extends/parse/resources.py +213 -0
  33. mindspore/_extends/parse/standard_method.py +4475 -0
  34. mindspore/_extends/parse/trope.py +97 -0
  35. mindspore/_extends/pijit/__init__.py +23 -0
  36. mindspore/_extends/pijit/pijit_func_white_list.py +669 -0
  37. mindspore/_extends/remote/__init__.py +19 -0
  38. mindspore/_extends/remote/kernel_build_server.py +199 -0
  39. mindspore/_extends/remote/kernel_build_server_akg.py +55 -0
  40. mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
  41. mindspore/_extends/remote/kernel_build_server_ascend.py +75 -0
  42. mindspore/_extends/utils.py +68 -0
  43. mindspore/_install_custom.py +43 -0
  44. mindspore/_profiler.py +30 -0
  45. mindspore/amp.py +433 -0
  46. mindspore/boost/__init__.py +42 -0
  47. mindspore/boost/adasum.py +319 -0
  48. mindspore/boost/base.py +535 -0
  49. mindspore/boost/boost.py +400 -0
  50. mindspore/boost/boost_cell_wrapper.py +790 -0
  51. mindspore/boost/dim_reduce.py +323 -0
  52. mindspore/boost/grad_accumulation.py +79 -0
  53. mindspore/boost/grad_freeze.py +382 -0
  54. mindspore/boost/group_loss_scale_manager.py +166 -0
  55. mindspore/boost/less_batch_normalization.py +174 -0
  56. mindspore/common/__init__.py +86 -0
  57. mindspore/common/_auto_dynamic.py +68 -0
  58. mindspore/common/_decorator.py +50 -0
  59. mindspore/common/_jit_fallback_utils.py +110 -0
  60. mindspore/common/_monad.py +25 -0
  61. mindspore/common/_pijit_context.py +190 -0
  62. mindspore/common/_register_for_adapter.py +74 -0
  63. mindspore/common/_register_for_recompute.py +48 -0
  64. mindspore/common/_register_for_tensor.py +46 -0
  65. mindspore/common/_stub_tensor.py +210 -0
  66. mindspore/common/_tensor_overload.py +139 -0
  67. mindspore/common/_utils.py +122 -0
  68. mindspore/common/api.py +2064 -0
  69. mindspore/common/auto_dynamic_shape.py +507 -0
  70. mindspore/common/dtype.py +422 -0
  71. mindspore/common/dump.py +130 -0
  72. mindspore/common/file_system.py +48 -0
  73. mindspore/common/generator.py +254 -0
  74. mindspore/common/hook_handle.py +143 -0
  75. mindspore/common/initializer.py +880 -0
  76. mindspore/common/jit_config.py +98 -0
  77. mindspore/common/lazy_inline.py +240 -0
  78. mindspore/common/mindir_util.py +111 -0
  79. mindspore/common/mutable.py +234 -0
  80. mindspore/common/no_inline.py +54 -0
  81. mindspore/common/np_dtype.py +25 -0
  82. mindspore/common/parameter.py +1081 -0
  83. mindspore/common/recompute.py +292 -0
  84. mindspore/common/seed.py +260 -0
  85. mindspore/common/sparse_tensor.py +1175 -0
  86. mindspore/common/symbol.py +122 -0
  87. mindspore/common/tensor.py +5039 -0
  88. mindspore/communication/__init__.py +37 -0
  89. mindspore/communication/_comm_helper.py +501 -0
  90. mindspore/communication/_hccl_management.py +297 -0
  91. mindspore/communication/comm_func.py +1395 -0
  92. mindspore/communication/management.py +673 -0
  93. mindspore/config/op_info.config +533 -0
  94. mindspore/context.py +2077 -0
  95. mindspore/dataset/__init__.py +90 -0
  96. mindspore/dataset/audio/__init__.py +61 -0
  97. mindspore/dataset/audio/transforms.py +3690 -0
  98. mindspore/dataset/audio/utils.py +386 -0
  99. mindspore/dataset/audio/validators.py +1172 -0
  100. mindspore/dataset/callback/__init__.py +20 -0
  101. mindspore/dataset/callback/ds_callback.py +368 -0
  102. mindspore/dataset/callback/validators.py +32 -0
  103. mindspore/dataset/core/__init__.py +13 -0
  104. mindspore/dataset/core/config.py +1095 -0
  105. mindspore/dataset/core/datatypes.py +101 -0
  106. mindspore/dataset/core/py_util_helpers.py +65 -0
  107. mindspore/dataset/core/validator_helpers.py +781 -0
  108. mindspore/dataset/debug/__init__.py +21 -0
  109. mindspore/dataset/debug/debug_hook.py +97 -0
  110. mindspore/dataset/debug/pre_defined_hook.py +67 -0
  111. mindspore/dataset/engine/__init__.py +124 -0
  112. mindspore/dataset/engine/cache_admin.py +47 -0
  113. mindspore/dataset/engine/cache_client.py +129 -0
  114. mindspore/dataset/engine/datasets.py +4582 -0
  115. mindspore/dataset/engine/datasets_audio.py +911 -0
  116. mindspore/dataset/engine/datasets_standard_format.py +543 -0
  117. mindspore/dataset/engine/datasets_text.py +2161 -0
  118. mindspore/dataset/engine/datasets_user_defined.py +1184 -0
  119. mindspore/dataset/engine/datasets_vision.py +4816 -0
  120. mindspore/dataset/engine/iterators.py +371 -0
  121. mindspore/dataset/engine/obs/__init__.py +23 -0
  122. mindspore/dataset/engine/obs/config_loader.py +68 -0
  123. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +508 -0
  124. mindspore/dataset/engine/obs/util.py +482 -0
  125. mindspore/dataset/engine/offload.py +596 -0
  126. mindspore/dataset/engine/queue.py +304 -0
  127. mindspore/dataset/engine/samplers.py +895 -0
  128. mindspore/dataset/engine/serializer_deserializer.py +159 -0
  129. mindspore/dataset/engine/validators.py +2895 -0
  130. mindspore/dataset/text/__init__.py +51 -0
  131. mindspore/dataset/text/transforms.py +1703 -0
  132. mindspore/dataset/text/utils.py +715 -0
  133. mindspore/dataset/text/validators.py +642 -0
  134. mindspore/dataset/transforms/__init__.py +45 -0
  135. mindspore/dataset/transforms/c_transforms.py +638 -0
  136. mindspore/dataset/transforms/py_transforms.py +393 -0
  137. mindspore/dataset/transforms/py_transforms_util.py +255 -0
  138. mindspore/dataset/transforms/transforms.py +1260 -0
  139. mindspore/dataset/transforms/validators.py +410 -0
  140. mindspore/dataset/utils/__init__.py +19 -0
  141. mindspore/dataset/utils/browse_dataset.py +190 -0
  142. mindspore/dataset/utils/line_reader.py +126 -0
  143. mindspore/dataset/vision/__init__.py +65 -0
  144. mindspore/dataset/vision/c_transforms.py +2641 -0
  145. mindspore/dataset/vision/py_transforms.py +2120 -0
  146. mindspore/dataset/vision/py_transforms_util.py +1660 -0
  147. mindspore/dataset/vision/transforms.py +7295 -0
  148. mindspore/dataset/vision/utils.py +863 -0
  149. mindspore/dataset/vision/validators.py +1483 -0
  150. mindspore/default_config.py +2 -0
  151. mindspore/experimental/__init__.py +20 -0
  152. mindspore/experimental/es/__init__.py +22 -0
  153. mindspore/experimental/es/embedding_service.py +883 -0
  154. mindspore/experimental/es/embedding_service_layer.py +581 -0
  155. mindspore/experimental/llm_boost/__init__.py +21 -0
  156. mindspore/experimental/llm_boost/atb/__init__.py +23 -0
  157. mindspore/experimental/llm_boost/atb/boost_base.py +211 -0
  158. mindspore/experimental/llm_boost/atb/llama_boost.py +115 -0
  159. mindspore/experimental/llm_boost/atb/qwen_boost.py +101 -0
  160. mindspore/experimental/llm_boost/register.py +129 -0
  161. mindspore/experimental/llm_boost/utils.py +31 -0
  162. mindspore/experimental/map_parameter.py +309 -0
  163. mindspore/experimental/optim/__init__.py +40 -0
  164. mindspore/experimental/optim/adadelta.py +161 -0
  165. mindspore/experimental/optim/adagrad.py +168 -0
  166. mindspore/experimental/optim/adam.py +193 -0
  167. mindspore/experimental/optim/adamax.py +170 -0
  168. mindspore/experimental/optim/adamw.py +290 -0
  169. mindspore/experimental/optim/asgd.py +153 -0
  170. mindspore/experimental/optim/lr_scheduler.py +1371 -0
  171. mindspore/experimental/optim/nadam.py +157 -0
  172. mindspore/experimental/optim/optimizer.py +262 -0
  173. mindspore/experimental/optim/radam.py +194 -0
  174. mindspore/experimental/optim/rmsprop.py +154 -0
  175. mindspore/experimental/optim/rprop.py +164 -0
  176. mindspore/experimental/optim/sgd.py +156 -0
  177. mindspore/hal/__init__.py +40 -0
  178. mindspore/hal/_ascend.py +57 -0
  179. mindspore/hal/_base.py +57 -0
  180. mindspore/hal/_cpu.py +56 -0
  181. mindspore/hal/_gpu.py +57 -0
  182. mindspore/hal/contiguous_tensors_handle.py +175 -0
  183. mindspore/hal/device.py +356 -0
  184. mindspore/hal/event.py +179 -0
  185. mindspore/hal/memory.py +326 -0
  186. mindspore/hal/stream.py +357 -0
  187. mindspore/include/OWNERS +7 -0
  188. mindspore/include/api/allocator.h +97 -0
  189. mindspore/include/api/callback/callback.h +93 -0
  190. mindspore/include/api/callback/ckpt_saver.h +41 -0
  191. mindspore/include/api/callback/loss_monitor.h +33 -0
  192. mindspore/include/api/callback/lr_scheduler.h +51 -0
  193. mindspore/include/api/callback/time_monitor.h +34 -0
  194. mindspore/include/api/callback/train_accuracy.h +37 -0
  195. mindspore/include/api/cell.h +90 -0
  196. mindspore/include/api/cfg.h +82 -0
  197. mindspore/include/api/context.h +602 -0
  198. mindspore/include/api/data_type.h +47 -0
  199. mindspore/include/api/delegate.h +178 -0
  200. mindspore/include/api/delegate_api.h +75 -0
  201. mindspore/include/api/dual_abi_helper.h +208 -0
  202. mindspore/include/api/format.h +28 -0
  203. mindspore/include/api/graph.h +46 -0
  204. mindspore/include/api/kernel.h +58 -0
  205. mindspore/include/api/kernel_api.h +168 -0
  206. mindspore/include/api/metrics/accuracy.h +36 -0
  207. mindspore/include/api/metrics/metrics.h +41 -0
  208. mindspore/include/api/model.h +438 -0
  209. mindspore/include/api/model_group.h +91 -0
  210. mindspore/include/api/model_parallel_runner.h +168 -0
  211. mindspore/include/api/serialization.h +185 -0
  212. mindspore/include/api/status.h +192 -0
  213. mindspore/include/api/types.h +431 -0
  214. mindspore/include/api/visible.h +41 -0
  215. mindspore/include/c_api/context_c.h +179 -0
  216. mindspore/include/c_api/data_type_c.h +52 -0
  217. mindspore/include/c_api/format_c.h +46 -0
  218. mindspore/include/c_api/model_c.h +347 -0
  219. mindspore/include/c_api/status_c.h +79 -0
  220. mindspore/include/c_api/tensor_c.h +146 -0
  221. mindspore/include/c_api/types_c.h +67 -0
  222. mindspore/include/dataset/config.h +163 -0
  223. mindspore/include/dataset/constants.h +363 -0
  224. mindspore/include/dataset/execute.h +196 -0
  225. mindspore/include/dataset/text.h +1092 -0
  226. mindspore/include/dataset/transforms.h +638 -0
  227. mindspore/include/dataset/vision.h +2129 -0
  228. mindspore/include/dataset/vision_ascend.h +206 -0
  229. mindspore/include/dataset/vision_lite.h +625 -0
  230. mindspore/lib/libavcodec.59.dylib +0 -0
  231. mindspore/lib/libavdevice.59.dylib +0 -0
  232. mindspore/lib/libavfilter.8.dylib +0 -0
  233. mindspore/lib/libavformat.59.dylib +0 -0
  234. mindspore/lib/libavutil.57.dylib +0 -0
  235. mindspore/lib/libdnnl.2.dylib +0 -0
  236. mindspore/lib/libicudata.69.dylib +0 -0
  237. mindspore/lib/libicui18n.69.dylib +0 -0
  238. mindspore/lib/libicuuc.69.dylib +0 -0
  239. mindspore/lib/libmindspore_address_sorting.15.dylib +0 -0
  240. mindspore/lib/libmindspore_backend.dylib +0 -0
  241. mindspore/lib/libmindspore_common.dylib +0 -0
  242. mindspore/lib/libmindspore_core.dylib +0 -0
  243. mindspore/lib/libmindspore_glog.0.dylib +0 -0
  244. mindspore/lib/libmindspore_gpr.15.dylib +0 -0
  245. mindspore/lib/libmindspore_grpc++.1.dylib +0 -0
  246. mindspore/lib/libmindspore_grpc.15.dylib +0 -0
  247. mindspore/lib/libmindspore_np_dtype.dylib +0 -0
  248. mindspore/lib/libmindspore_ops.dylib +0 -0
  249. mindspore/lib/libmindspore_upb.15.dylib +0 -0
  250. mindspore/lib/libnnacl.dylib +0 -0
  251. mindspore/lib/libopencv_core.4.5.dylib +0 -0
  252. mindspore/lib/libopencv_imgcodecs.4.5.dylib +0 -0
  253. mindspore/lib/libopencv_imgproc.4.5.dylib +0 -0
  254. mindspore/lib/libps_cache.dylib +0 -0
  255. mindspore/lib/libswresample.4.dylib +0 -0
  256. mindspore/lib/libswscale.6.dylib +0 -0
  257. mindspore/lib/libtinyxml2.8.dylib +0 -0
  258. mindspore/log.py +633 -0
  259. mindspore/mindrecord/__init__.py +43 -0
  260. mindspore/mindrecord/common/__init__.py +17 -0
  261. mindspore/mindrecord/common/constant.py +20 -0
  262. mindspore/mindrecord/common/enums.py +44 -0
  263. mindspore/mindrecord/common/exceptions.py +311 -0
  264. mindspore/mindrecord/config.py +809 -0
  265. mindspore/mindrecord/filereader.py +174 -0
  266. mindspore/mindrecord/filewriter.py +722 -0
  267. mindspore/mindrecord/mindpage.py +210 -0
  268. mindspore/mindrecord/shardheader.py +141 -0
  269. mindspore/mindrecord/shardindexgenerator.py +74 -0
  270. mindspore/mindrecord/shardreader.py +117 -0
  271. mindspore/mindrecord/shardsegment.py +128 -0
  272. mindspore/mindrecord/shardutils.py +185 -0
  273. mindspore/mindrecord/shardwriter.py +237 -0
  274. mindspore/mindrecord/tools/__init__.py +17 -0
  275. mindspore/mindrecord/tools/cifar10.py +140 -0
  276. mindspore/mindrecord/tools/cifar100.py +153 -0
  277. mindspore/mindrecord/tools/cifar100_to_mr.py +185 -0
  278. mindspore/mindrecord/tools/cifar10_to_mr.py +177 -0
  279. mindspore/mindrecord/tools/csv_to_mr.py +200 -0
  280. mindspore/mindrecord/tools/imagenet_to_mr.py +206 -0
  281. mindspore/mindrecord/tools/mnist_to_mr.py +259 -0
  282. mindspore/mindrecord/tools/tfrecord_to_mr.py +360 -0
  283. mindspore/mint/__init__.py +1586 -0
  284. mindspore/mint/distributed/__init__.py +31 -0
  285. mindspore/mint/distributed/distributed.py +254 -0
  286. mindspore/mint/linalg/__init__.py +22 -0
  287. mindspore/mint/nn/__init__.py +757 -0
  288. mindspore/mint/nn/functional.py +679 -0
  289. mindspore/mint/nn/layer/__init__.py +39 -0
  290. mindspore/mint/nn/layer/activation.py +133 -0
  291. mindspore/mint/nn/layer/normalization.py +477 -0
  292. mindspore/mint/nn/layer/pooling.py +110 -0
  293. mindspore/mint/optim/__init__.py +24 -0
  294. mindspore/mint/optim/adamw.py +206 -0
  295. mindspore/mint/special/__init__.py +63 -0
  296. mindspore/multiprocessing/__init__.py +73 -0
  297. mindspore/nn/__init__.py +47 -0
  298. mindspore/nn/cell.py +2787 -0
  299. mindspore/nn/dynamic_lr.py +482 -0
  300. mindspore/nn/grad/__init__.py +21 -0
  301. mindspore/nn/grad/cell_grad.py +196 -0
  302. mindspore/nn/layer/__init__.py +63 -0
  303. mindspore/nn/layer/activation.py +1822 -0
  304. mindspore/nn/layer/basic.py +1629 -0
  305. mindspore/nn/layer/channel_shuffle.py +90 -0
  306. mindspore/nn/layer/combined.py +248 -0
  307. mindspore/nn/layer/container.py +734 -0
  308. mindspore/nn/layer/conv.py +1505 -0
  309. mindspore/nn/layer/dense.py +204 -0
  310. mindspore/nn/layer/embedding.py +869 -0
  311. mindspore/nn/layer/image.py +661 -0
  312. mindspore/nn/layer/math.py +1069 -0
  313. mindspore/nn/layer/normalization.py +1273 -0
  314. mindspore/nn/layer/padding.py +880 -0
  315. mindspore/nn/layer/pooling.py +2302 -0
  316. mindspore/nn/layer/rnn_cells.py +388 -0
  317. mindspore/nn/layer/rnns.py +849 -0
  318. mindspore/nn/layer/thor_layer.py +963 -0
  319. mindspore/nn/layer/timedistributed.py +155 -0
  320. mindspore/nn/layer/transformer.py +823 -0
  321. mindspore/nn/learning_rate_schedule.py +512 -0
  322. mindspore/nn/loss/__init__.py +36 -0
  323. mindspore/nn/loss/loss.py +2924 -0
  324. mindspore/nn/metrics.py +53 -0
  325. mindspore/nn/optim/__init__.py +45 -0
  326. mindspore/nn/optim/_dist_optimizer_registry.py +111 -0
  327. mindspore/nn/optim/ada_grad.py +217 -0
  328. mindspore/nn/optim/adadelta.py +206 -0
  329. mindspore/nn/optim/adafactor.py +448 -0
  330. mindspore/nn/optim/adam.py +1297 -0
  331. mindspore/nn/optim/adamax.py +220 -0
  332. mindspore/nn/optim/adasum.py +548 -0
  333. mindspore/nn/optim/asgd.py +216 -0
  334. mindspore/nn/optim/ftrl.py +401 -0
  335. mindspore/nn/optim/lamb.py +296 -0
  336. mindspore/nn/optim/lars.py +202 -0
  337. mindspore/nn/optim/lazyadam.py +533 -0
  338. mindspore/nn/optim/momentum.py +239 -0
  339. mindspore/nn/optim/optimizer.py +1034 -0
  340. mindspore/nn/optim/proximal_ada_grad.py +242 -0
  341. mindspore/nn/optim/rmsprop.py +264 -0
  342. mindspore/nn/optim/rprop.py +251 -0
  343. mindspore/nn/optim/sgd.py +237 -0
  344. mindspore/nn/optim/tft_wrapper.py +127 -0
  345. mindspore/nn/optim/thor.py +1310 -0
  346. mindspore/nn/probability/__init__.py +22 -0
  347. mindspore/nn/probability/bijector/__init__.py +35 -0
  348. mindspore/nn/probability/bijector/bijector.py +337 -0
  349. mindspore/nn/probability/bijector/exp.py +65 -0
  350. mindspore/nn/probability/bijector/gumbel_cdf.py +144 -0
  351. mindspore/nn/probability/bijector/invert.py +126 -0
  352. mindspore/nn/probability/bijector/power_transform.py +196 -0
  353. mindspore/nn/probability/bijector/scalar_affine.py +167 -0
  354. mindspore/nn/probability/bijector/softplus.py +189 -0
  355. mindspore/nn/probability/bnn_layers/__init__.py +29 -0
  356. mindspore/nn/probability/bnn_layers/_util.py +46 -0
  357. mindspore/nn/probability/bnn_layers/bnn_cell_wrapper.py +112 -0
  358. mindspore/nn/probability/bnn_layers/conv_variational.py +267 -0
  359. mindspore/nn/probability/bnn_layers/dense_variational.py +302 -0
  360. mindspore/nn/probability/bnn_layers/layer_distribution.py +123 -0
  361. mindspore/nn/probability/distribution/__init__.py +56 -0
  362. mindspore/nn/probability/distribution/_utils/__init__.py +34 -0
  363. mindspore/nn/probability/distribution/_utils/custom_ops.py +96 -0
  364. mindspore/nn/probability/distribution/_utils/utils.py +362 -0
  365. mindspore/nn/probability/distribution/bernoulli.py +334 -0
  366. mindspore/nn/probability/distribution/beta.py +391 -0
  367. mindspore/nn/probability/distribution/categorical.py +435 -0
  368. mindspore/nn/probability/distribution/cauchy.py +383 -0
  369. mindspore/nn/probability/distribution/distribution.py +827 -0
  370. mindspore/nn/probability/distribution/exponential.py +350 -0
  371. mindspore/nn/probability/distribution/gamma.py +391 -0
  372. mindspore/nn/probability/distribution/geometric.py +335 -0
  373. mindspore/nn/probability/distribution/gumbel.py +257 -0
  374. mindspore/nn/probability/distribution/half_normal.py +133 -0
  375. mindspore/nn/probability/distribution/laplace.py +128 -0
  376. mindspore/nn/probability/distribution/log_normal.py +272 -0
  377. mindspore/nn/probability/distribution/logistic.py +379 -0
  378. mindspore/nn/probability/distribution/normal.py +336 -0
  379. mindspore/nn/probability/distribution/poisson.py +288 -0
  380. mindspore/nn/probability/distribution/student_t.py +149 -0
  381. mindspore/nn/probability/distribution/transformed_distribution.py +235 -0
  382. mindspore/nn/probability/distribution/uniform.py +375 -0
  383. mindspore/nn/reinforcement/__init__.py +24 -0
  384. mindspore/nn/reinforcement/_batch_read_write.py +142 -0
  385. mindspore/nn/reinforcement/_tensors_queue.py +152 -0
  386. mindspore/nn/reinforcement/tensor_array.py +145 -0
  387. mindspore/nn/sparse/__init__.py +23 -0
  388. mindspore/nn/sparse/sparse.py +147 -0
  389. mindspore/nn/wrap/__init__.py +49 -0
  390. mindspore/nn/wrap/cell_wrapper.py +968 -0
  391. mindspore/nn/wrap/grad_reducer.py +608 -0
  392. mindspore/nn/wrap/loss_scale.py +694 -0
  393. mindspore/numpy/__init__.py +121 -0
  394. mindspore/numpy/array_creations.py +2731 -0
  395. mindspore/numpy/array_ops.py +2629 -0
  396. mindspore/numpy/dtypes.py +185 -0
  397. mindspore/numpy/fft.py +966 -0
  398. mindspore/numpy/logic_ops.py +936 -0
  399. mindspore/numpy/math_ops.py +5911 -0
  400. mindspore/numpy/utils.py +214 -0
  401. mindspore/numpy/utils_const.py +565 -0
  402. mindspore/ops/__init__.py +56 -0
  403. mindspore/ops/_constants.py +30 -0
  404. mindspore/ops/_grad_experimental/__init__.py +31 -0
  405. mindspore/ops/_grad_experimental/grad_array_ops.py +830 -0
  406. mindspore/ops/_grad_experimental/grad_base.py +143 -0
  407. mindspore/ops/_grad_experimental/grad_comm_ops.py +714 -0
  408. mindspore/ops/_grad_experimental/grad_debug_ops.py +31 -0
  409. mindspore/ops/_grad_experimental/grad_implementations.py +203 -0
  410. mindspore/ops/_grad_experimental/grad_inner_ops.py +79 -0
  411. mindspore/ops/_grad_experimental/grad_math_ops.py +802 -0
  412. mindspore/ops/_grad_experimental/grad_nn_ops.py +231 -0
  413. mindspore/ops/_grad_experimental/grad_quant_ops.py +238 -0
  414. mindspore/ops/_grad_experimental/grad_sparse.py +342 -0
  415. mindspore/ops/_grad_experimental/grad_sparse_ops.py +399 -0
  416. mindspore/ops/_grad_experimental/taylor_rule.py +220 -0
  417. mindspore/ops/_op_impl/__init__.py +23 -0
  418. mindspore/ops/_op_impl/_custom_op/__init__.py +39 -0
  419. mindspore/ops/_op_impl/_custom_op/_basic.py +158 -0
  420. mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +279 -0
  421. mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +156 -0
  422. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +109 -0
  423. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +125 -0
  424. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +105 -0
  425. mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +124 -0
  426. mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +116 -0
  427. mindspore/ops/_op_impl/_custom_op/correction_mul.py +89 -0
  428. mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +196 -0
  429. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +366 -0
  430. mindspore/ops/_op_impl/_custom_op/dsd_impl.py +162 -0
  431. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +136 -0
  432. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +206 -0
  433. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +88 -0
  434. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +128 -0
  435. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +199 -0
  436. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +88 -0
  437. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +156 -0
  438. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +184 -0
  439. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +143 -0
  440. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +169 -0
  441. mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +548 -0
  442. mindspore/ops/_op_impl/_custom_op/img2col_impl.py +881 -0
  443. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +278 -0
  444. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +200 -0
  445. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +334 -0
  446. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +255 -0
  447. mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +222 -0
  448. mindspore/ops/_op_impl/_custom_op/matmul_dds_grad_impl.py +644 -0
  449. mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +488 -0
  450. mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +87 -0
  451. mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +129 -0
  452. mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +121 -0
  453. mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +352 -0
  454. mindspore/ops/_op_impl/aicpu/__init__.py +441 -0
  455. mindspore/ops/_op_impl/aicpu/abs.py +36 -0
  456. mindspore/ops/_op_impl/aicpu/acos.py +32 -0
  457. mindspore/ops/_op_impl/aicpu/acos_grad.py +33 -0
  458. mindspore/ops/_op_impl/aicpu/acosh.py +34 -0
  459. mindspore/ops/_op_impl/aicpu/acosh_grad.py +35 -0
  460. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d.py +34 -0
  461. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -0
  462. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d.py +39 -0
  463. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d_grad.py +39 -0
  464. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d.py +37 -0
  465. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d_grad.py +37 -0
  466. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d.py +42 -0
  467. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d_grad.py +152 -0
  468. mindspore/ops/_op_impl/aicpu/add.py +43 -0
  469. mindspore/ops/_op_impl/aicpu/add_n.py +41 -0
  470. mindspore/ops/_op_impl/aicpu/add_v2.py +40 -0
  471. mindspore/ops/_op_impl/aicpu/addcdiv.py +41 -0
  472. mindspore/ops/_op_impl/aicpu/addcmul.py +47 -0
  473. mindspore/ops/_op_impl/aicpu/adjust_contrastv2.py +32 -0
  474. mindspore/ops/_op_impl/aicpu/adjust_hue.py +31 -0
  475. mindspore/ops/_op_impl/aicpu/adjust_saturation.py +32 -0
  476. mindspore/ops/_op_impl/aicpu/affine_grid.py +33 -0
  477. mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -0
  478. mindspore/ops/_op_impl/aicpu/angle.py +31 -0
  479. mindspore/ops/_op_impl/aicpu/arg_max.py +75 -0
  480. mindspore/ops/_op_impl/aicpu/arg_min.py +75 -0
  481. mindspore/ops/_op_impl/aicpu/argmax_with_value.py +43 -0
  482. mindspore/ops/_op_impl/aicpu/argmin_with_value.py +43 -0
  483. mindspore/ops/_op_impl/aicpu/asin.py +32 -0
  484. mindspore/ops/_op_impl/aicpu/asin_grad.py +33 -0
  485. mindspore/ops/_op_impl/aicpu/asinh.py +34 -0
  486. mindspore/ops/_op_impl/aicpu/asinh_grad.py +35 -0
  487. mindspore/ops/_op_impl/aicpu/atanh.py +34 -0
  488. mindspore/ops/_op_impl/aicpu/avgpool_grad_v1.py +37 -0
  489. mindspore/ops/_op_impl/aicpu/avgpool_v1.py +36 -0
  490. mindspore/ops/_op_impl/aicpu/bartlett_window.py +36 -0
  491. mindspore/ops/_op_impl/aicpu/batch_matmul.py +43 -0
  492. mindspore/ops/_op_impl/aicpu/batch_norm_grad_grad.py +49 -0
  493. mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
  494. mindspore/ops/_op_impl/aicpu/bessel_i0.py +31 -0
  495. mindspore/ops/_op_impl/aicpu/betainc.py +31 -0
  496. mindspore/ops/_op_impl/aicpu/bias_add.py +44 -0
  497. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +42 -0
  498. mindspore/ops/_op_impl/aicpu/bincount.py +33 -0
  499. mindspore/ops/_op_impl/aicpu/blackman_window.py +36 -0
  500. mindspore/ops/_op_impl/aicpu/broadcast_to.py +58 -0
  501. mindspore/ops/_op_impl/aicpu/bucketize.py +34 -0
  502. mindspore/ops/_op_impl/aicpu/cache_swap_table.py +102 -0
  503. mindspore/ops/_op_impl/aicpu/cast.py +225 -0
  504. mindspore/ops/_op_impl/aicpu/cauchy.py +33 -0
  505. mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
  506. mindspore/ops/_op_impl/aicpu/check_numerics.py +33 -0
  507. mindspore/ops/_op_impl/aicpu/cholesky.py +32 -0
  508. mindspore/ops/_op_impl/aicpu/cholesky_inverse.py +31 -0
  509. mindspore/ops/_op_impl/aicpu/cholesky_solve.py +33 -0
  510. mindspore/ops/_op_impl/aicpu/choleskygrad.py +32 -0
  511. mindspore/ops/_op_impl/aicpu/coalesce.py +37 -0
  512. mindspore/ops/_op_impl/aicpu/col2im.py +38 -0
  513. mindspore/ops/_op_impl/aicpu/combined_non_max_suppression.py +42 -0
  514. mindspore/ops/_op_impl/aicpu/compare_and_bitpack.py +37 -0
  515. mindspore/ops/_op_impl/aicpu/complex.py +32 -0
  516. mindspore/ops/_op_impl/aicpu/complex_abs.py +31 -0
  517. mindspore/ops/_op_impl/aicpu/compute_accidental_hits.py +44 -0
  518. mindspore/ops/_op_impl/aicpu/concat.py +57 -0
  519. mindspore/ops/_op_impl/aicpu/concat_offset.py +42 -0
  520. mindspore/ops/_op_impl/aicpu/concat_offset_v1.py +31 -0
  521. mindspore/ops/_op_impl/aicpu/conj.py +42 -0
  522. mindspore/ops/_op_impl/aicpu/conjugate_transpose.py +58 -0
  523. mindspore/ops/_op_impl/aicpu/cos.py +34 -0
  524. mindspore/ops/_op_impl/aicpu/cosh.py +34 -0
  525. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  526. mindspore/ops/_op_impl/aicpu/crop_and_resize.py +69 -0
  527. mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_boxes.py +68 -0
  528. mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_image.py +38 -0
  529. mindspore/ops/_op_impl/aicpu/cross.py +42 -0
  530. mindspore/ops/_op_impl/aicpu/csr_sparse_matrix_to_dense.py +48 -0
  531. mindspore/ops/_op_impl/aicpu/csr_sparse_matrix_to_sparse_tensor.py +51 -0
  532. mindspore/ops/_op_impl/aicpu/ctc_greedy_decoder.py +35 -0
  533. mindspore/ops/_op_impl/aicpu/ctc_loss_v2.py +43 -0
  534. mindspore/ops/_op_impl/aicpu/ctc_loss_v2_grad.py +45 -0
  535. mindspore/ops/_op_impl/aicpu/ctcloss.py +38 -0
  536. mindspore/ops/_op_impl/aicpu/cummax.py +41 -0
  537. mindspore/ops/_op_impl/aicpu/cumprod.py +58 -0
  538. mindspore/ops/_op_impl/aicpu/cumsum.py +58 -0
  539. mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +36 -0
  540. mindspore/ops/_op_impl/aicpu/data_format_vec_permute.py +32 -0
  541. mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
  542. mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +43 -0
  543. mindspore/ops/_op_impl/aicpu/dense_to_csr_sparse_matrix.py +49 -0
  544. mindspore/ops/_op_impl/aicpu/dense_to_dense_set_operation.py +45 -0
  545. mindspore/ops/_op_impl/aicpu/dense_to_sparse_set_operation.py +48 -0
  546. mindspore/ops/_op_impl/aicpu/depth_to_space.py +44 -0
  547. mindspore/ops/_op_impl/aicpu/diag.py +36 -0
  548. mindspore/ops/_op_impl/aicpu/diag_part.py +36 -0
  549. mindspore/ops/_op_impl/aicpu/diagonal.py +35 -0
  550. mindspore/ops/_op_impl/aicpu/digamma.py +31 -0
  551. mindspore/ops/_op_impl/aicpu/div.py +41 -0
  552. mindspore/ops/_op_impl/aicpu/div_no_nan.py +35 -0
  553. mindspore/ops/_op_impl/aicpu/dropout2d.py +42 -0
  554. mindspore/ops/_op_impl/aicpu/dropout3d.py +42 -0
  555. mindspore/ops/_op_impl/aicpu/dropout_genmask.py +41 -0
  556. mindspore/ops/_op_impl/aicpu/dropout_genmask_v3.py +32 -0
  557. mindspore/ops/_op_impl/aicpu/dynamic_stitch.py +42 -0
  558. mindspore/ops/_op_impl/aicpu/edit_distance.py +56 -0
  559. mindspore/ops/_op_impl/aicpu/eig.py +35 -0
  560. mindspore/ops/_op_impl/aicpu/embedding_lookup.py +102 -0
  561. mindspore/ops/_op_impl/aicpu/end_of_sequence.py +30 -0
  562. mindspore/ops/_op_impl/aicpu/environ_create.py +28 -0
  563. mindspore/ops/_op_impl/aicpu/environ_destroy_all.py +28 -0
  564. mindspore/ops/_op_impl/aicpu/environ_get.py +41 -0
  565. mindspore/ops/_op_impl/aicpu/environ_set.py +40 -0
  566. mindspore/ops/_op_impl/aicpu/eps.py +32 -0
  567. mindspore/ops/_op_impl/aicpu/equal.py +41 -0
  568. mindspore/ops/_op_impl/aicpu/exp.py +37 -0
  569. mindspore/ops/_op_impl/aicpu/expand.py +45 -0
  570. mindspore/ops/_op_impl/aicpu/expand_dims.py +42 -0
  571. mindspore/ops/_op_impl/aicpu/expm1.py +34 -0
  572. mindspore/ops/_op_impl/aicpu/extract_glimpse.py +35 -0
  573. mindspore/ops/_op_impl/aicpu/eye.py +44 -0
  574. mindspore/ops/_op_impl/aicpu/fft_with_size.py +47 -0
  575. mindspore/ops/_op_impl/aicpu/fill_diagonal.py +39 -0
  576. mindspore/ops/_op_impl/aicpu/fill_v2.py +58 -0
  577. mindspore/ops/_op_impl/aicpu/flatten.py +43 -0
  578. mindspore/ops/_op_impl/aicpu/floor_div.py +38 -0
  579. mindspore/ops/_op_impl/aicpu/fmax.py +36 -0
  580. mindspore/ops/_op_impl/aicpu/fmin.py +37 -0
  581. mindspore/ops/_op_impl/aicpu/fractional_avg_pool.py +41 -0
  582. mindspore/ops/_op_impl/aicpu/fractional_avg_pool_grad.py +41 -0
  583. mindspore/ops/_op_impl/aicpu/fractional_max_pool.py +41 -0
  584. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_grad_with_fixed_ksize.py +43 -0
  585. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_with_fixed_ksize.py +65 -0
  586. mindspore/ops/_op_impl/aicpu/fractional_max_pool_grad.py +42 -0
  587. mindspore/ops/_op_impl/aicpu/fractional_max_pool_grad_with_fixed_ksize.py +42 -0
  588. mindspore/ops/_op_impl/aicpu/fractional_max_pool_with_fixed_ksize.py +49 -0
  589. mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -0
  590. mindspore/ops/_op_impl/aicpu/fused_sparse_adam.py +46 -0
  591. mindspore/ops/_op_impl/aicpu/fused_sparse_ftrl.py +41 -0
  592. mindspore/ops/_op_impl/aicpu/fused_sparse_lazy_adam.py +46 -0
  593. mindspore/ops/_op_impl/aicpu/fused_sparse_proximal_adagrad.py +39 -0
  594. mindspore/ops/_op_impl/aicpu/gamma.py +38 -0
  595. mindspore/ops/_op_impl/aicpu/gather.py +46 -0
  596. mindspore/ops/_op_impl/aicpu/gather_d.py +79 -0
  597. mindspore/ops/_op_impl/aicpu/gather_d_grad_v2.py +79 -0
  598. mindspore/ops/_op_impl/aicpu/gather_grad.py +54 -0
  599. mindspore/ops/_op_impl/aicpu/gather_nd.py +56 -0
  600. mindspore/ops/_op_impl/aicpu/gcd.py +32 -0
  601. mindspore/ops/_op_impl/aicpu/generate_eod_mask.py +38 -0
  602. mindspore/ops/_op_impl/aicpu/geqrf.py +32 -0
  603. mindspore/ops/_op_impl/aicpu/get_next.py +39 -0
  604. mindspore/ops/_op_impl/aicpu/glu.py +33 -0
  605. mindspore/ops/_op_impl/aicpu/glu_grad.py +34 -0
  606. mindspore/ops/_op_impl/aicpu/greater.py +41 -0
  607. mindspore/ops/_op_impl/aicpu/greater_equal.py +41 -0
  608. mindspore/ops/_op_impl/aicpu/grid_sampler_2d.py +35 -0
  609. mindspore/ops/_op_impl/aicpu/grid_sampler_2d_grad.py +38 -0
  610. mindspore/ops/_op_impl/aicpu/grid_sampler_3d.py +34 -0
  611. mindspore/ops/_op_impl/aicpu/grid_sampler_3d_grad.py +38 -0
  612. mindspore/ops/_op_impl/aicpu/hamming_window.py +57 -0
  613. mindspore/ops/_op_impl/aicpu/hard_sigmoid.py +32 -0
  614. mindspore/ops/_op_impl/aicpu/hard_sigmoid_grad.py +33 -0
  615. mindspore/ops/_op_impl/aicpu/heaviside.py +40 -0
  616. mindspore/ops/_op_impl/aicpu/histogram.py +35 -0
  617. mindspore/ops/_op_impl/aicpu/hsv_to_rgb.py +32 -0
  618. mindspore/ops/_op_impl/aicpu/hypot.py +32 -0
  619. mindspore/ops/_op_impl/aicpu/identity.py +42 -0
  620. mindspore/ops/_op_impl/aicpu/identity_n.py +41 -0
  621. mindspore/ops/_op_impl/aicpu/igamma.py +30 -0
  622. mindspore/ops/_op_impl/aicpu/igammac.py +30 -0
  623. mindspore/ops/_op_impl/aicpu/igammagrada.py +30 -0
  624. mindspore/ops/_op_impl/aicpu/im2col.py +43 -0
  625. mindspore/ops/_op_impl/aicpu/imag.py +31 -0
  626. mindspore/ops/_op_impl/aicpu/index_fill.py +54 -0
  627. mindspore/ops/_op_impl/aicpu/index_put.py +50 -0
  628. mindspore/ops/_op_impl/aicpu/init_data_set_queue.py +27 -0
  629. mindspore/ops/_op_impl/aicpu/inplace_index_add.py +39 -0
  630. mindspore/ops/_op_impl/aicpu/instance_norm_v2.py +41 -0
  631. mindspore/ops/_op_impl/aicpu/instance_norm_v2_grad.py +44 -0
  632. mindspore/ops/_op_impl/aicpu/is_finite.py +40 -0
  633. mindspore/ops/_op_impl/aicpu/is_inf.py +31 -0
  634. mindspore/ops/_op_impl/aicpu/is_nan.py +31 -0
  635. mindspore/ops/_op_impl/aicpu/kldivloss.py +34 -0
  636. mindspore/ops/_op_impl/aicpu/kldivlossgrad.py +35 -0
  637. mindspore/ops/_op_impl/aicpu/layer_norm_grad_grad.py +47 -0
  638. mindspore/ops/_op_impl/aicpu/lcm.py +32 -0
  639. mindspore/ops/_op_impl/aicpu/left_shift.py +38 -0
  640. mindspore/ops/_op_impl/aicpu/less.py +41 -0
  641. mindspore/ops/_op_impl/aicpu/less_equal.py +41 -0
  642. mindspore/ops/_op_impl/aicpu/lgamma.py +33 -0
  643. mindspore/ops/_op_impl/aicpu/linear_sum_assignment.py +57 -0
  644. mindspore/ops/_op_impl/aicpu/linspace.py +33 -0
  645. mindspore/ops/_op_impl/aicpu/list_diff.py +50 -0
  646. mindspore/ops/_op_impl/aicpu/log.py +37 -0
  647. mindspore/ops/_op_impl/aicpu/log1p.py +34 -0
  648. mindspore/ops/_op_impl/aicpu/log_matrix_determinant.py +31 -0
  649. mindspore/ops/_op_impl/aicpu/log_normal_reverse.py +33 -0
  650. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +37 -0
  651. mindspore/ops/_op_impl/aicpu/logical_xor.py +30 -0
  652. mindspore/ops/_op_impl/aicpu/logit.py +33 -0
  653. mindspore/ops/_op_impl/aicpu/logit_grad.py +34 -0
  654. mindspore/ops/_op_impl/aicpu/logspace.py +36 -0
  655. mindspore/ops/_op_impl/aicpu/lower_bound.py +47 -0
  656. mindspore/ops/_op_impl/aicpu/lstsq.py +34 -0
  657. mindspore/ops/_op_impl/aicpu/lu.py +39 -0
  658. mindspore/ops/_op_impl/aicpu/lu_solve.py +32 -0
  659. mindspore/ops/_op_impl/aicpu/lu_unpack.py +114 -0
  660. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +49 -0
  661. mindspore/ops/_op_impl/aicpu/masked_fill.py +42 -0
  662. mindspore/ops/_op_impl/aicpu/masked_scatter.py +40 -0
  663. mindspore/ops/_op_impl/aicpu/masked_select.py +31 -0
  664. mindspore/ops/_op_impl/aicpu/masked_select_grad.py +35 -0
  665. mindspore/ops/_op_impl/aicpu/matmul.py +39 -0
  666. mindspore/ops/_op_impl/aicpu/matrix_band_part.py +59 -0
  667. mindspore/ops/_op_impl/aicpu/matrix_determinant.py +30 -0
  668. mindspore/ops/_op_impl/aicpu/matrix_diag_part_v3.py +54 -0
  669. mindspore/ops/_op_impl/aicpu/matrix_diag_v3.py +56 -0
  670. mindspore/ops/_op_impl/aicpu/matrix_exp.py +34 -0
  671. mindspore/ops/_op_impl/aicpu/matrix_inverse.py +31 -0
  672. mindspore/ops/_op_impl/aicpu/matrix_logarithm.py +31 -0
  673. mindspore/ops/_op_impl/aicpu/matrix_power.py +37 -0
  674. mindspore/ops/_op_impl/aicpu/matrix_set_diag_v3.py +54 -0
  675. mindspore/ops/_op_impl/aicpu/matrix_solve.py +35 -0
  676. mindspore/ops/_op_impl/aicpu/matrix_solve_ls.py +36 -0
  677. mindspore/ops/_op_impl/aicpu/matrix_triangular_solve.py +36 -0
  678. mindspore/ops/_op_impl/aicpu/max_pool3d_grad_with_argmax.py +60 -0
  679. mindspore/ops/_op_impl/aicpu/max_pool3d_with_argmax.py +59 -0
  680. mindspore/ops/_op_impl/aicpu/max_unpool2d.py +57 -0
  681. mindspore/ops/_op_impl/aicpu/max_unpool2d_grad.py +58 -0
  682. mindspore/ops/_op_impl/aicpu/max_unpool3d.py +57 -0
  683. mindspore/ops/_op_impl/aicpu/max_unpool3d_grad.py +58 -0
  684. mindspore/ops/_op_impl/aicpu/maximum_grad_grad.py +40 -0
  685. mindspore/ops/_op_impl/aicpu/maxpool_grad_v1.py +46 -0
  686. mindspore/ops/_op_impl/aicpu/maxpool_v1.py +42 -0
  687. mindspore/ops/_op_impl/aicpu/median.py +39 -0
  688. mindspore/ops/_op_impl/aicpu/median_grad.py +45 -0
  689. mindspore/ops/_op_impl/aicpu/meshgrid.py +41 -0
  690. mindspore/ops/_op_impl/aicpu/minimum_grad_grad.py +40 -0
  691. mindspore/ops/_op_impl/aicpu/mirror_pad.py +50 -0
  692. mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +48 -0
  693. mindspore/ops/_op_impl/aicpu/mul.py +43 -0
  694. mindspore/ops/_op_impl/aicpu/mul_no_nan.py +42 -0
  695. mindspore/ops/_op_impl/aicpu/multi_margin_loss.py +37 -0
  696. mindspore/ops/_op_impl/aicpu/multi_margin_loss_grad.py +41 -0
  697. mindspore/ops/_op_impl/aicpu/multilabel_margin_loss_grad.py +37 -0
  698. mindspore/ops/_op_impl/aicpu/multinomial.py +47 -0
  699. mindspore/ops/_op_impl/aicpu/multinomial_with_replacement.py +35 -0
  700. mindspore/ops/_op_impl/aicpu/mvlgamma.py +32 -0
  701. mindspore/ops/_op_impl/aicpu/mvlgamma_grad.py +33 -0
  702. mindspore/ops/_op_impl/aicpu/nan_to_num.py +34 -0
  703. mindspore/ops/_op_impl/aicpu/neg.py +36 -0
  704. mindspore/ops/_op_impl/aicpu/nextafter.py +32 -0
  705. mindspore/ops/_op_impl/aicpu/nllloss.py +38 -0
  706. mindspore/ops/_op_impl/aicpu/nllloss_grad.py +39 -0
  707. mindspore/ops/_op_impl/aicpu/no_repeat_ngram.py +34 -0
  708. mindspore/ops/_op_impl/aicpu/non_deterministic_ints.py +33 -0
  709. mindspore/ops/_op_impl/aicpu/non_max_suppression.py +36 -0
  710. mindspore/ops/_op_impl/aicpu/non_max_suppression_with_overlaps.py +35 -0
  711. mindspore/ops/_op_impl/aicpu/non_zero.py +43 -0
  712. mindspore/ops/_op_impl/aicpu/not_equal.py +39 -0
  713. mindspore/ops/_op_impl/aicpu/nth_element.py +39 -0
  714. mindspore/ops/_op_impl/aicpu/nuclear_norm.py +33 -0
  715. mindspore/ops/_op_impl/aicpu/one_hot.py +116 -0
  716. mindspore/ops/_op_impl/aicpu/ones_like.py +39 -0
  717. mindspore/ops/_op_impl/aicpu/orgqr.py +34 -0
  718. mindspore/ops/_op_impl/aicpu/pad_and_shift.py +33 -0
  719. mindspore/ops/_op_impl/aicpu/pad_v3.py +61 -0
  720. mindspore/ops/_op_impl/aicpu/pad_v3_grad.py +59 -0
  721. mindspore/ops/_op_impl/aicpu/padding.py +41 -0
  722. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +54 -0
  723. mindspore/ops/_op_impl/aicpu/pdist_grad.py +33 -0
  724. mindspore/ops/_op_impl/aicpu/poisson.py +37 -0
  725. mindspore/ops/_op_impl/aicpu/polar.py +32 -0
  726. mindspore/ops/_op_impl/aicpu/polygamma.py +34 -0
  727. mindspore/ops/_op_impl/aicpu/pow.py +39 -0
  728. mindspore/ops/_op_impl/aicpu/print_tensor.py +39 -0
  729. mindspore/ops/_op_impl/aicpu/priority_replay_buffer.py +113 -0
  730. mindspore/ops/_op_impl/aicpu/qr.py +36 -0
  731. mindspore/ops/_op_impl/aicpu/quant_dtype_cast.py +40 -0
  732. mindspore/ops/_op_impl/aicpu/quantile.py +35 -0
  733. mindspore/ops/_op_impl/aicpu/ragged_range.py +49 -0
  734. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_sparse.py +73 -0
  735. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_tensor.py +74 -0
  736. mindspore/ops/_op_impl/aicpu/random_categorical.py +68 -0
  737. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +36 -0
  738. mindspore/ops/_op_impl/aicpu/random_gamma.py +38 -0
  739. mindspore/ops/_op_impl/aicpu/random_poisson.py +134 -0
  740. mindspore/ops/_op_impl/aicpu/random_shuffle.py +47 -0
  741. mindspore/ops/_op_impl/aicpu/randperm.py +38 -0
  742. mindspore/ops/_op_impl/aicpu/randperm_v2.py +41 -0
  743. mindspore/ops/_op_impl/aicpu/range.py +36 -0
  744. mindspore/ops/_op_impl/aicpu/range_v2.py +35 -0
  745. mindspore/ops/_op_impl/aicpu/real.py +31 -0
  746. mindspore/ops/_op_impl/aicpu/real_div.py +40 -0
  747. mindspore/ops/_op_impl/aicpu/reciprocal.py +34 -0
  748. mindspore/ops/_op_impl/aicpu/reciprocal_grad.py +35 -0
  749. mindspore/ops/_op_impl/aicpu/reduce_mean.py +57 -0
  750. mindspore/ops/_op_impl/aicpu/reduce_prod.py +57 -0
  751. mindspore/ops/_op_impl/aicpu/reduce_sum.py +57 -0
  752. mindspore/ops/_op_impl/aicpu/relu_grad_v3.py +41 -0
  753. mindspore/ops/_op_impl/aicpu/relu_v3.py +38 -0
  754. mindspore/ops/_op_impl/aicpu/reservoir_replay_buffer.py +96 -0
  755. mindspore/ops/_op_impl/aicpu/reshape.py +42 -0
  756. mindspore/ops/_op_impl/aicpu/resize_area.py +40 -0
  757. mindspore/ops/_op_impl/aicpu/resize_bicubic.py +20 -0
  758. mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +19 -0
  759. mindspore/ops/_op_impl/aicpu/resize_bilinear.py +32 -0
  760. mindspore/ops/_op_impl/aicpu/resize_bilinear_grad.py +32 -0
  761. mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2.py +36 -0
  762. mindspore/ops/_op_impl/aicpu/resize_nearest_neighbor_v2_grad.py +35 -0
  763. mindspore/ops/_op_impl/aicpu/resize_v2.py +68 -0
  764. mindspore/ops/_op_impl/aicpu/resize_v2_grad.py +68 -0
  765. mindspore/ops/_op_impl/aicpu/reverse_sequence.py +55 -0
  766. mindspore/ops/_op_impl/aicpu/reversev2.py +54 -0
  767. mindspore/ops/_op_impl/aicpu/rgb_to_hsv.py +32 -0
  768. mindspore/ops/_op_impl/aicpu/right_shift.py +38 -0
  769. mindspore/ops/_op_impl/aicpu/rnnt_loss.py +35 -0
  770. mindspore/ops/_op_impl/aicpu/round.py +34 -0
  771. mindspore/ops/_op_impl/aicpu/rsqrt.py +33 -0
  772. mindspore/ops/_op_impl/aicpu/rsqrt_grad.py +36 -0
  773. mindspore/ops/_op_impl/aicpu/sample_distorted_bounding_box_v2.py +49 -0
  774. mindspore/ops/_op_impl/aicpu/scale_and_translate.py +52 -0
  775. mindspore/ops/_op_impl/aicpu/scale_and_translate_grad.py +36 -0
  776. mindspore/ops/_op_impl/aicpu/scatter.py +79 -0
  777. mindspore/ops/_op_impl/aicpu/scatter_add_with_axis.py +53 -0
  778. mindspore/ops/_op_impl/aicpu/scatter_elements.py +39 -0
  779. mindspore/ops/_op_impl/aicpu/scatter_nd.py +59 -0
  780. mindspore/ops/_op_impl/aicpu/scatter_nd_max.py +54 -0
  781. mindspore/ops/_op_impl/aicpu/scatter_nd_min.py +54 -0
  782. mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +59 -0
  783. mindspore/ops/_op_impl/aicpu/search_sorted.py +44 -0
  784. mindspore/ops/_op_impl/aicpu/segment_max.py +52 -0
  785. mindspore/ops/_op_impl/aicpu/segment_mean.py +56 -0
  786. mindspore/ops/_op_impl/aicpu/segment_min.py +52 -0
  787. mindspore/ops/_op_impl/aicpu/segment_prod.py +56 -0
  788. mindspore/ops/_op_impl/aicpu/segment_sum.py +56 -0
  789. mindspore/ops/_op_impl/aicpu/select.py +45 -0
  790. mindspore/ops/_op_impl/aicpu/self_adjoint_eig.py +34 -0
  791. mindspore/ops/_op_impl/aicpu/sequence_add.py +34 -0
  792. mindspore/ops/_op_impl/aicpu/sequence_add_offset.py +34 -0
  793. mindspore/ops/_op_impl/aicpu/sequence_addn.py +38 -0
  794. mindspore/ops/_op_impl/aicpu/sequence_concat.py +40 -0
  795. mindspore/ops/_op_impl/aicpu/sequence_stack.py +40 -0
  796. mindspore/ops/_op_impl/aicpu/set_size.py +38 -0
  797. mindspore/ops/_op_impl/aicpu/sign.py +36 -0
  798. mindspore/ops/_op_impl/aicpu/sin.py +34 -0
  799. mindspore/ops/_op_impl/aicpu/sinc.py +43 -0
  800. mindspore/ops/_op_impl/aicpu/sinh.py +34 -0
  801. mindspore/ops/_op_impl/aicpu/slice.py +59 -0
  802. mindspore/ops/_op_impl/aicpu/slice_grad.py +76 -0
  803. mindspore/ops/_op_impl/aicpu/smooth_l1_loss.py +35 -0
  804. mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -0
  805. mindspore/ops/_op_impl/aicpu/sort.py +39 -0
  806. mindspore/ops/_op_impl/aicpu/space_to_depth.py +44 -0
  807. mindspore/ops/_op_impl/aicpu/sparse_addmm.py +87 -0
  808. mindspore/ops/_op_impl/aicpu/sparse_apply_adagrad_da.py +80 -0
  809. mindspore/ops/_op_impl/aicpu/sparse_apply_centered_rms_prop.py +105 -0
  810. mindspore/ops/_op_impl/aicpu/sparse_apply_momentum.py +80 -0
  811. mindspore/ops/_op_impl/aicpu/sparse_apply_proximal_gradient_descent.py +79 -0
  812. mindspore/ops/_op_impl/aicpu/sparse_concat.py +59 -0
  813. mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -0
  814. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_add.py +58 -0
  815. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_div.py +58 -0
  816. mindspore/ops/_op_impl/aicpu/sparse_dense_cwise_mul.py +58 -0
  817. mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows.py +63 -0
  818. mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows_grad.py +45 -0
  819. mindspore/ops/_op_impl/aicpu/sparse_matrix_mat_mul.py +56 -0
  820. mindspore/ops/_op_impl/aicpu/sparse_matrix_nnz.py +81 -0
  821. mindspore/ops/_op_impl/aicpu/sparse_matrix_transpose.py +116 -0
  822. mindspore/ops/_op_impl/aicpu/sparse_reorder.py +56 -0
  823. mindspore/ops/_op_impl/aicpu/sparse_reshape.py +34 -0
  824. mindspore/ops/_op_impl/aicpu/sparse_segment_mean_grad.py +36 -0
  825. mindspore/ops/_op_impl/aicpu/sparse_segment_mean_with_num_segments.py +44 -0
  826. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n.py +43 -0
  827. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n_grad.py +38 -0
  828. mindspore/ops/_op_impl/aicpu/sparse_segment_sqrt_n_with_num_segments.py +44 -0
  829. mindspore/ops/_op_impl/aicpu/sparse_segment_sum.py +49 -0
  830. mindspore/ops/_op_impl/aicpu/sparse_segment_sum_with_num_segments.py +68 -0
  831. mindspore/ops/_op_impl/aicpu/sparse_slice.py +63 -0
  832. mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +61 -0
  833. mindspore/ops/_op_impl/aicpu/sparse_softmax.py +33 -0
  834. mindspore/ops/_op_impl/aicpu/sparse_softmax_cross_entropy_with_logits_v2.py +35 -0
  835. mindspore/ops/_op_impl/aicpu/sparse_sparse_maximum.py +53 -0
  836. mindspore/ops/_op_impl/aicpu/sparse_sparse_minimum.py +53 -0
  837. mindspore/ops/_op_impl/aicpu/sparse_tensor_dense_add.py +84 -0
  838. mindspore/ops/_op_impl/aicpu/sparse_tensor_dense_mat_mul.py +190 -0
  839. mindspore/ops/_op_impl/aicpu/sparse_tensor_to_csr_sparse_matrix.py +51 -0
  840. mindspore/ops/_op_impl/aicpu/sparse_to_dense_v2.py +73 -0
  841. mindspore/ops/_op_impl/aicpu/split.py +45 -0
  842. mindspore/ops/_op_impl/aicpu/sqrt.py +34 -0
  843. mindspore/ops/_op_impl/aicpu/sqrt_grad.py +35 -0
  844. mindspore/ops/_op_impl/aicpu/square.py +35 -0
  845. mindspore/ops/_op_impl/aicpu/squared_difference.py +37 -0
  846. mindspore/ops/_op_impl/aicpu/squeeze.py +42 -0
  847. mindspore/ops/_op_impl/aicpu/sspaddmm.py +97 -0
  848. mindspore/ops/_op_impl/aicpu/stack.py +45 -0
  849. mindspore/ops/_op_impl/aicpu/stack_push_pop.py +87 -0
  850. mindspore/ops/_op_impl/aicpu/standard_laplace.py +34 -0
  851. mindspore/ops/_op_impl/aicpu/standard_normal.py +34 -0
  852. mindspore/ops/_op_impl/aicpu/stateless_dropout_genmask.py +37 -0
  853. mindspore/ops/_op_impl/aicpu/stft.py +70 -0
  854. mindspore/ops/_op_impl/aicpu/strided_slice.py +43 -0
  855. mindspore/ops/_op_impl/aicpu/strided_slice_grad.py +50 -0
  856. mindspore/ops/_op_impl/aicpu/sub.py +41 -0
  857. mindspore/ops/_op_impl/aicpu/sub_and_filter.py +36 -0
  858. mindspore/ops/_op_impl/aicpu/tan.py +34 -0
  859. mindspore/ops/_op_impl/aicpu/tanh.py +34 -0
  860. mindspore/ops/_op_impl/aicpu/tanh_grad.py +35 -0
  861. mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
  862. mindspore/ops/_op_impl/aicpu/tile.py +56 -0
  863. mindspore/ops/_op_impl/aicpu/topk.py +34 -0
  864. mindspore/ops/_op_impl/aicpu/trace.py +40 -0
  865. mindspore/ops/_op_impl/aicpu/tracegrad.py +41 -0
  866. mindspore/ops/_op_impl/aicpu/trans_data.py +35 -0
  867. mindspore/ops/_op_impl/aicpu/transpose.py +58 -0
  868. mindspore/ops/_op_impl/aicpu/tridiagonal_matmul.py +42 -0
  869. mindspore/ops/_op_impl/aicpu/tridiagonal_solve.py +35 -0
  870. mindspore/ops/_op_impl/aicpu/tril.py +42 -0
  871. mindspore/ops/_op_impl/aicpu/tril_indices.py +34 -0
  872. mindspore/ops/_op_impl/aicpu/triplet_margin_loss.py +62 -0
  873. mindspore/ops/_op_impl/aicpu/triu.py +43 -0
  874. mindspore/ops/_op_impl/aicpu/triu_indices.py +34 -0
  875. mindspore/ops/_op_impl/aicpu/truncated_normal.py +39 -0
  876. mindspore/ops/_op_impl/aicpu/uniform.py +36 -0
  877. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +41 -0
  878. mindspore/ops/_op_impl/aicpu/uniform_int.py +36 -0
  879. mindspore/ops/_op_impl/aicpu/uniform_real.py +33 -0
  880. mindspore/ops/_op_impl/aicpu/unique.py +31 -0
  881. mindspore/ops/_op_impl/aicpu/unique_consecutive.py +47 -0
  882. mindspore/ops/_op_impl/aicpu/unique_with_pad.py +32 -0
  883. mindspore/ops/_op_impl/aicpu/unravel_index.py +32 -0
  884. mindspore/ops/_op_impl/aicpu/unsorted_segment_prod.py +53 -0
  885. mindspore/ops/_op_impl/aicpu/unsorted_segment_sum.py +57 -0
  886. mindspore/ops/_op_impl/aicpu/unstack.py +45 -0
  887. mindspore/ops/_op_impl/aicpu/update_cache.py +44 -0
  888. mindspore/ops/_op_impl/aicpu/upper_bound.py +47 -0
  889. mindspore/ops/_op_impl/aicpu/upsample_nearest_3d.py +42 -0
  890. mindspore/ops/_op_impl/aicpu/upsample_nearest_3d_grad.py +49 -0
  891. mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d.py +40 -0
  892. mindspore/ops/_op_impl/aicpu/upsample_trilinear_3d_grad.py +50 -0
  893. mindspore/ops/_op_impl/aicpu/xdivy.py +35 -0
  894. mindspore/ops/_op_impl/aicpu/xlogy.py +33 -0
  895. mindspore/ops/_op_impl/aicpu/zeros_like.py +42 -0
  896. mindspore/ops/_op_impl/aicpu/zeta.py +31 -0
  897. mindspore/ops/_op_impl/akg/__init__.py +19 -0
  898. mindspore/ops/_op_impl/akg/ascend/__init__.py +48 -0
  899. mindspore/ops/_op_impl/akg/ascend/abs.py +35 -0
  900. mindspore/ops/_op_impl/akg/ascend/add.py +42 -0
  901. mindspore/ops/_op_impl/akg/ascend/add_n.py +37 -0
  902. mindspore/ops/_op_impl/akg/ascend/batchmatmul.py +33 -0
  903. mindspore/ops/_op_impl/akg/ascend/cast.py +46 -0
  904. mindspore/ops/_op_impl/akg/ascend/equal.py +35 -0
  905. mindspore/ops/_op_impl/akg/ascend/exp.py +35 -0
  906. mindspore/ops/_op_impl/akg/ascend/expand_dims.py +33 -0
  907. mindspore/ops/_op_impl/akg/ascend/greater.py +34 -0
  908. mindspore/ops/_op_impl/akg/ascend/greater_equal.py +35 -0
  909. mindspore/ops/_op_impl/akg/ascend/less.py +31 -0
  910. mindspore/ops/_op_impl/akg/ascend/less_equal.py +35 -0
  911. mindspore/ops/_op_impl/akg/ascend/load_im2col.py +33 -0
  912. mindspore/ops/_op_impl/akg/ascend/log.py +34 -0
  913. mindspore/ops/_op_impl/akg/ascend/maximum.py +36 -0
  914. mindspore/ops/_op_impl/akg/ascend/minimum.py +39 -0
  915. mindspore/ops/_op_impl/akg/ascend/mul.py +41 -0
  916. mindspore/ops/_op_impl/akg/ascend/neg.py +37 -0
  917. mindspore/ops/_op_impl/akg/ascend/pow.py +35 -0
  918. mindspore/ops/_op_impl/akg/ascend/prod_force_se_a.py +33 -0
  919. mindspore/ops/_op_impl/akg/ascend/real_div.py +36 -0
  920. mindspore/ops/_op_impl/akg/ascend/reciprocal.py +32 -0
  921. mindspore/ops/_op_impl/akg/ascend/reduce_max.py +32 -0
  922. mindspore/ops/_op_impl/akg/ascend/reduce_min.py +32 -0
  923. mindspore/ops/_op_impl/akg/ascend/reduce_sum.py +37 -0
  924. mindspore/ops/_op_impl/akg/ascend/rsqrt.py +35 -0
  925. mindspore/ops/_op_impl/akg/ascend/select.py +37 -0
  926. mindspore/ops/_op_impl/akg/ascend/sqrt.py +35 -0
  927. mindspore/ops/_op_impl/akg/ascend/square.py +35 -0
  928. mindspore/ops/_op_impl/akg/ascend/sub.py +42 -0
  929. mindspore/ops/_op_impl/akg/cpu/__init__.py +23 -0
  930. mindspore/ops/_op_impl/akg/cpu/coo2csr.py +29 -0
  931. mindspore/ops/_op_impl/akg/cpu/csr2coo.py +29 -0
  932. mindspore/ops/_op_impl/akg/cpu/csr_gather.py +33 -0
  933. mindspore/ops/_op_impl/akg/cpu/csr_mm.py +34 -0
  934. mindspore/ops/_op_impl/akg/cpu/csr_mul.py +33 -0
  935. mindspore/ops/_op_impl/akg/cpu/csr_mv.py +33 -0
  936. mindspore/ops/_op_impl/akg/cpu/csr_reduce_sum.py +31 -0
  937. mindspore/ops/_op_impl/akg/gpu/__init__.py +24 -0
  938. mindspore/ops/_op_impl/akg/gpu/coo2csr.py +29 -0
  939. mindspore/ops/_op_impl/akg/gpu/csr2coo.py +29 -0
  940. mindspore/ops/_op_impl/akg/gpu/csr_div.py +36 -0
  941. mindspore/ops/_op_impl/akg/gpu/csr_gather.py +33 -0
  942. mindspore/ops/_op_impl/akg/gpu/csr_mm.py +37 -0
  943. mindspore/ops/_op_impl/akg/gpu/csr_mul.py +36 -0
  944. mindspore/ops/_op_impl/akg/gpu/csr_mv.py +36 -0
  945. mindspore/ops/_op_impl/akg/gpu/csr_reduce_sum.py +33 -0
  946. mindspore/ops/_op_impl/cpu/__init__.py +78 -0
  947. mindspore/ops/_op_impl/cpu/adam.py +49 -0
  948. mindspore/ops/_op_impl/cpu/adam_weight_decay.py +47 -0
  949. mindspore/ops/_op_impl/cpu/arg_max.py +30 -0
  950. mindspore/ops/_op_impl/cpu/arg_max_with_value.py +31 -0
  951. mindspore/ops/_op_impl/cpu/arg_min_with_value.py +31 -0
  952. mindspore/ops/_op_impl/cpu/buffer_append.py +28 -0
  953. mindspore/ops/_op_impl/cpu/buffer_get.py +28 -0
  954. mindspore/ops/_op_impl/cpu/buffer_sample.py +28 -0
  955. mindspore/ops/_op_impl/cpu/cast.py +171 -0
  956. mindspore/ops/_op_impl/cpu/concat_offset.py +38 -0
  957. mindspore/ops/_op_impl/cpu/conv2d.py +30 -0
  958. mindspore/ops/_op_impl/cpu/conv3d.py +30 -0
  959. mindspore/ops/_op_impl/cpu/div.py +32 -0
  960. mindspore/ops/_op_impl/cpu/dropout.py +31 -0
  961. mindspore/ops/_op_impl/cpu/dropout_grad.py +30 -0
  962. mindspore/ops/_op_impl/cpu/dynamic_shape.py +42 -0
  963. mindspore/ops/_op_impl/cpu/dynamic_stitch.py +41 -0
  964. mindspore/ops/_op_impl/cpu/equal_count.py +30 -0
  965. mindspore/ops/_op_impl/cpu/gather_d.py +49 -0
  966. mindspore/ops/_op_impl/cpu/gather_d_grad.py +38 -0
  967. mindspore/ops/_op_impl/cpu/gather_d_grad_v2.py +40 -0
  968. mindspore/ops/_op_impl/cpu/gather_v2.py +40 -0
  969. mindspore/ops/_op_impl/cpu/hsigmoid.py +33 -0
  970. mindspore/ops/_op_impl/cpu/hsigmoid_grad.py +34 -0
  971. mindspore/ops/_op_impl/cpu/hswish.py +32 -0
  972. mindspore/ops/_op_impl/cpu/hswish_grad.py +33 -0
  973. mindspore/ops/_op_impl/cpu/identity_n.py +40 -0
  974. mindspore/ops/_op_impl/cpu/is_finite.py +39 -0
  975. mindspore/ops/_op_impl/cpu/l2loss.py +30 -0
  976. mindspore/ops/_op_impl/cpu/layer_norm.py +36 -0
  977. mindspore/ops/_op_impl/cpu/layer_norm_grad.py +38 -0
  978. mindspore/ops/_op_impl/cpu/maximum.py +35 -0
  979. mindspore/ops/_op_impl/cpu/maximum_grad.py +47 -0
  980. mindspore/ops/_op_impl/cpu/minimum.py +40 -0
  981. mindspore/ops/_op_impl/cpu/minimum_grad.py +51 -0
  982. mindspore/ops/_op_impl/cpu/mirror_pad.py +36 -0
  983. mindspore/ops/_op_impl/cpu/mirror_pad_grad.py +36 -0
  984. mindspore/ops/_op_impl/cpu/mul.py +32 -0
  985. mindspore/ops/_op_impl/cpu/one_hot.py +31 -0
  986. mindspore/ops/_op_impl/cpu/pad.py +32 -0
  987. mindspore/ops/_op_impl/cpu/pow.py +32 -0
  988. mindspore/ops/_op_impl/cpu/priority_replay_buffer.py +42 -0
  989. mindspore/ops/_op_impl/cpu/pyexecute.py +29 -0
  990. mindspore/ops/_op_impl/cpu/pyfunc.py +29 -0
  991. mindspore/ops/_op_impl/cpu/range.py +34 -0
  992. mindspore/ops/_op_impl/cpu/real_div.py +33 -0
  993. mindspore/ops/_op_impl/cpu/reduce_all.py +29 -0
  994. mindspore/ops/_op_impl/cpu/reduce_any.py +29 -0
  995. mindspore/ops/_op_impl/cpu/reduce_max.py +32 -0
  996. mindspore/ops/_op_impl/cpu/reduce_mean.py +40 -0
  997. mindspore/ops/_op_impl/cpu/reduce_min.py +32 -0
  998. mindspore/ops/_op_impl/cpu/reduce_prod.py +40 -0
  999. mindspore/ops/_op_impl/cpu/reduce_std.py +31 -0
  1000. mindspore/ops/_op_impl/cpu/reduce_sum.py +41 -0
  1001. mindspore/ops/_op_impl/cpu/space_to_batch_nd.py +38 -0
  1002. mindspore/ops/_op_impl/cpu/sparse_slice.py +62 -0
  1003. mindspore/ops/_op_impl/cpu/sparse_slice_grad.py +60 -0
  1004. mindspore/ops/_op_impl/cpu/split.py +34 -0
  1005. mindspore/ops/_op_impl/cpu/sspaddmm.py +95 -0
  1006. mindspore/ops/_op_impl/cpu/stack.py +38 -0
  1007. mindspore/ops/_op_impl/cpu/sub.py +32 -0
  1008. mindspore/ops/_op_impl/cpu/tensor_copy_slices.py +41 -0
  1009. mindspore/ops/_op_impl/cpu/tile.py +37 -0
  1010. mindspore/ops/_op_impl/cpu/top_k.py +31 -0
  1011. mindspore/ops/_op_impl/cpu/transpose.py +39 -0
  1012. mindspore/ops/_primitive_cache.py +90 -0
  1013. mindspore/ops/_register_for_op.py +73 -0
  1014. mindspore/ops/_utils/__init__.py +20 -0
  1015. mindspore/ops/_utils/utils.py +147 -0
  1016. mindspore/ops/_vmap/__init__.py +25 -0
  1017. mindspore/ops/_vmap/vmap_array_ops.py +2149 -0
  1018. mindspore/ops/_vmap/vmap_base.py +533 -0
  1019. mindspore/ops/_vmap/vmap_convolution_ops.py +441 -0
  1020. mindspore/ops/_vmap/vmap_debug_ops.py +50 -0
  1021. mindspore/ops/_vmap/vmap_grad_math_ops.py +274 -0
  1022. mindspore/ops/_vmap/vmap_grad_nn_ops.py +806 -0
  1023. mindspore/ops/_vmap/vmap_image_ops.py +194 -0
  1024. mindspore/ops/_vmap/vmap_math_ops.py +993 -0
  1025. mindspore/ops/_vmap/vmap_nn_ops.py +2250 -0
  1026. mindspore/ops/_vmap/vmap_other_ops.py +105 -0
  1027. mindspore/ops/_vmap/vmap_random_ops.py +122 -0
  1028. mindspore/ops/_vmap/vmap_sparse_ops.py +89 -0
  1029. mindspore/ops/auto_generate/__init__.py +31 -0
  1030. mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +309 -0
  1031. mindspore/ops/auto_generate/gen_arg_dtype_cast.py +252 -0
  1032. mindspore/ops/auto_generate/gen_arg_handler.py +197 -0
  1033. mindspore/ops/auto_generate/gen_extend_func.py +1701 -0
  1034. mindspore/ops/auto_generate/gen_ops_def.py +8482 -0
  1035. mindspore/ops/auto_generate/gen_ops_prim.py +16704 -0
  1036. mindspore/ops/auto_generate/pyboost_inner_prim.py +549 -0
  1037. mindspore/ops/composite/__init__.py +71 -0
  1038. mindspore/ops/composite/base.py +1318 -0
  1039. mindspore/ops/composite/env_ops.py +41 -0
  1040. mindspore/ops/composite/math_ops.py +125 -0
  1041. mindspore/ops/composite/multitype_ops/__init__.py +77 -0
  1042. mindspore/ops/composite/multitype_ops/_compile_utils.py +1459 -0
  1043. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +897 -0
  1044. mindspore/ops/composite/multitype_ops/add_impl.py +606 -0
  1045. mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +56 -0
  1046. mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +56 -0
  1047. mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +56 -0
  1048. mindspore/ops/composite/multitype_ops/div_impl.py +189 -0
  1049. mindspore/ops/composite/multitype_ops/equal_impl.py +335 -0
  1050. mindspore/ops/composite/multitype_ops/floordiv_impl.py +88 -0
  1051. mindspore/ops/composite/multitype_ops/getitem_impl.py +400 -0
  1052. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +109 -0
  1053. mindspore/ops/composite/multitype_ops/greater_impl.py +110 -0
  1054. mindspore/ops/composite/multitype_ops/in_impl.py +196 -0
  1055. mindspore/ops/composite/multitype_ops/left_shift_impl.py +37 -0
  1056. mindspore/ops/composite/multitype_ops/less_equal_impl.py +111 -0
  1057. mindspore/ops/composite/multitype_ops/less_impl.py +112 -0
  1058. mindspore/ops/composite/multitype_ops/logic_not_impl.py +113 -0
  1059. mindspore/ops/composite/multitype_ops/logical_and_impl.py +60 -0
  1060. mindspore/ops/composite/multitype_ops/logical_or_impl.py +61 -0
  1061. mindspore/ops/composite/multitype_ops/mod_impl.py +86 -0
  1062. mindspore/ops/composite/multitype_ops/mul_impl.py +294 -0
  1063. mindspore/ops/composite/multitype_ops/negative_impl.py +79 -0
  1064. mindspore/ops/composite/multitype_ops/not_equal_impl.py +290 -0
  1065. mindspore/ops/composite/multitype_ops/not_in_impl.py +196 -0
  1066. mindspore/ops/composite/multitype_ops/ones_like_impl.py +96 -0
  1067. mindspore/ops/composite/multitype_ops/pow_impl.py +87 -0
  1068. mindspore/ops/composite/multitype_ops/right_shift_impl.py +37 -0
  1069. mindspore/ops/composite/multitype_ops/setitem_impl.py +884 -0
  1070. mindspore/ops/composite/multitype_ops/sub_impl.py +116 -0
  1071. mindspore/ops/composite/multitype_ops/uadd_impl.py +29 -0
  1072. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +228 -0
  1073. mindspore/ops/deprecated.py +315 -0
  1074. mindspore/ops/function/__init__.py +782 -0
  1075. mindspore/ops/function/array_func.py +7226 -0
  1076. mindspore/ops/function/clip_func.py +384 -0
  1077. mindspore/ops/function/debug_func.py +181 -0
  1078. mindspore/ops/function/fft_func.py +44 -0
  1079. mindspore/ops/function/grad/__init__.py +34 -0
  1080. mindspore/ops/function/grad/grad_func.py +1425 -0
  1081. mindspore/ops/function/image_func.py +292 -0
  1082. mindspore/ops/function/linalg_func.py +416 -0
  1083. mindspore/ops/function/math_func.py +12228 -0
  1084. mindspore/ops/function/nn_func.py +8609 -0
  1085. mindspore/ops/function/other_func.py +115 -0
  1086. mindspore/ops/function/parameter_func.py +134 -0
  1087. mindspore/ops/function/random_func.py +1715 -0
  1088. mindspore/ops/function/reshard_func.py +104 -0
  1089. mindspore/ops/function/sparse_func.py +884 -0
  1090. mindspore/ops/function/sparse_unary_func.py +2422 -0
  1091. mindspore/ops/function/spectral_func.py +150 -0
  1092. mindspore/ops/function/vmap_func.py +117 -0
  1093. mindspore/ops/functional.py +464 -0
  1094. mindspore/ops/op_info_register.py +1572 -0
  1095. mindspore/ops/operations/__init__.py +722 -0
  1096. mindspore/ops/operations/_csr_ops.py +403 -0
  1097. mindspore/ops/operations/_custom_grad.py +181 -0
  1098. mindspore/ops/operations/_embedding_cache_ops.py +307 -0
  1099. mindspore/ops/operations/_grad_ops.py +2978 -0
  1100. mindspore/ops/operations/_infer_ops.py +19 -0
  1101. mindspore/ops/operations/_inner_ops.py +2544 -0
  1102. mindspore/ops/operations/_map_tensor_ops.py +112 -0
  1103. mindspore/ops/operations/_ms_kernel.py +601 -0
  1104. mindspore/ops/operations/_ocr_ops.py +379 -0
  1105. mindspore/ops/operations/_opaque_predicate_registry.py +41 -0
  1106. mindspore/ops/operations/_pyfunc_registry.py +58 -0
  1107. mindspore/ops/operations/_quant_ops.py +1844 -0
  1108. mindspore/ops/operations/_rl_inner_ops.py +1231 -0
  1109. mindspore/ops/operations/_scalar_ops.py +106 -0
  1110. mindspore/ops/operations/_sequence_ops.py +1155 -0
  1111. mindspore/ops/operations/_sparse_grad_ops.py +56 -0
  1112. mindspore/ops/operations/_tensor_array.py +359 -0
  1113. mindspore/ops/operations/_thor_ops.py +807 -0
  1114. mindspore/ops/operations/array_ops.py +6124 -0
  1115. mindspore/ops/operations/comm_ops.py +1985 -0
  1116. mindspore/ops/operations/control_ops.py +127 -0
  1117. mindspore/ops/operations/custom_ops.py +1129 -0
  1118. mindspore/ops/operations/debug_ops.py +678 -0
  1119. mindspore/ops/operations/image_ops.py +1041 -0
  1120. mindspore/ops/operations/inner_ops.py +697 -0
  1121. mindspore/ops/operations/linalg_ops.py +95 -0
  1122. mindspore/ops/operations/manually_defined/__init__.py +24 -0
  1123. mindspore/ops/operations/manually_defined/_inner.py +73 -0
  1124. mindspore/ops/operations/manually_defined/ops_def.py +2271 -0
  1125. mindspore/ops/operations/math_ops.py +5095 -0
  1126. mindspore/ops/operations/nn_ops.py +9575 -0
  1127. mindspore/ops/operations/other_ops.py +874 -0
  1128. mindspore/ops/operations/random_ops.py +1288 -0
  1129. mindspore/ops/operations/reshard_ops.py +53 -0
  1130. mindspore/ops/operations/rl_ops.py +288 -0
  1131. mindspore/ops/operations/sparse_ops.py +2753 -0
  1132. mindspore/ops/operations/spectral_ops.py +111 -0
  1133. mindspore/ops/primitive.py +1046 -0
  1134. mindspore/ops/signature.py +54 -0
  1135. mindspore/ops/vm_impl_registry.py +91 -0
  1136. mindspore/ops_generate/__init__.py +27 -0
  1137. mindspore/ops_generate/arg_dtype_cast.py +252 -0
  1138. mindspore/ops_generate/arg_handler.py +197 -0
  1139. mindspore/ops_generate/gen_aclnn_implement.py +263 -0
  1140. mindspore/ops_generate/gen_constants.py +36 -0
  1141. mindspore/ops_generate/gen_ops.py +1099 -0
  1142. mindspore/ops_generate/gen_ops_inner_prim.py +131 -0
  1143. mindspore/ops_generate/gen_pyboost_func.py +1052 -0
  1144. mindspore/ops_generate/gen_utils.py +209 -0
  1145. mindspore/ops_generate/op_proto.py +145 -0
  1146. mindspore/ops_generate/pyboost_utils.py +367 -0
  1147. mindspore/ops_generate/template.py +261 -0
  1148. mindspore/parallel/__init__.py +30 -0
  1149. mindspore/parallel/_auto_parallel_context.py +1486 -0
  1150. mindspore/parallel/_cell_wrapper.py +174 -0
  1151. mindspore/parallel/_cost_model_context.py +700 -0
  1152. mindspore/parallel/_dp_allreduce_fusion.py +159 -0
  1153. mindspore/parallel/_offload_context.py +275 -0
  1154. mindspore/parallel/_parallel_serialization.py +561 -0
  1155. mindspore/parallel/_ps_context.py +242 -0
  1156. mindspore/parallel/_recovery_context.py +110 -0
  1157. mindspore/parallel/_tensor.py +730 -0
  1158. mindspore/parallel/_transformer/__init__.py +35 -0
  1159. mindspore/parallel/_transformer/layers.py +765 -0
  1160. mindspore/parallel/_transformer/loss.py +251 -0
  1161. mindspore/parallel/_transformer/moe.py +693 -0
  1162. mindspore/parallel/_transformer/op_parallel_config.py +222 -0
  1163. mindspore/parallel/_transformer/transformer.py +3119 -0
  1164. mindspore/parallel/_utils.py +612 -0
  1165. mindspore/parallel/algo_parameter_config.py +400 -0
  1166. mindspore/parallel/checkpoint_transform.py +650 -0
  1167. mindspore/parallel/cluster/__init__.py +15 -0
  1168. mindspore/parallel/cluster/process_entity/__init__.py +18 -0
  1169. mindspore/parallel/cluster/process_entity/_api.py +352 -0
  1170. mindspore/parallel/cluster/process_entity/_utils.py +101 -0
  1171. mindspore/parallel/cluster/run.py +136 -0
  1172. mindspore/parallel/mpi/__init__.py +14 -0
  1173. mindspore/parallel/mpi/_mpi_config.py +116 -0
  1174. mindspore/parallel/parameter_broadcast.py +151 -0
  1175. mindspore/parallel/shard.py +481 -0
  1176. mindspore/parallel/transform_safetensors.py +993 -0
  1177. mindspore/profiler/__init__.py +28 -0
  1178. mindspore/profiler/common/__init__.py +14 -0
  1179. mindspore/profiler/common/constant.py +29 -0
  1180. mindspore/profiler/common/exceptions/__init__.py +14 -0
  1181. mindspore/profiler/common/exceptions/error_code.py +83 -0
  1182. mindspore/profiler/common/exceptions/exceptions.py +286 -0
  1183. mindspore/profiler/common/process_pool.py +41 -0
  1184. mindspore/profiler/common/registry.py +47 -0
  1185. mindspore/profiler/common/singleton.py +28 -0
  1186. mindspore/profiler/common/struct_type.py +118 -0
  1187. mindspore/profiler/common/util.py +472 -0
  1188. mindspore/profiler/common/validator/__init__.py +14 -0
  1189. mindspore/profiler/common/validator/validate_path.py +84 -0
  1190. mindspore/profiler/dynamic_profiler.py +694 -0
  1191. mindspore/profiler/envprofiling.py +254 -0
  1192. mindspore/profiler/parser/__init__.py +14 -0
  1193. mindspore/profiler/parser/aicpu_data_parser.py +272 -0
  1194. mindspore/profiler/parser/ascend_analysis/__init__.py +14 -0
  1195. mindspore/profiler/parser/ascend_analysis/constant.py +71 -0
  1196. mindspore/profiler/parser/ascend_analysis/file_manager.py +180 -0
  1197. mindspore/profiler/parser/ascend_analysis/function_event.py +185 -0
  1198. mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +136 -0
  1199. mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +131 -0
  1200. mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +104 -0
  1201. mindspore/profiler/parser/ascend_analysis/path_manager.py +313 -0
  1202. mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +123 -0
  1203. mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +86 -0
  1204. mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +75 -0
  1205. mindspore/profiler/parser/ascend_cluster_generator.py +116 -0
  1206. mindspore/profiler/parser/ascend_communicate_generator.py +314 -0
  1207. mindspore/profiler/parser/ascend_flops_generator.py +116 -0
  1208. mindspore/profiler/parser/ascend_fpbp_generator.py +82 -0
  1209. mindspore/profiler/parser/ascend_hccl_generator.py +271 -0
  1210. mindspore/profiler/parser/ascend_integrate_generator.py +42 -0
  1211. mindspore/profiler/parser/ascend_memory_generator.py +185 -0
  1212. mindspore/profiler/parser/ascend_msprof_exporter.py +282 -0
  1213. mindspore/profiler/parser/ascend_msprof_generator.py +187 -0
  1214. mindspore/profiler/parser/ascend_op_generator.py +334 -0
  1215. mindspore/profiler/parser/ascend_steptrace_generator.py +94 -0
  1216. mindspore/profiler/parser/ascend_timeline_generator.py +545 -0
  1217. mindspore/profiler/parser/base_timeline_generator.py +483 -0
  1218. mindspore/profiler/parser/container.py +229 -0
  1219. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +697 -0
  1220. mindspore/profiler/parser/flops_parser.py +531 -0
  1221. mindspore/profiler/parser/framework_enum.py +111 -0
  1222. mindspore/profiler/parser/framework_parser.py +464 -0
  1223. mindspore/profiler/parser/framework_struct.py +61 -0
  1224. mindspore/profiler/parser/gpu_analysis/__init__.py +14 -0
  1225. mindspore/profiler/parser/gpu_analysis/function_event.py +44 -0
  1226. mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +89 -0
  1227. mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +72 -0
  1228. mindspore/profiler/parser/hccl_parser.py +573 -0
  1229. mindspore/profiler/parser/hwts_log_parser.py +122 -0
  1230. mindspore/profiler/parser/integrator.py +526 -0
  1231. mindspore/profiler/parser/memory_usage_parser.py +277 -0
  1232. mindspore/profiler/parser/minddata_analyzer.py +800 -0
  1233. mindspore/profiler/parser/minddata_parser.py +186 -0
  1234. mindspore/profiler/parser/minddata_pipeline_parser.py +299 -0
  1235. mindspore/profiler/parser/op_intermediate_parser.py +149 -0
  1236. mindspore/profiler/parser/optime_parser.py +250 -0
  1237. mindspore/profiler/parser/profiler_info.py +213 -0
  1238. mindspore/profiler/parser/step_trace_parser.py +666 -0
  1239. mindspore/profiler/profiler.py +153 -0
  1240. mindspore/profiler/profiling.py +1922 -0
  1241. mindspore/rewrite/__init__.py +28 -0
  1242. mindspore/rewrite/api/__init__.py +17 -0
  1243. mindspore/rewrite/api/node.py +519 -0
  1244. mindspore/rewrite/api/node_type.py +53 -0
  1245. mindspore/rewrite/api/pattern_engine.py +490 -0
  1246. mindspore/rewrite/api/scoped_value.py +181 -0
  1247. mindspore/rewrite/api/symbol_tree.py +497 -0
  1248. mindspore/rewrite/ast_helpers/__init__.py +25 -0
  1249. mindspore/rewrite/ast_helpers/ast_converter.py +143 -0
  1250. mindspore/rewrite/ast_helpers/ast_finder.py +404 -0
  1251. mindspore/rewrite/ast_helpers/ast_flattener.py +268 -0
  1252. mindspore/rewrite/ast_helpers/ast_modifier.py +605 -0
  1253. mindspore/rewrite/ast_helpers/ast_replacer.py +79 -0
  1254. mindspore/rewrite/common/__init__.py +19 -0
  1255. mindspore/rewrite/common/config.py +24 -0
  1256. mindspore/rewrite/common/error_log.py +39 -0
  1257. mindspore/rewrite/common/event.py +28 -0
  1258. mindspore/rewrite/common/namer.py +271 -0
  1259. mindspore/rewrite/common/namespace.py +118 -0
  1260. mindspore/rewrite/common/observable.py +44 -0
  1261. mindspore/rewrite/common/observer.py +54 -0
  1262. mindspore/rewrite/node/__init__.py +22 -0
  1263. mindspore/rewrite/node/call_function.py +95 -0
  1264. mindspore/rewrite/node/cell_container.py +139 -0
  1265. mindspore/rewrite/node/control_flow.py +113 -0
  1266. mindspore/rewrite/node/node.py +1428 -0
  1267. mindspore/rewrite/node/node_manager.py +283 -0
  1268. mindspore/rewrite/node/node_topological_manager.py +223 -0
  1269. mindspore/rewrite/parsers/__init__.py +29 -0
  1270. mindspore/rewrite/parsers/arguments_parser.py +63 -0
  1271. mindspore/rewrite/parsers/assign_parser.py +852 -0
  1272. mindspore/rewrite/parsers/attribute_parser.py +57 -0
  1273. mindspore/rewrite/parsers/class_def_parser.py +289 -0
  1274. mindspore/rewrite/parsers/constant_parser.py +104 -0
  1275. mindspore/rewrite/parsers/container_parser.py +88 -0
  1276. mindspore/rewrite/parsers/expr_parser.py +55 -0
  1277. mindspore/rewrite/parsers/for_parser.py +61 -0
  1278. mindspore/rewrite/parsers/function_def_parser.py +84 -0
  1279. mindspore/rewrite/parsers/if_parser.py +85 -0
  1280. mindspore/rewrite/parsers/module_parser.py +117 -0
  1281. mindspore/rewrite/parsers/parser.py +43 -0
  1282. mindspore/rewrite/parsers/parser_register.py +86 -0
  1283. mindspore/rewrite/parsers/return_parser.py +37 -0
  1284. mindspore/rewrite/parsers/while_parser.py +59 -0
  1285. mindspore/rewrite/sparsify/__init__.py +0 -0
  1286. mindspore/rewrite/sparsify/sparse_transformer.py +457 -0
  1287. mindspore/rewrite/sparsify/sparsify.py +112 -0
  1288. mindspore/rewrite/sparsify/utils.py +179 -0
  1289. mindspore/rewrite/symbol_tree/__init__.py +20 -0
  1290. mindspore/rewrite/symbol_tree/symbol_tree.py +1819 -0
  1291. mindspore/rewrite/symbol_tree/symbol_tree_builder.py +76 -0
  1292. mindspore/rewrite/symbol_tree/symbol_tree_dumper.py +142 -0
  1293. mindspore/run_check/__init__.py +20 -0
  1294. mindspore/run_check/_check_version.py +507 -0
  1295. mindspore/run_check/run_check.py +66 -0
  1296. mindspore/safeguard/__init__.py +18 -0
  1297. mindspore/safeguard/rewrite_obfuscation.py +875 -0
  1298. mindspore/scipy/__init__.py +18 -0
  1299. mindspore/scipy/fft.py +264 -0
  1300. mindspore/scipy/linalg.py +919 -0
  1301. mindspore/scipy/ops.py +165 -0
  1302. mindspore/scipy/ops_grad.py +115 -0
  1303. mindspore/scipy/ops_wrapper.py +74 -0
  1304. mindspore/scipy/optimize/__init__.py +20 -0
  1305. mindspore/scipy/optimize/_bfgs.py +230 -0
  1306. mindspore/scipy/optimize/_lagrange.py +201 -0
  1307. mindspore/scipy/optimize/_lbfgs.py +146 -0
  1308. mindspore/scipy/optimize/gradient_optimization_algorithm.py +168 -0
  1309. mindspore/scipy/optimize/line_search.py +370 -0
  1310. mindspore/scipy/optimize/linear_sum_assignment.py +78 -0
  1311. mindspore/scipy/optimize/minimize.py +200 -0
  1312. mindspore/scipy/utils.py +156 -0
  1313. mindspore/scipy/utils_const.py +246 -0
  1314. mindspore/train/__init__.py +48 -0
  1315. mindspore/train/_utils.py +465 -0
  1316. mindspore/train/amp.py +935 -0
  1317. mindspore/train/anf_ir_pb2.py +1517 -0
  1318. mindspore/train/callback/__init__.py +44 -0
  1319. mindspore/train/callback/_backup_and_restore.py +117 -0
  1320. mindspore/train/callback/_callback.py +613 -0
  1321. mindspore/train/callback/_checkpoint.py +814 -0
  1322. mindspore/train/callback/_cluster_monitor.py +201 -0
  1323. mindspore/train/callback/_dataset_graph.py +150 -0
  1324. mindspore/train/callback/_early_stop.py +239 -0
  1325. mindspore/train/callback/_flops_collector.py +239 -0
  1326. mindspore/train/callback/_history.py +92 -0
  1327. mindspore/train/callback/_lambda_callback.py +80 -0
  1328. mindspore/train/callback/_landscape.py +1049 -0
  1329. mindspore/train/callback/_loss_monitor.py +107 -0
  1330. mindspore/train/callback/_lr_scheduler_callback.py +76 -0
  1331. mindspore/train/callback/_on_request_exit.py +298 -0
  1332. mindspore/train/callback/_reduce_lr_on_plateau.py +226 -0
  1333. mindspore/train/callback/_summary_collector.py +1184 -0
  1334. mindspore/train/callback/_tft_register.py +352 -0
  1335. mindspore/train/callback/_time_monitor.py +141 -0
  1336. mindspore/train/checkpoint_pb2.py +233 -0
  1337. mindspore/train/data_sink.py +219 -0
  1338. mindspore/train/dataset_helper.py +692 -0
  1339. mindspore/train/lineage_pb2.py +1260 -0
  1340. mindspore/train/loss_scale_manager.py +213 -0
  1341. mindspore/train/memory_profiling_pb2.py +298 -0
  1342. mindspore/train/metrics/__init__.py +175 -0
  1343. mindspore/train/metrics/accuracy.py +133 -0
  1344. mindspore/train/metrics/auc.py +129 -0
  1345. mindspore/train/metrics/bleu_score.py +170 -0
  1346. mindspore/train/metrics/confusion_matrix.py +700 -0
  1347. mindspore/train/metrics/cosine_similarity.py +109 -0
  1348. mindspore/train/metrics/dice.py +116 -0
  1349. mindspore/train/metrics/error.py +175 -0
  1350. mindspore/train/metrics/fbeta.py +167 -0
  1351. mindspore/train/metrics/hausdorff_distance.py +333 -0
  1352. mindspore/train/metrics/loss.py +97 -0
  1353. mindspore/train/metrics/mean_surface_distance.py +189 -0
  1354. mindspore/train/metrics/metric.py +373 -0
  1355. mindspore/train/metrics/occlusion_sensitivity.py +225 -0
  1356. mindspore/train/metrics/perplexity.py +133 -0
  1357. mindspore/train/metrics/precision.py +160 -0
  1358. mindspore/train/metrics/recall.py +159 -0
  1359. mindspore/train/metrics/roc.py +223 -0
  1360. mindspore/train/metrics/root_mean_square_surface_distance.py +191 -0
  1361. mindspore/train/metrics/topk.py +167 -0
  1362. mindspore/train/mind_ir_pb2.py +1908 -0
  1363. mindspore/train/model.py +2252 -0
  1364. mindspore/train/node_strategy_pb2.py +653 -0
  1365. mindspore/train/print_pb2.py +184 -0
  1366. mindspore/train/profiling_parallel_pb2.py +151 -0
  1367. mindspore/train/serialization.py +3325 -0
  1368. mindspore/train/summary/__init__.py +23 -0
  1369. mindspore/train/summary/_lineage_adapter.py +41 -0
  1370. mindspore/train/summary/_summary_adapter.py +496 -0
  1371. mindspore/train/summary/_writer_pool.py +207 -0
  1372. mindspore/train/summary/enums.py +56 -0
  1373. mindspore/train/summary/summary_record.py +581 -0
  1374. mindspore/train/summary/writer.py +167 -0
  1375. mindspore/train/summary_pb2.py +1165 -0
  1376. mindspore/train/train_thor/__init__.py +20 -0
  1377. mindspore/train/train_thor/convert_utils.py +268 -0
  1378. mindspore/train/train_thor/dataset_helper.py +192 -0
  1379. mindspore/train/train_thor/model_thor.py +257 -0
  1380. mindspore/utils/__init__.py +21 -0
  1381. mindspore/utils/utils.py +60 -0
  1382. mindspore/version.py +1 -0
  1383. mindspore-2.4.0.dist-info/METADATA +352 -0
  1384. mindspore-2.4.0.dist-info/RECORD +1387 -0
  1385. mindspore-2.4.0.dist-info/WHEEL +5 -0
  1386. mindspore-2.4.0.dist-info/entry_points.txt +3 -0
  1387. mindspore-2.4.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1288 @@
1
+ # Copyright 2020-2022 Huawei Technologies Co., Ltd
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ # ============================================================================
15
+ """Operators for random."""
16
+ from __future__ import absolute_import
17
+
18
+ from mindspore.common._decorator import deprecated
19
+ from mindspore import _checkparam as Validator
20
+ from mindspore.common import dtype as mstype
21
+ from mindspore.ops.primitive import PrimitiveWithInfer, prim_attr_register, Primitive
22
+ from mindspore.ops._utils import get_broadcast_shape
23
+ from ..auto_generate import RandpermV2, UniformExt
24
+
25
+
26
+ class NonDeterministicInts(Primitive):
27
+ r"""
28
+ Generates some integers that match the given type.
29
+
30
+ Returns the tensor with the given shape, the random numbers in it drawn from the data range
31
+ that a given type can represent.
32
+
33
+ .. warning::
34
+ The value of `shape` must be greater than zero.
35
+ The number of elements of output can not exceed 1000000.
36
+
37
+ Args:
38
+ dtype (mindspore.dtype, optional): The date type of output. The supported values are: mstype.int32
39
+ and mstype.int64. Default: mstype.int64.
40
+
41
+ Inputs:
42
+ - **shape** (Tensor) - The shape of random tensor to be generated. The supported values are:
43
+ int32 and int64.
44
+
45
+ Outputs:
46
+ Tensor. Its shape is specified by the input `shape`. Its type is specified by `dtype`.
47
+
48
+ Raises:
49
+ TypeError: If `shape` is not a Tensor.
50
+ TypeError: If `dtype` is not mstype.int32 or mstype.int64.
51
+ ValueError: If `shape` has negative elements.
52
+ ValueError: If `shape` has less than 2 elements.
53
+ ValueError: If `shape` is not a 1-D tensor.
54
+ ValueError: If the number of elements of output is more than 1000000.
55
+
56
+ Supported Platforms:
57
+ ``Ascend`` ``GPU`` ``CPU``
58
+
59
+ Examples:
60
+ >>> shape = Tensor((3,4), mstype.int32)
61
+ >>> ndints = ops.NonDeterministicInts(dtype=mstype.int32)
62
+ >>> output = ndints(shape)
63
+ >>> print(output.shape)
64
+ (3, 4)
65
+ """
66
+
67
+ @prim_attr_register
68
+ def __init__(self, dtype=mstype.int64):
69
+ """Initialize NonDeterministicInts"""
70
+ self.dtype = dtype
71
+ self.add_prim_attr("max_length", 1000000)
72
+ self.init_prim_io_names(inputs=["shape"], outputs=["output"])
73
+ self.add_prim_attr("side_effect_hidden", True)
74
+ valid_values = (mstype.int32, mstype.int64, mstype.uint32, mstype.uint64)
75
+ Validator.check_type_name("dtype", dtype, valid_values, self.name)
76
+
77
+
78
+ class TruncatedNormal(Primitive):
79
+ """
80
+ Returns a Tensor of the specified shape filled with truncated normal values.
81
+
82
+ The generated values conform to a Gaussian distribution.
83
+
84
+ Note:
85
+ - The value of `shape` must be greater than zero. The output length can not exceed 1000000.
86
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
87
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
88
+ separate calls, the random number generated will not change.
89
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
90
+ to worry about which seed is more important.
91
+
92
+ .. warning::
93
+ The Ascend backend does not support the reproducibility of random numbers, so
94
+ the `seed` and `seed2` parameter have no effect.
95
+
96
+ Args:
97
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
98
+ must be non-negative. Default: ``0`` .
99
+ seed2 (int, optional): The global random seed, which combines with the operator-level
100
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
101
+ dtype (mindspore.dtype, optional): Specified output data type. Must be one of the following types:
102
+ mindspore.float16, mindspore.float32 and mindspore.float64. Default: mindspore.float32.
103
+
104
+ Inputs:
105
+ - **shape** (Tensor) - The shape of random tensor to be generated. Its type must be one of the following types:
106
+ mindspore.int32 and mindspore.int64.
107
+
108
+ Outputs:
109
+ Tensor. Its shape is specified by the input `shape`. Its type is specified by `dtype`.
110
+ Its values are in [-2,2].
111
+
112
+ Raises:
113
+ TypeError: If `shape` is not a Tensor.
114
+ TypeError: If data type of `dtype` and `shape` are not allowed.
115
+ TypeError: If `seed` is not an integer.
116
+ ValueError: If `shape` elements are not positive.
117
+ ValueError: If `shape` is not a 1-D tensor.
118
+ ValueError: If the number of elements of output is more than 1000000.
119
+
120
+ Supported Platforms:
121
+ ``Ascend`` ``GPU`` ``CPU``
122
+
123
+ Examples:
124
+ >>> shape = Tensor(np.array([2, 2]), mstype.int32)
125
+ >>> seed = 0
126
+ >>> seed2 = 0
127
+ >>> truncated_normal = ops.TruncatedNormal(seed=seed, seed2=seed2)
128
+ >>> output = truncated_normal(shape)
129
+ >>> print(output)
130
+ [[ -1.303105 0.641905 ]
131
+ [ -0.917926 0.650655 ]]
132
+ """
133
+
134
+ @prim_attr_register
135
+ def __init__(self, dtype=mstype.float32, seed=0, seed2=0):
136
+ """Initialize TruncatedNormal"""
137
+ self.dtype = dtype
138
+ self.add_prim_attr("max_length", 1000000)
139
+ self.add_prim_attr("side_effect_hidden", True)
140
+ self.init_prim_io_names(inputs=["shape"], outputs=["output"])
141
+ Validator.check_value_type('seed', seed, [int], self.name)
142
+ Validator.check_value_type('seed2', seed2, [int], self.name)
143
+ valid_values = (mstype.float16, mstype.float32, mstype.float64)
144
+ Validator.check_type_name("dtype", dtype, valid_values, self.name)
145
+
146
+
147
+ class StandardNormal(Primitive):
148
+ r"""
149
+ Generates random numbers according to the standard Normal (or Gaussian) random number distribution.
150
+
151
+ Refer to :func:`mindspore.ops.standard_normal` for more details.
152
+
153
+ Note:
154
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
155
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
156
+ separate calls, the random number generated will not change.
157
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
158
+ to worry about which seed is more important.
159
+
160
+ .. warning::
161
+ The Ascend backend does not support the reproducibility of random numbers, so
162
+ the `seed` and `seed2` parameter have no effect.
163
+
164
+ Args:
165
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
166
+ must be non-negative. Default: ``0`` .
167
+ seed2 (int, optional): The global random seed, which combines with the operator-level
168
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
169
+
170
+ Inputs:
171
+ - **shape** (tuple) - The shape of random tensor to be generated. Only constant value is allowed.
172
+ Supported dtypes: int32, int64.
173
+
174
+ Outputs:
175
+ Tensor. The shape is the same as the input `shape`. The dtype is float32.
176
+
177
+ Supported Platforms:
178
+ ``Ascend`` ``GPU`` ``CPU``
179
+
180
+ Examples:
181
+ >>> from mindspore import ops
182
+ >>> shape = (3, 4)
183
+ >>> stdnormal = ops.StandardNormal(seed=2)
184
+ >>> output = stdnormal(shape)
185
+ >>> print(output)
186
+ [[-1.3031056 0.64198005 -0.65207404 -1.767485 ]
187
+ [-0.91792876 0.6508565 -0.9098478 -0.14092612]
188
+ [ 0.7806437 1.1585592 1.9676613 -0.00440959]]
189
+ """
190
+
191
+ @prim_attr_register
192
+ def __init__(self, seed=0, seed2=0):
193
+ """Initialize StandardNormal"""
194
+ self.init_prim_io_names(inputs=['shape'], outputs=['output'])
195
+ self.add_prim_attr("side_effect_hidden", True)
196
+ Validator.check_non_negative_int(seed, "seed", self.name)
197
+ Validator.check_non_negative_int(seed2, "seed2", self.name)
198
+
199
+
200
+ class StandardLaplace(Primitive):
201
+ r"""
202
+ Generates random numbers according to the Laplace random number distribution (mean=0, lambda=1).
203
+ It is defined as:
204
+
205
+ .. math::
206
+ \text{f}(x) = \frac{1}{2}\exp(-|x|)
207
+
208
+ Note:
209
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
210
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
211
+ separate calls, the random number generated will not change.
212
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
213
+ to worry about which seed is more important.
214
+
215
+ .. warning::
216
+ The Ascend backend does not support the reproducibility of random numbers, so
217
+ the `seed` and `seed2` parameter have no effect.
218
+
219
+ Args:
220
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
221
+ must be non-negative. Default: ``0`` .
222
+ seed2 (int, optional): The global random seed, which combines with the operator-level
223
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
224
+
225
+ Inputs:
226
+ - **shape** (Union[tuple[int], Tensor[int]]) - The shape of random tensor to be generated.
227
+ Only constant value is allowed
228
+ when the input type is tuple. And the operator supports dynamic shape only when the input type is Tensor.
229
+
230
+ Outputs:
231
+ Tensor. The shape that the input 'shape' denotes. The dtype is float32.
232
+
233
+ Raises:
234
+ TypeError: If seed or seed2 is not an int.
235
+ TypeError: If shape is neither a tuple nor a Tensor.
236
+ ValueError: If seed or seed2 is not a non-negative int.
237
+ ValueError: If shape is a tuple containing non-positive items.
238
+ ValueError: If shape is a Tensor, and the rank of the Tensor is not equal to 1.
239
+
240
+ Supported Platforms:
241
+ ``Ascend`` ``GPU`` ``CPU``
242
+
243
+ Examples:
244
+ >>> from mindspore import ops
245
+ >>> shape = (4, 16)
246
+ >>> stdlaplace = ops.StandardLaplace(seed=2)
247
+ >>> output = stdlaplace(shape)
248
+ >>> result = output.shape
249
+ >>> print(result)
250
+ (4, 16)
251
+ """
252
+
253
+ @prim_attr_register
254
+ def __init__(self, seed=0, seed2=0):
255
+ """Initialize StandardLaplace"""
256
+ self.init_prim_io_names(inputs=['shape'], outputs=['output'])
257
+ self.add_prim_attr("side_effect_hidden", True)
258
+ Validator.check_non_negative_int(seed, "seed", self.name)
259
+ Validator.check_non_negative_int(seed2, "seed2", self.name)
260
+
261
+
262
+ class RandomGamma(Primitive):
263
+ r"""
264
+ Produces random positive floating-point values x, distributed according to probability density function:
265
+
266
+ Note:
267
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
268
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
269
+ separate calls, the random number generated will not change.
270
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
271
+ to worry about which seed is more important.
272
+
273
+ Args:
274
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
275
+ must be non-negative. Default: ``0`` .
276
+ seed2 (int, optional): The global random seed, which combines with the operator-level
277
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
278
+
279
+ Inputs:
280
+ - **shape** (Tensor) - The shape of random tensor to be generated. It must be constant value.
281
+ - **alpha** (Tensor) - α is the shape parameter of RandomGamma distribution, it mainly determines the
282
+ shape of the graph curve. It must be greater than 0 and have date type float32.
283
+
284
+ Outputs:
285
+ Tensor. The shape should be equal to the concat shape between the input `shape` and `alpha`.
286
+ The dtype is the same type as alpha.
287
+
288
+ Raises:
289
+ TypeError: If data type of `seed` or `seed2` is not int.
290
+ TypeError: If `shape` or `alpha` is not a Tensor.
291
+ TypeError: If data type of `alpha` is not float32.
292
+ ValueError: If `shape` is not a constant value.
293
+
294
+ Supported Platforms:
295
+ ``CPU``
296
+
297
+ Examples:
298
+ >>> import numpy as np
299
+ >>> from mindspore import Tensor, ops
300
+ >>> from mindspore import dtype as mstype
301
+ >>> shape = Tensor(np.array([3, 1, 2]), mstype.int32)
302
+ >>> alpha = Tensor(np.array([[3, 4], [5, 6]]), mstype.float32)
303
+ >>> gamma = ops.RandomGamma(seed=3)
304
+ >>> output = gamma(shape, alpha)
305
+ >>> result = output.shape
306
+ >>> print(result)
307
+ (3, 1, 2, 2, 2)
308
+ """
309
+
310
+ @prim_attr_register
311
+ def __init__(self, seed=0, seed2=0):
312
+ """Initialize Gamma"""
313
+ self.init_prim_io_names(inputs=['shape', 'alpha'], outputs=['output'])
314
+ self.add_prim_attr("side_effect_hidden", True)
315
+ Validator.check_non_negative_int(seed, "seed", self.name)
316
+ Validator.check_non_negative_int(seed2, "seed2", self.name)
317
+
318
+
319
+ class LogNormalReverse(Primitive):
320
+ r"""
321
+ Fills the elements of the input tensor with log normal values initialized by
322
+ given mean and std:
323
+
324
+ .. math::
325
+ \text{f}(x;1.0,2.0)=\frac{1}{x\delta \sqrt[]{2\pi} }e^{-\frac{(\ln x-\mu )^2}{2\delta ^2} }
326
+
327
+ where \mu, \delta is mean and standard deviation of lognormal distribution respectively.
328
+
329
+ Args:
330
+ mean (float, optional): the mean of normal distribution. With float data type.
331
+ Default: ``1.0`` .
332
+ std (float, optional): the std of normal distribution. With float data type.
333
+ Default: ``2.0`` .
334
+
335
+ Inputs:
336
+ - **input** (Tensor) - The tensor to be generated with log-normal distribution.
337
+ Must be one of the following types: float16, float32, float64.
338
+
339
+ Outputs:
340
+ Tensor. A Tensor with the same type and shape of input.
341
+
342
+ Raises:
343
+ TypeError: If `input` is not Tensor.
344
+ ValueError: If `input` is NULL.
345
+
346
+ Supported Platforms:
347
+ ``Ascend`` ``GPU`` ``CPU``
348
+
349
+ Examples:
350
+ >>> x = Tensor(np.random.randn(3,4),mstype.float64)
351
+ >>> mean = 2.0
352
+ >>> std = 1.0
353
+ >>> lognormalreverse = ops.LogNormalReverse(mean, std)
354
+ >>> output = lognormalreverse(x)
355
+ >>> result = output.shape
356
+ >>> print(result)
357
+ (3, 4)
358
+ """
359
+
360
+ @prim_attr_register
361
+ def __init__(self, mean=1.0, std=2.0):
362
+ """Initialize LogNormalReverse"""
363
+ self.add_prim_attr("side_effect_hidden", True)
364
+ Validator.check_value_type("mean", mean, [float], self.name)
365
+ Validator.check_value_type("std", std, [float], self.name)
366
+
367
+
368
+ class Gamma(PrimitiveWithInfer):
369
+ r"""
370
+ Produces random positive floating-point values x, distributed according to probability density function:
371
+
372
+ .. math::
373
+ \text{P}(x|α,β) = \frac{\exp(-x/β)}{{β^α}\cdot{\Gamma(α)}}\cdot{x^{α-1}}
374
+
375
+ Note:
376
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
377
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
378
+ separate calls, the random number generated will not change.
379
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
380
+ to worry about which seed is more important.
381
+
382
+ .. warning::
383
+ The Ascend backend does not support the reproducibility of random numbers, so
384
+ the `seed` and `seed2` parameter have no effect.
385
+
386
+ Args:
387
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
388
+ must be non-negative. Default: ``0`` .
389
+ seed2 (int, optional): The global random seed, which combines with the operator-level
390
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
391
+
392
+ Inputs:
393
+ - **shape** (tuple) - The shape of random tensor to be generated. Only constant value is allowed.
394
+ - **alpha** (Tensor) - α is the shape parameter of Gamma distribution, which mainly determines the shape of
395
+ the curve. It must be greater than 0. The data type is float32.
396
+ - **beta** (Tensor) - β is the inverse scale parameter of the Gamma distribution, which mainly determines how
397
+ steep the curve is. It must be greater than 0. The data type is float32.
398
+
399
+ Outputs:
400
+ Tensor. The shape must be the broadcasted shape of Input "shape" and shapes of `alpha` and `beta`.
401
+ The dtype is float32.
402
+
403
+ Raises:
404
+ TypeError: If data type of `seed` or `seed2` is not int.
405
+ TypeError: If `alpha` or `beta` is not a Tensor.
406
+ TypeError: If data type of `alpha` or `beta` is not float32.
407
+ ValueError: If `shape` is not a constant value.
408
+
409
+ Supported Platforms:
410
+ ``Ascend``
411
+
412
+ Examples:
413
+ >>> import numpy as np
414
+ >>> from mindspore import Tensor, ops
415
+ >>> from mindspore import dtype as mstype
416
+ >>> shape = (3, 1, 2)
417
+ >>> alpha = Tensor(np.array([[3, 4], [5, 6]]), mstype.float32)
418
+ >>> beta = Tensor(np.array([1.0]), mstype.float32)
419
+ >>> gamma = ops.Gamma(seed=3)
420
+ >>> output = gamma(shape, alpha, beta)
421
+ >>> result = output.shape
422
+ >>> print(result)
423
+ (3, 2, 2)
424
+ """
425
+
426
+ @prim_attr_register
427
+ def __init__(self, seed=0, seed2=0):
428
+ """Initialize RandomGamma"""
429
+ self.init_prim_io_names(
430
+ inputs=['shape', 'alpha', 'beta'], outputs=['output'])
431
+ self.add_prim_attr("side_effect_hidden", True)
432
+ Validator.check_non_negative_int(seed, "seed", self.name)
433
+ Validator.check_non_negative_int(seed2, "seed2", self.name)
434
+
435
+ def __infer__(self, shape, alpha, beta):
436
+ shape_v = shape["value"]
437
+ if shape_v is None:
438
+ raise ValueError(f"For '{self.name}', the 'shape' cannot be None.")
439
+ Validator.check_value_type("shape", shape_v, [tuple], self.name)
440
+ for i, shape_i in enumerate(shape_v):
441
+ Validator.check_positive_int(shape_i, f'shape[{i}]', self.name)
442
+ Validator.check_tensor_dtype_valid("alpha", alpha["dtype"], [mstype.float32], self.name)
443
+ Validator.check_tensor_dtype_valid("beta", beta["dtype"], [mstype.float32], self.name)
444
+ broadcast_shape = get_broadcast_shape(alpha['shape'], beta['shape'], self.name,
445
+ arg_name1="alpha", arg_name2="beta")
446
+ broadcast_shape = get_broadcast_shape(broadcast_shape, shape_v, self.name,
447
+ arg_name1="broadcast_alpha_beta", arg_name2="shape")
448
+ out = {
449
+ 'shape': broadcast_shape,
450
+ 'dtype': mstype.float32,
451
+ 'value': None}
452
+ return out
453
+
454
+
455
+ class ParameterizedTruncatedNormal(Primitive):
456
+ r"""
457
+ Returns a tensor of the specified shape filled with truncated normal values.
458
+ When `shape` is :math:`(batch\_size, *)`, the shape of `mean`, `stdevs`,
459
+ `min` and `max` should be :math:`()` or :math:`(batch\_size, )`.
460
+
461
+ Note:
462
+ - The value in tensor `min` must be strictly less than `max` at any position after broadcasting.
463
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
464
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
465
+ separate calls, the random number generated will not change.
466
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
467
+ to worry about which seed is more important.
468
+
469
+ .. warning::
470
+ The Ascend backend does not support the reproducibility of random numbers, so
471
+ the `seed` and `seed2` parameter have no effect.
472
+
473
+ Args:
474
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
475
+ must be non-negative. Default: ``0`` .
476
+ seed2 (int, optional): The global random seed, which combines with the operator-level
477
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
478
+
479
+ Inputs:
480
+ - **shape** (Tensor) - The shape of random tensor to be generated.
481
+ It has shape :math:`(batch\_size, *)` where :math:`*` is an additional
482
+ dimension with a length of no less than 1.
483
+ Its type must be one of the following types: int32 and int64.
484
+ - **mean** (Tensor) - The parameter defines the mean of truncated normal distribution.
485
+ It has shape :math:`()` or :math:`(batch\_size, )`.
486
+ Its type must be one of the following types:float16, float32, float64.
487
+ - **stdevs** (Tensor) - The parameter defines the standard deviation for truncation of
488
+ the normal distribution.
489
+ It must be greater than 0 and have the same shape and type as means.
490
+ - **min** (Tensor) - The parameter defines the minimum of
491
+ truncated normal distribution. It must have the same shape and type as means.
492
+ - **max** (Tensor) - The parameter defines the maximum of
493
+ truncated normal distribution. It must have the same shape and type as means.
494
+
495
+ Outputs:
496
+ Tensor. Its shape is specified by the input `shape` and it must have the same type as means.
497
+
498
+ Raises:
499
+ TypeError: If data type of `shape`, `mean`, `stdevs`, `min` and `max` are not allowed.
500
+ TypeError: If `mean`, `stdevs`, `min`, `max` don't have the same type.
501
+ TypeError: If any of `shape`, `mean`, `stdevs`, `min` and `max` is not Tensor.
502
+ ValueError: When `shape` is :math:`(batch\_size, *)`, if the shape of `mean`, `stdevs`, `min` or `max`
503
+ is not :math:`()` or :math:`(batch\_size, )`.
504
+ ValueError: If `shape` elements are not positive.
505
+ ValueError: If `stdevs` elements are not positive.
506
+ ValueError: If `shape` has less than 2 elements.
507
+ ValueError: If `shape` is not a 1-D tensor.
508
+
509
+ Supported Platforms:
510
+ ``Ascend`` ``GPU`` ``CPU``
511
+
512
+ Examples:
513
+ >>> shape = Tensor(np.array([2, 3]), mstype.int32)
514
+ >>> mean = Tensor(np.array([0]), mstype.float32)
515
+ >>> stdevs = Tensor(np.array([1]), mstype.float32)
516
+ >>> min = Tensor(np.array([-100]), mstype.float32)
517
+ >>> max = Tensor(np.array([100]), mstype.float32)
518
+ >>> seed = 1
519
+ >>> seed2 = 2
520
+ >>> parameterized_truncated_normal = ops.ParameterizedTruncatedNormal(seed=seed, seed2=seed2)
521
+ >>> output = parameterized_truncated_normal(shape, mean, stdevs, min, max)
522
+ >>> print(output)
523
+ [[-0.54974616 -1.4028727 1.5827523 ]
524
+ [ 0.25759354 -1.9593946 -1.5078077 ]]
525
+ """
526
+
527
+ @prim_attr_register
528
+ def __init__(self, seed=0, seed2=0):
529
+ """Initialize ParameterizedTruncatedNormal"""
530
+ self.init_prim_io_names(
531
+ inputs=['shape', 'mean', 'stdevs', 'min', 'max'], outputs=['y'])
532
+ self.add_prim_attr("side_effect_hidden", True)
533
+ Validator.check_value_type('seed', seed, [int], self.name)
534
+ Validator.check_value_type('seed2', seed2, [int], self.name)
535
+
536
+
537
+ class Poisson(PrimitiveWithInfer):
538
+ r"""
539
+ Produces random non-negative integer values i. Distributed according to discrete probability function:
540
+
541
+ .. math::
542
+ \text{P}(i|μ) = \frac{\exp(-μ)μ^{i}}{i!}
543
+
544
+ Note:
545
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
546
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
547
+ separate calls, the random number generated will not change.
548
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
549
+ to worry about which seed is more important.
550
+
551
+ Args:
552
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
553
+ must be non-negative. Default: ``0`` .
554
+ seed2 (int, optional): The global random seed, which combines with the operator-level
555
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
556
+
557
+ Inputs:
558
+ - **shape** (tuple) - The shape of random tensor to be generated. Only constant value is allowed.
559
+ - **mean** (Tensor) - μ parameter the distribution was constructed with. The parameter defines mean number
560
+ of occurrences of the event. It must be greater than 0. With float32 data type.
561
+
562
+ Outputs:
563
+ Tensor. Its shape must be the broadcasted shape of `shape` and the shape of `mean`.
564
+ The dtype is int32.
565
+
566
+ Raises:
567
+ TypeError: If neither `seed` nor `seed2` is an int.
568
+ TypeError: If `shape` is not a tuple.
569
+ TypeError: If `mean` is not a Tensor whose dtype is not float32.
570
+
571
+ Supported Platforms:
572
+ deprecated
573
+
574
+ Examples:
575
+ >>> shape = (4, 1)
576
+ >>> mean = Tensor(np.array([5.0, 10.0]), mstype.float32)
577
+ >>> poisson = ops.Poisson(seed=5)
578
+ >>> output = poisson(shape, mean)
579
+ >>> result = output.shape
580
+ >>> print(result)
581
+ (4, 2)
582
+ """
583
+
584
+ @deprecated("2.0", "mindspore.ops.operations.Poisson", False)
585
+ @prim_attr_register
586
+ def __init__(self, seed=0, seed2=0):
587
+ """Initialize Poisson"""
588
+ self.init_prim_io_names(inputs=['shape', 'mean'], outputs=['output'])
589
+ self.add_prim_attr("side_effect_hidden", True)
590
+ Validator.check_non_negative_int(seed, "seed", self.name)
591
+ Validator.check_non_negative_int(seed2, "seed2", self.name)
592
+
593
+ def __infer__(self, shape, mean):
594
+ shape_v = shape["value"]
595
+ if shape_v is None:
596
+ raise ValueError(f"For '{self.name}', the 'shape' cannot be None.")
597
+ Validator.check_value_type("shape", shape_v, [tuple], self.name)
598
+ for i, shape_i in enumerate(shape_v):
599
+ Validator.check_positive_int(shape_i, f'shape[{i}]', self.name)
600
+ Validator.check_tensor_dtype_valid(
601
+ "mean", mean["dtype"], [mstype.float32], self.name)
602
+ broadcast_shape = get_broadcast_shape(
603
+ mean['shape'], shape_v, self.name, arg_name1="mean", arg_name2="shape")
604
+ out = {
605
+ 'shape': broadcast_shape,
606
+ 'dtype': mstype.int32,
607
+ 'value': None}
608
+ return out
609
+
610
+
611
+ class RandomPoisson(Primitive):
612
+ r"""
613
+ Produces random non-negative values i, distributed according to discrete probability function:
614
+
615
+ .. math::
616
+ \text{P}(i|μ) = \frac{\exp(-μ)μ^{i}}{i!}
617
+
618
+ Note:
619
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
620
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
621
+ separate calls, the random number generated will not change.
622
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
623
+ to worry about which seed is more important.
624
+
625
+ Args:
626
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
627
+ must be non-negative. Default: ``0`` .
628
+ seed2 (int, optional): The global random seed, which combines with the operator-level
629
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
630
+ dtype (mindspore.dtype, optional): The type of output. Default: ``mstype.int64`` .
631
+
632
+ Inputs:
633
+ - **shape** (Tensor) - The shape of random tensor to be generated, 1-D Tensor, whose dtype must be in
634
+ [int32, int64].
635
+ - **rate** (Tensor) - μ parameter the distribution was constructed with. The parameter defines mean number
636
+ of occurrences of the event. Its type must be in [float16, float32, float64, int32, int64].
637
+
638
+ Outputs:
639
+ Tensor. Its shape is :math:`(*shape, *rate.shape)`. Its type is specified by `dtype`.
640
+
641
+ Raises:
642
+ TypeError: If `shape` is not a Tensor or its dtype is not int32 or int64.
643
+ TypeError: If `dtype` is not int32 or int64.
644
+ ValueError: If `shape` is not a 1-D tensor.
645
+ ValueError: If `shape` elements are negative.
646
+
647
+ Supported Platforms:
648
+ ``GPU`` ``CPU``
649
+
650
+ Examples:
651
+ >>> import numpy as np
652
+ >>> from mindspore import Tensor, ops
653
+ >>> from mindspore import dtype as mstype
654
+ >>> shape = Tensor(np.array([2, 3]), mstype.int32)
655
+ >>> rate = Tensor(np.array([2, 2]), mstype.int32)
656
+ >>> seed = 0
657
+ >>> seed2 = 0
658
+ >>> random_poisson = ops.RandomPoisson(seed=seed, seed2=seed2)
659
+ >>> output = random_poisson(shape,rate)
660
+ >>> print(output.shape)
661
+ (2, 3, 2)
662
+ """
663
+
664
+ @prim_attr_register
665
+ def __init__(self, seed=0, seed2=0, dtype=mstype.int64):
666
+ """Initialize Poisson"""
667
+ self.init_prim_io_names(inputs=['shape', 'rate'], outputs=['output'])
668
+ Validator.check_value_type('seed', seed, [int], self.name)
669
+ Validator.check_value_type('seed2', seed2, [int], self.name)
670
+ self.add_prim_attr("side_effect_hidden", True)
671
+ valid_values = (mstype.int64, mstype.int32,
672
+ mstype.float16, mstype.float32, mstype.float64)
673
+ Validator.check_type_name("dtype", dtype, valid_values, self.name)
674
+
675
+
676
+ class UniformInt(Primitive):
677
+ r"""
678
+ Produces random integer values i, uniformly distributed on the closed interval [minval, maxval), that is,
679
+ distributed according to the discrete probability function:
680
+
681
+ .. math::
682
+ \text{P}(i|a,b) = \frac{1}{b-a+1},
683
+
684
+ where the :math:`a` indicates the min distribution parameter,
685
+ the :math:`b` indicates the max distribution parameter.
686
+
687
+ Note:
688
+ - The number in tensor minval must be strictly less than maxval at any position after broadcasting.
689
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
690
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
691
+ separate calls, the random number generated will not change.
692
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
693
+ to worry about which seed is more important.
694
+
695
+ .. warning::
696
+ The Ascend backend does not support the reproducibility of random numbers, so
697
+ the `seed` and `seed2` parameter have no effect.
698
+
699
+ Args:
700
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
701
+ must be non-negative. Default: ``0`` .
702
+ seed2 (int, optional): The global random seed, which combines with the operator-level
703
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
704
+
705
+ Inputs:
706
+ - **shape** (Union[tuple, Tensor]) - The shape of random tensor to be generated. Only constant value is allowed.
707
+ - **minval** (Tensor) - The distribution parameter, :math:`a`.
708
+ It defines the minimum possibly generated value, with int32 data type. Only one number is supported.
709
+ - **maxval** (Tensor) - The distribution parameter, :math:`b`.
710
+ It defines the maximum possibly generated value, with int32 data type. Only one number is supported.
711
+
712
+ Outputs:
713
+ Tensor. The shape is the same as the input 'shape', and the data type is int32.
714
+
715
+ Raises:
716
+ TypeError: If neither `seed` nor `seed2` is an int.
717
+ TypeError: If `shape` is neither a tuple nor a Tensor.
718
+ TypeError: If neither `minval` nor `maxval` is a Tensor.
719
+ ValueError: If `shape` is not a constant value.
720
+
721
+ Supported Platforms:
722
+ ``Ascend`` ``GPU`` ``CPU``
723
+
724
+ Examples:
725
+ >>> from mindspore import Tensor, ops
726
+ >>> from mindspore import dtype as mstype
727
+ >>> shape = (2, 4)
728
+ >>> minval = Tensor(1, mstype.int32)
729
+ >>> maxval = Tensor(5, mstype.int32)
730
+ >>> uniform_int = ops.UniformInt(seed=10)
731
+ >>> output = uniform_int(shape, minval, maxval)
732
+ >>> result = output.shape
733
+ >>> print(result)
734
+ (2, 4)
735
+ """
736
+
737
+ @prim_attr_register
738
+ def __init__(self, seed=0, seed2=0):
739
+ """Initialize UniformInt"""
740
+ self.init_prim_io_names(
741
+ inputs=['shape', 'minval', 'maxval'], outputs=['output'])
742
+ self.add_prim_attr("side_effect_hidden", True)
743
+ Validator.check_non_negative_int(seed, "seed", self.name)
744
+ Validator.check_non_negative_int(seed2, "seed2", self.name)
745
+
746
+
747
+ class UniformReal(Primitive):
748
+ r"""
749
+ Produces random floating-point values, uniformly distributed to the interval [0, 1).
750
+
751
+ Note:
752
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
753
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
754
+ separate calls, the random number generated will not change.
755
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
756
+ to worry about which seed is more important.
757
+ - Currently, on the Ascend platform, `shape` as a Tensor is not supported.
758
+ This is supported on CPU/GPU platforms. When the input is a Tensor,
759
+ the supported data types are as follows:
760
+
761
+ - GPU: int32, int64.
762
+ - CPU: int16, int32, int64.
763
+
764
+ .. warning::
765
+ The Ascend backend does not support the reproducibility of random numbers, so
766
+ the `seed` and `seed2` parameter have no effect.
767
+
768
+ Args:
769
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
770
+ must be non-negative. Default: ``0`` .
771
+ seed2 (int, optional): The global random seed, which combines with the operator-level
772
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
773
+
774
+ Inputs:
775
+ - **shape** (Union[tuple, Tensor]) - The shape of tensor to be generated. Only constant value is allowed.
776
+
777
+ Outputs:
778
+ Tensor. The shape that the input 'shape' denotes. The dtype is float32.
779
+
780
+ Raises:
781
+ TypeError: If `seed` or `seed2` is not an int.
782
+ TypeError: If `shape` is neither a tuple nor a Tensor.
783
+ ValueError: If `shape` is not a constant value.
784
+
785
+ Supported Platforms:
786
+ ``Ascend`` ``GPU`` ``CPU``
787
+
788
+ Examples:
789
+ >>> from mindspore import ops
790
+ >>> shape = (2, 2)
791
+ >>> uniformreal = ops.UniformReal(seed=2)
792
+ >>> output = uniformreal(shape)
793
+ >>> result = output.shape
794
+ >>> print(result)
795
+ (2, 2)
796
+ """
797
+
798
+ @prim_attr_register
799
+ def __init__(self, seed=0, seed2=0):
800
+ """Initialize UniformReal"""
801
+ self.init_prim_io_names(inputs=['shape'], outputs=['output'])
802
+ self.add_prim_attr("side_effect_hidden", True)
803
+ Validator.check_non_negative_int(seed, "seed", self.name)
804
+ Validator.check_non_negative_int(seed2, "seed2", self.name)
805
+
806
+
807
+ class RandomChoiceWithMask(Primitive):
808
+ """
809
+ Generates a random sample as index tensor with a mask tensor from a given tensor.
810
+
811
+ Refer to :func:`mindspore.ops.choice_with_mask` for more details.
812
+
813
+ Note:
814
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
815
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
816
+ separate calls, the random number generated will not change.
817
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
818
+ to worry about which seed is more important.
819
+
820
+ Args:
821
+ count (int, optional): Number of items expected to get and the number must be greater than 0. Default: ``256`` .
822
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
823
+ must be non-negative. Default: ``0`` .
824
+ seed2 (int, optional): The global random seed, which combines with the operator-level
825
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
826
+
827
+ Inputs:
828
+ - **input_x** (Tensor[bool]) - The input tensor.
829
+ The input tensor rank must be greater than or equal to 1 and less than or equal to 5.
830
+
831
+ Outputs:
832
+ Two tensors, the first one is the index tensor and the other one is the mask tensor.
833
+
834
+ - **index** (Tensor) - The output shape is 2-D, its shape is :math:`(count, rank of input_x)`.
835
+ - **mask** (Tensor) - The output shape is 1-D, its shape is :math:`(count)`.
836
+
837
+ Supported Platforms:
838
+ ``Ascend`` ``GPU`` ``CPU``
839
+
840
+ Examples:
841
+ >>> import numpy as np
842
+ >>> from mindspore import Tensor, ops
843
+ >>> rnd_choice_mask = ops.RandomChoiceWithMask()
844
+ >>> input_x = Tensor(np.ones(shape=[240000, 4]).astype(np.bool_))
845
+ >>> output_y, output_mask = rnd_choice_mask(input_x)
846
+ >>> result = output_y.shape
847
+ >>> print(result)
848
+ (256, 2)
849
+ >>> result = output_mask.shape
850
+ >>> print(result)
851
+ (256,)
852
+ """
853
+
854
+ @prim_attr_register
855
+ def __init__(self, count=256, seed=0, seed2=0):
856
+ """Initialize RandomChoiceWithMask"""
857
+ Validator.check_value_type("count", count, [int], self.name)
858
+ Validator.check_positive_int(count, "count", self.name)
859
+ Validator.check_value_type('seed', seed, [int], self.name)
860
+ Validator.check_value_type('seed2', seed2, [int], self.name)
861
+ self.add_prim_attr("side_effect_hidden", True)
862
+
863
+
864
+ class RandomCategorical(PrimitiveWithInfer):
865
+ r"""
866
+ Generates random samples from a given categorical distribution tensor.
867
+
868
+ .. warning::
869
+ The Ascend backend does not support the reproducibility of random numbers, so
870
+ the `seed` parameter has no effect.
871
+
872
+ Args:
873
+ dtype (mindspore.dtype): The type of output. Its value must be one of mstype.int16,
874
+ mstype.int32 and mstype.int64. Default: ``mstype.int64`` .
875
+
876
+ Inputs:
877
+ - **logits** (Tensor) - The input tensor. 2-D Tensor with shape :math:`(batch\_size, num\_classes)`.
878
+ - **num_sample** (int) - Number of sample to be drawn. Only constant values is allowed.
879
+ - **seed** (int) - Random seed. Default: ``0`` . Only constant values is allowed.
880
+
881
+ Outputs:
882
+ - **output** (Tensor) - The output Tensor with shape :math:`(batch\_size, num\_samples)`.
883
+
884
+ Raises:
885
+ TypeError: If `dtype` is not one of the following: mstype.int16, mstype.int32, mstype.int64.
886
+ TypeError: If `logits` is not a Tensor.
887
+ TypeError: If neither `num_sample` nor `seed` is an int.
888
+
889
+ Supported Platforms:
890
+ ``Ascend`` ``GPU`` ``CPU``
891
+
892
+ Examples:
893
+ >>> import mindspore
894
+ >>> import numpy as np
895
+ >>> from mindspore import nn, ops, Tensor
896
+ >>> class Net(nn.Cell):
897
+ ... def __init__(self, num_sample):
898
+ ... super(Net, self).__init__()
899
+ ... self.random_categorical = ops.RandomCategorical(mindspore.int64)
900
+ ... self.num_sample = num_sample
901
+ ... def construct(self, logits, seed=0):
902
+ ... return self.random_categorical(logits, self.num_sample, seed)
903
+ ...
904
+ >>> x = np.random.random((10, 5)).astype(np.float32)
905
+ >>> net = Net(8)
906
+ >>> output = net(Tensor(x))
907
+ >>> result = output.shape
908
+ >>> print(result)
909
+ (10, 8)
910
+ """
911
+
912
+ @prim_attr_register
913
+ def __init__(self, dtype=mstype.int64):
914
+ """Initialize RandomCategorical"""
915
+ self.dtype = dtype
916
+
917
+ valid_values = (mstype.int32, mstype.int16, mstype.int64)
918
+ Validator.check_type_name("dtype", dtype, valid_values, self.name)
919
+ self.init_prim_io_names(inputs=['logits', 'num_samples', 'seed'],
920
+ outputs=['output'])
921
+ self.add_prim_attr("side_effect_hidden", True)
922
+
923
+
924
+ class Multinomial(Primitive):
925
+ r"""
926
+ Returns a tensor sampled from the multinomial probability distribution located in the corresponding
927
+ row of tensor input.
928
+
929
+ Note:
930
+ - The rows of input do not need to sum to one (in which case we use the values as weights),
931
+ but must be non-negative, finite and have a non-zero sum.
932
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
933
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
934
+ separate calls, the random number generated will not change.
935
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
936
+ to worry about which seed is more important.
937
+
938
+ .. warning::
939
+ The Ascend backend does not support the reproducibility of random numbers, so
940
+ the `seed` and `seed2` parameter have no effect.
941
+
942
+ Args:
943
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
944
+ must be non-negative. Default: ``0`` .
945
+ seed2 (int, optional): The global random seed, which combines with the operator-level
946
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
947
+ dtype(mindspore.dtype, optional): The type of output, must be ``mstype.int32`` or ``mstype.int64``.
948
+ Default: ``mstype.int32``.
949
+
950
+ Inputs:
951
+ - **x** (Tensor) - the input tensor containing the cumsum of probabilities, must be 1 or 2
952
+ dimensions.
953
+ - **num_samples** (int) - number of samples to draw, must be a nonnegative number.
954
+
955
+ Outputs:
956
+ Tensor with the same rows as `x`, each row has num_samples sampled indices.
957
+
958
+ Raises:
959
+ TypeError: If neither `seed` nor `seed2` is an int.
960
+ TypeError: If dtype of `num_samples` is not int.
961
+ TypeError: If `dtype` is not mstype.int32 or mstype.int64.
962
+ ValueError: If `seed` or `seed2` is less than 0.
963
+
964
+ Supported Platforms:
965
+ ``Ascend`` ``GPU`` ``CPU``
966
+
967
+ Examples:
968
+ >>> from mindspore import Tensor, ops
969
+ >>> from mindspore import dtype as mstype
970
+ >>> x = Tensor([[0., 9., 4., 0.]], mstype.float32)
971
+ >>> multinomial = ops.Multinomial(seed=10)
972
+ >>> output = multinomial(x, 2)
973
+ >>> print(output)
974
+ [[1 1]]
975
+ """
976
+
977
+ @prim_attr_register
978
+ def __init__(self, seed=0, seed2=0, dtype=mstype.int32):
979
+ """Initialize Multinomial."""
980
+ Validator.check_non_negative_int(seed, "seed", self.name)
981
+ Validator.check_non_negative_int(seed2, "seed2", self.name)
982
+ self.init_prim_io_names(
983
+ inputs=['x', 'num_samples'], outputs=['output'])
984
+ Validator.check_value_type("dtype", dtype, [mstype.Type], self.name)
985
+ valid_values = (mstype.int64, mstype.int32)
986
+ Validator.check_type_name("dtype", dtype, valid_values, self.name)
987
+ self.add_prim_attr("side_effect_hidden", True)
988
+
989
+
990
+ class MultinomialWithReplacement(Primitive):
991
+ r"""
992
+ Returns a tensor where each row contains `numsamples` indices sampled from the multinomial distribution
993
+ with replacement. It diffs from `Multinomial` in that it allows the same outcome to be chosen multiple times.
994
+
995
+ .. warning::
996
+ This is an experimental API that is subject to change or deletion.
997
+
998
+ Refer to :func:`mindspore.ops.multinomial_with_replacement` for more details.
999
+
1000
+ Note:
1001
+ The rows of input do not need to sum to one (in which case we use the values as weights),
1002
+ but must be non-negative, finite and have a non-zero sum.
1003
+
1004
+ Args:
1005
+ numsamples (int): number of samples to draw, must be a nonnegative number.
1006
+ replacement (bool, optional): Whether to draw with replacement or not. Default: ``False`` .
1007
+
1008
+ Inputs:
1009
+ - **x** (Tensor) - the input tensor containing the cumsum of probabilities, must be 1 or 2
1010
+ dimensions.
1011
+ - **seed** (Tensor) - If `seed` and 'offset' are both set to 0, the random number generator
1012
+ is seeded by a random seed. Otherwise, it is seeded by the given seed and offset.
1013
+ Supported dtype: int64.
1014
+ - **offset** (Tensor) - Offset used to avoid seed collision. Supported dtype: int64.
1015
+
1016
+ Outputs:
1017
+ Tensor with the same rows as `x`, each row has `numsamples` sampled indices.
1018
+
1019
+ Supported Platforms:
1020
+ ``CPU``
1021
+
1022
+ Examples:
1023
+ >>> from mindspore import Tensor, ops
1024
+ >>> from mindspore import dtype as mstype
1025
+ >>> x = Tensor([[0., 9., 4., 0.]], mstype.float32)
1026
+ >>> seed = Tensor(2, mstype.int64)
1027
+ >>> offset = Tensor(5, mstype.int64)
1028
+ >>> multinomialwithreplacement = ops.MultinomialWithReplacement(numsamples=2,replacement=True)
1029
+ >>> output = multinomialwithreplacement(x, seed, offset)
1030
+ >>> print(output)
1031
+ [[1 1]]
1032
+ """
1033
+
1034
+ @prim_attr_register
1035
+ def __init__(self, numsamples, replacement=False):
1036
+ """Initialize MultinomialWithReplacement."""
1037
+ Validator.check_non_negative_int(numsamples, "numsamples", self.name)
1038
+ Validator.check_value_type("replacement", replacement, [bool], self.name)
1039
+ self.init_prim_io_names(inputs=['x', 'seed', 'offset'], outputs=['y'])
1040
+ self.add_prim_attr("side_effect_hidden", True)
1041
+
1042
+
1043
+ class UniformCandidateSampler(Primitive):
1044
+ r"""
1045
+ Uniform candidate sampler.
1046
+
1047
+ This function samples a set of classes(sampled_candidates) from [0, range_max-1] based on uniform distribution.
1048
+
1049
+ Refer to :func:`mindspore.ops.uniform_candidate_sampler` for more details.
1050
+
1051
+ .. warning::
1052
+ - The Ascend backend does not support the reproducibility of random numbers, so
1053
+ the `seed` parameter has no effect.
1054
+ - The Ascend backend does not support dynamic shape scenarios currently.
1055
+
1056
+ Args:
1057
+ num_true (int): The number of target classes in each training example.
1058
+ num_sampled (int): The number of classes to randomly sample. The sampled_candidates will have a shape
1059
+ of num_sampled. If unique=True, num_sampled must be less than or equal to range_max.
1060
+ unique (bool): Whether all sampled classes in a batch are unique.
1061
+ range_max (int): The number of possible classes, must be non-negative.
1062
+ seed (int, optional): Used for random number generation, must be non-negative. If seed has a value of 0,
1063
+ the seed will be replaced with a randomly generated value. Default: ``0`` .
1064
+ remove_accidental_hits (bool, optional): Whether accidental hit is removed.
1065
+ Accidental hit is when one of the true classes matches one of the sample classes.
1066
+ Set ``True`` to remove which accidentally sampling the true class as sample class. Default: ``False`` .
1067
+
1068
+ Inputs:
1069
+ - **true_classes** (Tensor) - A Tensor. The target classes with a Tensor shape of
1070
+ :math:`(batch\_size, num\_true)`. The value range of the elements must be :math:`[0, range\_max)`.
1071
+
1072
+ Outputs:
1073
+ - **sampled_candidates** (Tensor) - The sampled_candidates is independent of the true classes.
1074
+ Shape: :math:`(num\_sampled, )`.
1075
+ - **true_expected_count** (Tensor) - The expected counts under the sampling distribution of each
1076
+ of true_classes. Shape: :math:`(batch\_size, num\_true)`.
1077
+ - **sampled_expected_count** (Tensor) - The expected counts under the sampling distribution of
1078
+ each of sampled_candidates. Shape: :math:`(num\_sampled, )`.
1079
+
1080
+ Supported Platforms:
1081
+ ``Ascend`` ``GPU`` ``CPU``
1082
+
1083
+ Examples:
1084
+ >>> import numpy as np
1085
+ >>> from mindspore import Tensor, ops
1086
+ >>> sampler = ops.UniformCandidateSampler(1, 3, False, 4, 1)
1087
+ >>> output1, output2, output3 = sampler(Tensor(np.array([[1], [3], [4], [6], [3]], dtype=np.int64)))
1088
+ >>> print(output1.shape)
1089
+ (3,)
1090
+ >>> print(output2.shape)
1091
+ (5, 1)
1092
+ >>> print(output3.shape)
1093
+ (3,)
1094
+ """
1095
+
1096
+ @prim_attr_register
1097
+ def __init__(self, num_true, num_sampled, unique, range_max, seed=0, remove_accidental_hits=False):
1098
+ """Initialize UniformCandidateSampler"""
1099
+ Validator.check_value_type("num_true", num_true, [int], self.name)
1100
+ Validator.check_value_type(
1101
+ "num_sampled", num_sampled, [int], self.name)
1102
+ Validator.check_value_type("unique", unique, [bool], self.name)
1103
+ Validator.check_value_type("range_max", range_max, [int], self.name)
1104
+ Validator.check_value_type("seed", seed, [int], self.name)
1105
+ Validator.check_value_type(
1106
+ "remove_accidental_hits", remove_accidental_hits, [bool], self.name)
1107
+ Validator.check("value of num_true", num_true,
1108
+ '', 0, Validator.GT, self.name)
1109
+ Validator.check("value of num_sampled", num_sampled,
1110
+ '', 0, Validator.GT, self.name)
1111
+ Validator.check("value of range_max", range_max,
1112
+ '', 0, Validator.GT, self.name)
1113
+ self.num_true = num_true
1114
+ if unique:
1115
+ Validator.check('value of num_sampled', num_sampled,
1116
+ "value of range_max", range_max, Validator.LE, self.name)
1117
+ Validator.check("value of seed", seed, '', 0, Validator.GE, self.name)
1118
+ self.num_sampled = num_sampled
1119
+ self.add_prim_attr("side_effect_hidden", True)
1120
+
1121
+
1122
+ class LogUniformCandidateSampler(Primitive):
1123
+ r"""
1124
+ Generates random labels with a log-uniform distribution for sampled_candidates.
1125
+
1126
+ Randomly samples a tensor of sampled classes from the range of integers [0, range_max).
1127
+
1128
+ Refer to :func:`mindspore.ops.log_uniform_candidate_sampler` for more details.
1129
+
1130
+ .. warning::
1131
+ The Ascend backend does not support the reproducibility of random numbers, so
1132
+ the `seed` parameter has no effect.
1133
+
1134
+ Args:
1135
+ num_true (int, optional): The number of target classes per training example. Default: ``1`` .
1136
+ num_sampled (int, optional): The number of classes to randomly sample. Default: ``5`` .
1137
+ unique (bool, optional): Determines whether sample with rejection. If `unique` is ``True`` ,
1138
+ all sampled classes in a batch are unique. Default: ``True`` .
1139
+ range_max (int, optional): The number of possible classes. When `unique` is ``True`` ,
1140
+ `range_max` must be greater than or equal to `num_sampled`. Default: ``5`` .
1141
+ seed (int, optional): Random seed, must be non-negative. Default: ``0`` .
1142
+
1143
+ Inputs:
1144
+ - **true_classes** (Tensor) - The target classes. With data type of int64 and
1145
+ shape :math:`(batch\_size, num\_true)` .
1146
+
1147
+ Outputs:
1148
+ Tuple of 3 Tensors.
1149
+
1150
+ - **sampled_candidates** (Tensor) - A Tensor with shape :math:`(num\_sampled,)`
1151
+ and the same type as `true_classes`.
1152
+ - **true_expected_count** (Tensor) - A Tensor with the same shape as `true_classes and` type float32.
1153
+ - **sampled_expected_count** (Tensor) - A Tensor with the same shape as `sampled_candidates` and type float32.
1154
+
1155
+ Supported Platforms:
1156
+ ``Ascend`` ``CPU``
1157
+
1158
+ Examples:
1159
+ >>> import numpy as np
1160
+ >>> from mindspore import Tensor, ops
1161
+ >>> sampler = ops.LogUniformCandidateSampler(2, 5, True, 5)
1162
+ >>> output1, output2, output3 = sampler(Tensor(np.array([[1, 7], [0, 4], [3, 3]])))
1163
+ >>> print(output1, output2, output3)
1164
+ [3 2 0 4 1]
1165
+ [[0.92312991 0.49336370]
1166
+ [0.99248987 0.65806371]
1167
+ [0.73553443 0.73553443]]
1168
+ [0.73553443 0.82625800 0.99248987 0.65806371 0.92312991]
1169
+
1170
+ """
1171
+
1172
+ @prim_attr_register
1173
+ def __init__(self, num_true=1, num_sampled=5, unique=True, range_max=5, seed=0):
1174
+ """Initialize LogUniformCandidateSampler"""
1175
+ self.init_prim_io_names(inputs=['true_classes'],
1176
+ outputs=['sampled_candidates', 'true_expected_count', 'sampled_expected_count'])
1177
+ Validator.check_value_type("num_true", num_true, [int], self.name)
1178
+ Validator.check_value_type(
1179
+ "num_sampled", num_sampled, [int], self.name)
1180
+ Validator.check_value_type("unique", unique, [bool], self.name)
1181
+ Validator.check_value_type("range_max", range_max, [int], self.name)
1182
+ Validator.check_value_type("seed", seed, [int], self.name)
1183
+ self.num_true = Validator.check_number(
1184
+ "num_true", num_true, 1, Validator.GE, self.name)
1185
+ self.num_sampled = Validator.check_number(
1186
+ "num_sampled", num_sampled, 1, Validator.GE, self.name)
1187
+ Validator.check_number("range_max", range_max, 1, Validator.GE, self.name)
1188
+ if unique:
1189
+ Validator.check("range_max", range_max, "num_sampled",
1190
+ num_sampled, Validator.GE, self.name)
1191
+ self.range_max = range_max
1192
+ self.unique = unique
1193
+ self.seed = Validator.check_number("seed", seed, 0, Validator.GE, self.name)
1194
+ self.add_prim_attr("side_effect_hidden", True)
1195
+
1196
+
1197
+ class RandomShuffle(Primitive):
1198
+ r"""
1199
+ Randomly shuffles a Tensor along its first dimension.
1200
+
1201
+ Note:
1202
+ - Random seed: a set of regular random numbers can be obtained through some complex mathematical algorithms,
1203
+ and the random seed determines the initial value of this random number. If the random seed is the same in two
1204
+ separate calls, the random number generated will not change.
1205
+ - Using the Philox algorithm to scramble seed and seed2 to obtain random seed so that the user doesn't need
1206
+ to worry about which seed is more important.
1207
+
1208
+ Args:
1209
+ seed (int, optional): The operator-level random seed, used to generate random numbers,
1210
+ must be non-negative. Default: ``0`` .
1211
+ seed2 (int, optional): The global random seed, which combines with the operator-level
1212
+ random seed to determine the final generated random number, must be non-negative. Default: ``0`` .
1213
+
1214
+ Inputs:
1215
+ - **x** (Tensor) - The Tensor need be shuffled.
1216
+
1217
+ Outputs:
1218
+ Tensor. The shape and type are the same as the input `x`.
1219
+
1220
+ Raises:
1221
+ TypeError: If data type of `seed` or `seed2` is not int.
1222
+
1223
+ Supported Platforms:
1224
+ ``Ascend`` ``GPU`` ``CPU``
1225
+
1226
+ Examples:
1227
+ >>> import numpy as np
1228
+ >>> from mindspore import Tensor, ops
1229
+ >>> from mindspore import dtype as mstype
1230
+ >>> x = Tensor(np.array([1, 2, 3, 4]), mstype.float32)
1231
+ >>> shuffle = ops.RandomShuffle(seed=1, seed2=1)
1232
+ >>> output = shuffle(x)
1233
+ >>> print(output.shape)
1234
+ (4,)
1235
+ """
1236
+
1237
+ @prim_attr_register
1238
+ def __init__(self, seed=0, seed2=0):
1239
+ """Initialize RandomShuffle"""
1240
+ self.init_prim_io_names(inputs=['input_x'], outputs=['output'])
1241
+ self.add_prim_attr("side_effect_hidden", True)
1242
+ Validator.check_non_negative_int(seed, "seed", self.name)
1243
+ Validator.check_non_negative_int(seed2, "seed2", self.name)
1244
+
1245
+
1246
+ class Uniform(Primitive):
1247
+ r"""
1248
+ Generates random numbers according to the Uniform random number distribution.
1249
+
1250
+ Args:
1251
+ minval(float):must be non-negative. Default: ``0.0`` .
1252
+ maxval(float):must be non-negative. Default: ``1.0`` .
1253
+
1254
+ Inputs:
1255
+ - **x** (Tensor) - The x of random tensor to be generated.
1256
+ Only constant value is allowed, and the date type is float16, float32, float64.
1257
+
1258
+ Raises:
1259
+ TypeError: If `minval` or `maxval` is not a float.
1260
+ TypeError: If `x`is not a Tensor.
1261
+ ValueError: If `minval` is larger than `maxval`.
1262
+
1263
+ Outputs:
1264
+ - **output** (Tensor) - With the same type and shape as the 'x'.
1265
+
1266
+ Supported Platforms:
1267
+ ``GPU`` ``CPU``
1268
+
1269
+ Examples:
1270
+ >>> x = Tensor(np.random.randn(3,4), mstype.float64)
1271
+ >>> uniform = Uniform(minval=1.0, maxval=2.0)
1272
+ >>> y = uniform(x)
1273
+ >>> print(y.shape)
1274
+ (3, 4)
1275
+ """
1276
+
1277
+ @prim_attr_register
1278
+ def __init__(self, minval=0., maxval=1., seed=0, offset=0):
1279
+ """Initialize Uniform"""
1280
+ self.init_prim_io_names(inputs=['x'], outputs=['y'])
1281
+ self.add_prim_attr("from", minval)
1282
+ self.add_prim_attr("to", maxval)
1283
+ Validator.check_value_type('seed', seed, [int], self.name)
1284
+ Validator.check_value_type('offset', offset, [int], self.name)
1285
+ Validator.check('minval', minval, 'maxval', maxval, Validator.LE, self.name)
1286
+ Validator.check_non_negative_float(minval, "minval", self.name)
1287
+ Validator.check_non_negative_float(maxval, "maxval", self.name)
1288
+ self.add_prim_attr("side_effect_hidden", True)