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,1260 @@
1
+ # Copyright 2019-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
+ """
16
+ The module transforms provides common operations, including Compose, OneHot and TypeCast.
17
+ """
18
+ import json
19
+ from abc import ABC
20
+ import os
21
+ import threading
22
+
23
+ import sys
24
+ from enum import IntEnum
25
+ import numpy as np
26
+
27
+ import mindspore._c_dataengine as cde
28
+ from mindspore._c_expression import typing
29
+ from mindspore.common import dtype as mstype
30
+ import mindspore.dataset.transforms.c_transforms as c_transforms
31
+ import mindspore.dataset.transforms.py_transforms as py_transforms
32
+ import mindspore.dataset.vision.c_transforms as c_vision
33
+ from . import py_transforms_util as util
34
+ from .py_transforms_util import Implementation, FuncWrapper
35
+ from .validators import check_fill_value, check_slice_option, check_slice_op, check_one_hot_op, check_compose_call, \
36
+ check_mask_op_new, check_pad_end, check_concat_type, check_random_transform_ops, check_plugin, check_type_cast
37
+ from ..core.datatypes import mstype_to_detype, nptype_to_detype
38
+ from ..vision.py_transforms_util import is_pil
39
+
40
+
41
+ # hold all the executor objects when in training procedure
42
+ # key : pid_tid which distinguishes multiple executors by process_id + thread_id
43
+ # value : executor object which lifecycle will always exist during training
44
+ EXECUTORS_LIST = dict()
45
+
46
+
47
+ # the follow case process / thread exit need call the function
48
+ # 1. user defined dataset with process mode
49
+ # 2. user defined dataset with thread mode
50
+ # 3. user defined transform in map op with process mode
51
+ # 4. user defined transform in map op with thread mode
52
+ # 5. batch op with per_batch_map operation in process mode
53
+ # 6. batch op with per_batch_map operation in thread mode
54
+ def clean_unused_executors():
55
+ """
56
+ clean the unused executor object in UDF or map with PyFunc process / thread mode
57
+ """
58
+ key = str(os.getpid()) + "_" + str(threading.currentThread().ident)
59
+ if key in EXECUTORS_LIST:
60
+ EXECUTORS_LIST.pop(key)
61
+
62
+
63
+ class TensorOperation:
64
+ """
65
+ Base class Tensor Ops
66
+ """
67
+
68
+ def __init__(self):
69
+ super().__init__()
70
+ self.implementation = None
71
+ self.device_target = "CPU"
72
+
73
+ def __call__(self, *input_tensor_list):
74
+ """
75
+ Call method.
76
+ """
77
+ # Check PIL Image with device_target
78
+ if (len(input_tensor_list) == 1 and is_pil(input_tensor_list[0])) and self.device_target == "Ascend":
79
+ raise TypeError("The input PIL Image cannot be executed on Ascend, "
80
+ "you can convert the input to the numpy ndarray type.")
81
+
82
+ # Check if Python implementation of op, or PIL input
83
+ if (self.implementation == Implementation.PY) or \
84
+ (len(input_tensor_list) == 1 and is_pil(input_tensor_list[0]) and getattr(self, '_execute_py', None)):
85
+ return self._execute_py(*input_tensor_list)
86
+
87
+ tensor_row = []
88
+ for tensor in input_tensor_list:
89
+ try:
90
+ tensor_row.append(cde.Tensor(np.asarray(tensor)))
91
+ except (RuntimeError, TypeError):
92
+ raise TypeError("Invalid user input. Got {}: {}, cannot be converted into tensor." \
93
+ .format(type(tensor), tensor))
94
+
95
+ # get or create the executor from EXECUTORS_LIST
96
+ executor = None
97
+ key = str(os.getpid()) + "_" + str(threading.currentThread().ident)
98
+ if key in EXECUTORS_LIST:
99
+ # get the executor by process id and thread id
100
+ executor = EXECUTORS_LIST[key]
101
+ # remove the old transform which in executor and update the new transform
102
+ executor.UpdateOperation(self.parse())
103
+ else:
104
+ # create a new executor by process id and thread_id
105
+ executor = cde.Execute(self.parse())
106
+ # add the executor the global EXECUTORS_LIST
107
+ EXECUTORS_LIST[key] = executor
108
+
109
+ output_tensor_list = executor(tensor_row)
110
+ output_numpy_list = [x.as_array() for x in output_tensor_list]
111
+ return output_numpy_list[0] if len(output_numpy_list) == 1 else tuple(output_numpy_list)
112
+
113
+ @staticmethod
114
+ def parse():
115
+ """parse function - not yet implemented"""
116
+ raise NotImplementedError("TensorOperation has to implement parse() method.")
117
+
118
+
119
+ class PyTensorOperation:
120
+ """
121
+ Base Python Tensor Operations class
122
+ """
123
+
124
+ def __init__(self):
125
+ self.transforms = []
126
+ self.output_type = None
127
+
128
+ def __call__(self, img):
129
+ """
130
+ Call method.
131
+
132
+ Args:
133
+ img (PIL Image): Image to be augmented.
134
+
135
+ Returns:
136
+ PIL Image, augmented image.
137
+ """
138
+ return self._execute_py(img)
139
+
140
+ @classmethod
141
+ def from_json(cls, json_string):
142
+ """
143
+ Base from_json for Python tensor operations class
144
+ """
145
+ json_obj = json.loads(json_string)
146
+ new_op = cls.__new__(cls)
147
+ new_op.__dict__ = json_obj
148
+ if "transforms" in json_obj.keys():
149
+ # operations which have transforms as input, need to call _from_json() for each transform to deseriallize
150
+ transforms = []
151
+ for json_op in json_obj["transforms"]:
152
+ transforms.append(getattr(
153
+ sys.modules.get(json_op.get("python_module")),
154
+ json_op["tensor_op_name"]).from_json(json.dumps(json_op["tensor_op_params"])))
155
+ new_op.transforms = transforms
156
+ if "output_type" in json_obj.keys():
157
+ output_type = np.dtype(json_obj["output_type"])
158
+ new_op.output_type = output_type
159
+ return new_op
160
+
161
+ def to_json(self):
162
+ """
163
+ Base to_json for Python tensor operations class
164
+ """
165
+ json_obj = {}
166
+ json_trans = {}
167
+ if "transforms" in self.__dict__.keys():
168
+ # operations which have transforms as input, need to call _to_json() for each transform to serialize
169
+ json_list = []
170
+ for transform in self.transforms:
171
+ json_list.append(json.loads(transform.to_json()))
172
+ json_trans["transforms"] = json_list
173
+ self.__dict__.pop("transforms")
174
+ if "output_type" in self.__dict__.keys():
175
+ json_trans["output_type"] = np.dtype(
176
+ self.__dict__["output_type"]).name
177
+ self.__dict__.pop("output_type")
178
+ json_obj["tensor_op_params"] = self.__dict__
179
+ # append transforms to the tensor_op_params of the operation
180
+ json_obj.get("tensor_op_params").update(json_trans)
181
+ json_obj["tensor_op_name"] = self.__class__.__name__
182
+ json_obj["python_module"] = self.__class__.__module__
183
+ return json.dumps(json_obj)
184
+
185
+
186
+ class CompoundOperation(TensorOperation, PyTensorOperation, ABC):
187
+ """
188
+ Compound Tensor Operations class
189
+ """
190
+
191
+ def __init__(self, transforms):
192
+ super(CompoundOperation, self).__init__()
193
+ self.transforms = []
194
+ trans_with_imple = []
195
+ for op in transforms:
196
+ if callable(op) and not hasattr(op, "implementation") and \
197
+ not isinstance(op, c_transforms.TensorOperation) and \
198
+ not isinstance(op, py_transforms.PyTensorOperation) and \
199
+ not isinstance(op, c_vision.ImageTensorOperation):
200
+ op = util.FuncWrapper(op)
201
+ if hasattr(op, "implementation"):
202
+ if op.implementation is not None:
203
+ trans_with_imple.append(op)
204
+ else:
205
+ raise RuntimeError("Mixing old legacy c/py_transforms and new unified transforms is not allowed.")
206
+ self.transforms.append(op)
207
+
208
+ if all([t.implementation == Implementation.PY for t in self.transforms]):
209
+ self.implementation = Implementation.PY
210
+ elif all([t.implementation is not None for t in self.transforms]):
211
+ self.implementation = Implementation.C
212
+ elif not trans_with_imple:
213
+ self.implementation = None
214
+ elif all([t.implementation == Implementation.PY for t in trans_with_imple]):
215
+ self.implementation = Implementation.PY
216
+ elif all([t.implementation == Implementation.C for t in trans_with_imple]):
217
+ self.implementation = Implementation.C
218
+
219
+ @staticmethod
220
+ def parse():
221
+ """parse function - not yet implemented"""
222
+ raise NotImplementedError("CompoundOperation has to implement parse() method.")
223
+
224
+ def parse_transforms(self):
225
+ operations = []
226
+ for op in self.transforms:
227
+ if op and getattr(op, 'parse', None):
228
+ operations.append(op.parse())
229
+ else:
230
+ operations.append(op)
231
+ return operations
232
+
233
+
234
+ def not_random(function):
235
+ """
236
+ Specify the function as "not random", i.e., it produces deterministic result.
237
+ A Python function can only be cached after it is specified as "not random".
238
+ """
239
+ function.random = False
240
+ return function
241
+
242
+
243
+ class Compose(CompoundOperation):
244
+ """
245
+ Compose a list of transforms into a single transform.
246
+
247
+ .. Note::
248
+ Compose takes a list of transformations in `mindspore.dataset.transforms` / `mindspore.dataset.vision`
249
+ and user-defined Python callable objects to combine as single data augmentation.
250
+ For user-defined Python callable objects, the return value is required to be type numpy.ndarray.
251
+
252
+ Args:
253
+ transforms (list): List of transformations to be applied.
254
+
255
+ Raises:
256
+ TypeError: If `transforms` is not of type list.
257
+ ValueError: If `transforms` is empty.
258
+ TypeError: If elements of `transforms` are neither Python callable objects nor data
259
+ processing operations in transforms.py.
260
+
261
+ Supported Platforms:
262
+ ``CPU``
263
+
264
+ Examples:
265
+ >>> import numpy as np
266
+ >>> import mindspore.dataset as ds
267
+ >>> import mindspore.dataset.transforms as transforms
268
+ >>> import mindspore.dataset.vision as vision
269
+ >>> from mindspore.dataset.transforms import Relational
270
+ >>>
271
+ >>> # Use the transform in dataset pipeline mode
272
+ >>> # create a dataset that reads all files in dataset_dir with 8 threads
273
+ >>> data = np.random.randint(0, 255, size=(1, 100, 100, 3)).astype(np.uint8)
274
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"])
275
+ >>>
276
+ >>> # create a list of transformations to be applied to the image data
277
+ >>> transform = transforms.Compose([
278
+ ... vision.RandomHorizontalFlip(0.5),
279
+ ... vision.ToTensor(),
280
+ ... vision.Normalize((0.491, 0.482, 0.447), (0.247, 0.243, 0.262), is_hwc=False),
281
+ ... vision.RandomErasing()])
282
+ >>> # apply the transform to the dataset through dataset.map function
283
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transform, input_columns=["image"])
284
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
285
+ ... print(item["image"].shape, item["image"].dtype)
286
+ ... break
287
+ (3, 100, 100) float32
288
+ >>>
289
+ >>> # Compose is also be invoked implicitly, by just passing in a list of ops
290
+ >>> # the above example then becomes:
291
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"])
292
+ >>> transforms_list = [vision.RandomHorizontalFlip(0.5),
293
+ ... vision.ToTensor(),
294
+ ... vision.Normalize((0.491, 0.482, 0.447), (0.247, 0.243, 0.262), is_hwc=False),
295
+ ... vision.RandomErasing()]
296
+ >>>
297
+ >>> # apply the transform to the dataset through dataset.map()
298
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms_list, input_columns=["image"])
299
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
300
+ ... print(item["image"].shape, item["image"].dtype)
301
+ ... break
302
+ (3, 100, 100) float32
303
+ >>>
304
+ >>> # Certain C++ and Python ops can be combined, but not all of them
305
+ >>> # An example of combined operations
306
+ >>> arr = [0, 1]
307
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(arr, column_names=["cols"], shuffle=False)
308
+ >>> transformed_list = [transforms.OneHot(2),
309
+ ... transforms.Mask(transforms.Relational.EQ, 1)]
310
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transformed_list, input_columns=["cols"])
311
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
312
+ ... print(item["cols"].shape, item["cols"].dtype)
313
+ ... break
314
+ (2,) bool
315
+ >>>
316
+ >>> # Here is an example of mixing vision ops
317
+ >>> op_list=[vision.Resize((224, 244)),
318
+ ... vision.ToPIL(),
319
+ ... np.array, # need to convert PIL image to a NumPy array to pass it to C++ operation
320
+ ... vision.Resize((24, 24))]
321
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"])
322
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=op_list, input_columns=["image"])
323
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
324
+ ... print(item["image"].shape, item["image"].dtype)
325
+ ... break
326
+ (24, 24, 3) uint8
327
+ >>>
328
+ >>> # Use the transform in eager mode
329
+ >>> data = np.array([1, 2, 3])
330
+ >>> output = transforms.Compose([transforms.Fill(10), transforms.Mask(Relational.EQ, 100)])(data)
331
+ >>> print(output.shape, output.dtype)
332
+ (3,) bool
333
+ """
334
+
335
+ @check_random_transform_ops
336
+ def __init__(self, transforms):
337
+ super().__init__(transforms)
338
+ self.transforms = Compose.decompose(self.transforms)
339
+ if all(hasattr(transform, "random") and not transform.random for transform in self.transforms):
340
+ self.random = False
341
+
342
+ # pylint: disable=missing-docstring
343
+ @staticmethod
344
+ def decompose(operations):
345
+ # Remove all compose operation from the given list of operations.
346
+ #
347
+ # Args:
348
+ # operations (list): list of transforms.
349
+ #
350
+ # Returns:
351
+ # list of operations without compose operations.
352
+ new_operations = []
353
+ for op in operations:
354
+ if isinstance(op, Compose):
355
+ new_operations.extend(Compose.decompose(op.transforms))
356
+ else:
357
+ new_operations.append(op)
358
+ return new_operations
359
+
360
+ # pylint: disable=missing-docstring
361
+ @staticmethod
362
+ def reduce(operations):
363
+ # Wraps adjacent Python operations in a Compose to allow mixing of Python and C++ operations.
364
+ #
365
+ # Args:
366
+ # operations (list): list of tensor operations.
367
+ #
368
+ # Returns:
369
+ # list, the reduced list of operations.
370
+ new_ops, start_ind, end_ind = [], 0, 0
371
+ for i, op in enumerate(operations):
372
+ if op.implementation == Implementation.C and not isinstance(op, FuncWrapper):
373
+ # reset counts
374
+ if start_ind != end_ind:
375
+ if end_ind == start_ind + 1:
376
+ composed_op = operations[start_ind]
377
+ else:
378
+ composed_op = Compose(operations[start_ind:end_ind])
379
+ composed_op.implementation = Implementation.PY
380
+ new_ops.append(composed_op)
381
+ new_ops.append(op)
382
+ start_ind, end_ind = i + 1, i + 1
383
+ else:
384
+ end_ind += 1
385
+ # do additional check in case the last operation is a Python operation
386
+ if start_ind != end_ind:
387
+ if end_ind == start_ind + 1:
388
+ composed_op = operations[start_ind]
389
+ else:
390
+ composed_op = Compose(operations[start_ind:end_ind])
391
+ composed_op.implementation = Implementation.PY
392
+ new_ops.append(composed_op)
393
+ return new_ops
394
+
395
+ def parse(self):
396
+ operations = self.parse_transforms()
397
+ return cde.ComposeOperation(operations)
398
+
399
+ @check_compose_call
400
+ def _execute_py(self, *args):
401
+ """
402
+ Execute method.
403
+
404
+ Returns:
405
+ lambda function, Lambda function that takes in an args to apply transformations on.
406
+ """
407
+ return util.compose(self.transforms, *args)
408
+
409
+ def __call__(self, *args):
410
+ '''
411
+ If PY op exists in self.transforms, should use _execute_py to keep the output types unchanged.
412
+ '''
413
+ if any([t.implementation == Implementation.PY for t in self.transforms]):
414
+ self.implementation = Implementation.PY
415
+ return super().__call__(*args)
416
+
417
+ def release_resource(self):
418
+ # release the executor which is used by current thread/process when
419
+ # use transform in eager mode in map op
420
+ # this will be call in MapOp::WorkerEntry
421
+ clean_unused_executors()
422
+
423
+
424
+ class Concatenate(TensorOperation):
425
+ """
426
+ Concatenate data with input array along given axis, only 1D data is supported.
427
+
428
+ Args:
429
+ axis (int, optional): The axis along which the arrays will be concatenated. Default: ``0``.
430
+ prepend (numpy.ndarray, optional): NumPy array to be prepended to the input array.
431
+ Default: ``None``, not to prepend array.
432
+ append (numpy.ndarray, optional): NumPy array to be appended to the input array.
433
+ Default: ``None``, not to append array.
434
+
435
+ Raises:
436
+ TypeError: If `axis` is not of type int.
437
+ TypeError: If `prepend` is not of type numpy.ndarray.
438
+ TypeError: If `append` is not of type numpy.ndarray.
439
+
440
+ Supported Platforms:
441
+ ``CPU``
442
+
443
+ Examples:
444
+ >>> import numpy as np
445
+ >>> import mindspore.dataset as ds
446
+ >>> import mindspore.dataset.transforms as transforms
447
+ >>>
448
+ >>> # Use the transform in dataset pipeline mode
449
+ >>> # concatenate string
450
+ >>> prepend_tensor = np.array(["dw", "df"])
451
+ >>> append_tensor = np.array(["dwsdf", "df"])
452
+ >>> concatenate_op = transforms.Concatenate(0, prepend_tensor, append_tensor)
453
+ >>> data = [["This","is","a","string"]]
454
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data)
455
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=concatenate_op)
456
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
457
+ ... print(item["column_0"].shape, item["column_0"].dtype)
458
+ (8,) <U6
459
+ >>>
460
+ >>> # Use the transform in eager mode
461
+ >>> data = np.array([1, 2, 3])
462
+ >>> prepend_tensor = np.array([10, 20])
463
+ >>> append_tensor = np.array([100])
464
+ >>> output = transforms.Concatenate(0, prepend_tensor, append_tensor)(data)
465
+ >>> print(output.shape, output.dtype)
466
+ (6,) int64
467
+ """
468
+
469
+ @check_concat_type
470
+ def __init__(self, axis=0, prepend=None, append=None):
471
+ super().__init__()
472
+ self.axis = axis
473
+ self.prepend = cde.Tensor(np.array(prepend)) if prepend is not None else prepend
474
+ self.append = cde.Tensor(np.array(append)) if append is not None else append
475
+ self.implementation = Implementation.C
476
+
477
+ def parse(self):
478
+ return cde.ConcatenateOperation(self.axis, self.prepend, self.append)
479
+
480
+
481
+ class Duplicate(TensorOperation):
482
+ """
483
+ Duplicate the input tensor to output, only support transform one column each time.
484
+
485
+ Raises:
486
+ RuntimeError: If given tensor has two columns.
487
+
488
+ Supported Platforms:
489
+ ``CPU``
490
+
491
+ Examples:
492
+ >>> import numpy as np
493
+ >>> import mindspore.dataset as ds
494
+ >>> import mindspore.dataset.transforms as transforms
495
+ >>>
496
+ >>> # Use the transform in dataset pipeline mode
497
+ >>> # Data before
498
+ >>> # | x |
499
+ >>> # +---------+
500
+ >>> # | [1,2,3] |
501
+ >>> # +---------+
502
+ >>> data = [[1,2,3]]
503
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["x"])
504
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms.Duplicate(),
505
+ ... input_columns=["x"],
506
+ ... output_columns=["x", "y"])
507
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
508
+ ... print(item["x"].shape, item["x"].dtype)
509
+ ... print(item["y"].shape, item["y"].dtype)
510
+ (3,) int64
511
+ (3,) int64
512
+ >>> # Data after
513
+ >>> # | x | y |
514
+ >>> # +---------+---------+
515
+ >>> # | [1,2,3] | [1,2,3] |
516
+ >>> # +---------+---------+
517
+ >>>
518
+ >>> # Use the transform in eager mode
519
+ >>> data = [1, 2, 3]
520
+ >>> output = transforms.Duplicate()(data)
521
+ >>> print(np.array(output).shape, np.array(output).dtype)
522
+ (2, 3) int64
523
+ """
524
+
525
+ def __init__(self):
526
+ super().__init__()
527
+ self.implementation = Implementation.C
528
+
529
+ def parse(self):
530
+ return cde.DuplicateOperation()
531
+
532
+
533
+ class Fill(TensorOperation):
534
+ """
535
+ Tensor operation to fill all elements in the tensor with the specified value.
536
+ The output tensor will have the same shape and type as the input tensor.
537
+
538
+ Args:
539
+ fill_value (Union[str, bytes, int, float, bool]): scalar value
540
+ to fill the tensor with.
541
+
542
+ Raises:
543
+ TypeError: If `fill_value` is not of type str, float, bool, int or bytes.
544
+
545
+ Supported Platforms:
546
+ ``CPU``
547
+
548
+
549
+ Examples:
550
+ >>> import numpy as np
551
+ >>> import mindspore.dataset as ds
552
+ >>> import mindspore.dataset.transforms as transforms
553
+ >>>
554
+ >>> # Use the transform in dataset pipeline mode
555
+ >>> # generate a 1D integer numpy array from 0 to 4
556
+ >>> def generator_1d():
557
+ ... for i in range(5):
558
+ ... yield (np.array([i]),)
559
+ >>> generator_dataset = ds.GeneratorDataset(generator_1d, column_names="col1")
560
+ >>> # [[0], [1], [2], [3], [4]]
561
+ >>> fill_op = transforms.Fill(3)
562
+ >>> generator_dataset = generator_dataset.map(operations=fill_op)
563
+ >>> for item in generator_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
564
+ ... print(item["col1"].shape, item["col1"].dtype)
565
+ ... break
566
+ (1,) int64
567
+ >>>
568
+ >>> # Use the transform in eager mode
569
+ >>> data = np.array([1, 2, 3])
570
+ >>> output = transforms.Fill(100)(data)
571
+ >>> print(output.shape, output.dtype)
572
+ (3,) int64
573
+ """
574
+
575
+ @check_fill_value
576
+ def __init__(self, fill_value):
577
+ super().__init__()
578
+ self.fill_value = cde.Tensor(np.array(fill_value))
579
+ self.implementation = Implementation.C
580
+
581
+ def parse(self):
582
+ return cde.FillOperation(self.fill_value)
583
+
584
+
585
+ class Mask(TensorOperation):
586
+ r"""
587
+ Mask content of the input tensor with the given predicate.
588
+ Any element of the tensor that matches the predicate will be evaluated to True, otherwise False.
589
+
590
+ Args:
591
+ operator (Relational): relational operators, it can be ``Relational.EQ``, ``Relational.NE``, ``Relational.LT``,
592
+ ``Relational.GT``, ``Relational.LE``, ``Relational.GE``, take ``Relational.EQ`` as example,
593
+ EQ refers to equal.
594
+ constant (Union[str, int, float, bool]): Constant to be compared to.
595
+ dtype (mindspore.dtype, optional): Type of the generated mask. Default: ``mstype.bool_``.
596
+
597
+ Raises:
598
+ TypeError: `operator` is not of type Relational.
599
+ TypeError: `constant` is not of type string int, float or bool.
600
+ TypeError: `dtype` is not of type mindspore.dtype.
601
+
602
+ Supported Platforms:
603
+ ``CPU``
604
+
605
+ Examples:
606
+ >>> import mindspore.dataset as ds
607
+ >>> import mindspore.dataset.transforms as transforms
608
+ >>> from mindspore.dataset.transforms import Relational
609
+ >>>
610
+ >>> # Use the transform in dataset pipeline mode
611
+ >>> # Data before
612
+ >>> # | col |
613
+ >>> # +---------+
614
+ >>> # | [1,2,3] |
615
+ >>> # +---------+
616
+ >>> data = [[1, 2, 3]]
617
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["col"])
618
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms.Mask(Relational.EQ, 2))
619
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
620
+ ... print(item["col"].shape, item["col"].dtype)
621
+ (3,) bool
622
+ >>> # Data after
623
+ >>> # | col |
624
+ >>> # +--------------------+
625
+ >>> # | [False,True,False] |
626
+ >>> # +--------------------+
627
+ >>>
628
+ >>> # Use the transform in eager mode
629
+ >>> data = [1, 2, 3]
630
+ >>> output = transforms.Mask(Relational.EQ, 2)(data)
631
+ >>> print(output.shape, output.dtype)
632
+ (3,) bool
633
+ """
634
+
635
+ @check_mask_op_new
636
+ def __init__(self, operator, constant, dtype=mstype.bool_):
637
+ super().__init__()
638
+ self.operator = operator
639
+ self.dtype = mstype_to_detype(dtype)
640
+ self.constant = cde.Tensor(np.array(constant))
641
+ self.implementation = Implementation.C
642
+
643
+ def parse(self):
644
+ return cde.MaskOperation(DE_C_RELATIONAL.get(self.operator), self.constant, self.dtype)
645
+
646
+
647
+ class OneHot(TensorOperation):
648
+ r"""
649
+ Apply One-Hot encoding to the input labels.
650
+
651
+ For a 1-D input of shape :math:`(*)`, an output of shape :math:`(*, num\_classes)` will be
652
+ returned, where the elements with index values equal to the input values will be set to 1,
653
+ and the rest will be set to 0. If a label smoothing rate is specified, the element values
654
+ are further smoothed to enhance generalization.
655
+
656
+ Args:
657
+ num_classes (int): Total number of classes. Must be greater than the maximum value
658
+ of the input labels.
659
+ smoothing_rate (float, optional): The amount of label smoothing. Must be between
660
+ [0.0, 1.0]. Default: ``0.0``, no label smoothing.
661
+
662
+ Raises:
663
+ TypeError: If `num_classes` is not of type int.
664
+ TypeError: If `smoothing_rate` is not of type float.
665
+ ValueError: If `smoothing_rate` is not in range of [0.0, 1.0].
666
+ RuntimeError: If input label is not of type int.
667
+ RuntimeError: If the dimension of the input label is not 1.
668
+
669
+ Supported Platforms:
670
+ ``CPU``
671
+
672
+ Examples:
673
+ >>> import numpy as np
674
+ >>> import mindspore.dataset as ds
675
+ >>> import mindspore.dataset.transforms as transforms
676
+ >>>
677
+ >>> # Use the transform in dataset pipeline mode
678
+ >>> data = [1, 2, 3, 4, 5, 6, 7, 8]
679
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["label"])
680
+ >>>
681
+ >>> # Assume that dataset has 10 classes, thus the label ranges from 0 to 9
682
+ >>> onehot_op = transforms.OneHot(num_classes=10)
683
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=onehot_op, input_columns=["label"])
684
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
685
+ ... print(item["label"].shape, item["label"].dtype)
686
+ ... break
687
+ (10,) int64
688
+ >>>
689
+ >>> # Use the transform in eager mode
690
+ >>> data = np.array([1, 2, 3])
691
+ >>> output = transforms.OneHot(num_classes=5, smoothing_rate=0)(data)
692
+ >>> print(output.shape, output.dtype)
693
+ (3, 5) int64
694
+ """
695
+
696
+ @check_one_hot_op
697
+ def __init__(self, num_classes, smoothing_rate=0.0):
698
+ super().__init__()
699
+ self.num_classes = num_classes
700
+ self.random = False
701
+ self.smoothing_rate = smoothing_rate
702
+
703
+ def parse(self):
704
+ return cde.OneHotOperation(self.num_classes, self.smoothing_rate)
705
+
706
+
707
+ class PadEnd(TensorOperation):
708
+ """
709
+ Pad input tensor according to pad_shape, input tensor needs to have same rank.
710
+
711
+ Args:
712
+ pad_shape (list(int)): List of integers representing the shape needed. Dimensions that set to ``None`` will
713
+ not be padded (i.e., original dim will be used). Shorter dimensions will truncate the values.
714
+ pad_value (Union[str, bytes, int, float, bool], optional): Value used to pad. Default: ``None``.
715
+ Default to ``0`` in case of tensors of Numbers, or empty string in case of tensors of strings.
716
+
717
+ Raises:
718
+ TypeError: If `pad_shape` is not of type list.
719
+ TypeError: If `pad_value` is not of type str, float, bool, int or bytes.
720
+ TypeError: If elements of `pad_shape` is not of type int.
721
+ ValueError: If elements of `pad_shape` is not of positive.
722
+
723
+ Supported Platforms:
724
+ ``CPU``
725
+
726
+ Examples:
727
+ >>> import mindspore.dataset as ds
728
+ >>> import mindspore.dataset.transforms as transforms
729
+ >>>
730
+ >>> # Use the transform in dataset pipeline mode
731
+ >>> # Data before
732
+ >>> # | col |
733
+ >>> # +---------+
734
+ >>> # | [1,2,3] |
735
+ >>> # +---------|
736
+ >>> data = [[1, 2, 3]]
737
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["col"])
738
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms.PadEnd(pad_shape=[4], pad_value=10))
739
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
740
+ ... print(item["col"].shape, item["col"].dtype)
741
+ ... break
742
+ (4,) int64
743
+ >>> # Data after
744
+ >>> # | col |
745
+ >>> # +------------+
746
+ >>> # | [1,2,3,10] |
747
+ >>> # +------------|
748
+ >>>
749
+ >>> # Use the transform in eager mode
750
+ >>> data = [1, 2, 3]
751
+ >>> output = transforms.PadEnd(pad_shape=[4], pad_value=10)(data)
752
+ >>> print(output.shape, output.dtype)
753
+ (4,) int64
754
+ """
755
+
756
+ @check_pad_end
757
+ def __init__(self, pad_shape, pad_value=None):
758
+ super().__init__()
759
+ self.pad_shape = cde.TensorShape(pad_shape)
760
+ self.pad_value = cde.Tensor(np.array(pad_value)) if pad_value is not None else pad_value
761
+ self.implementation = Implementation.C
762
+
763
+ def parse(self):
764
+ return cde.PadEndOperation(self.pad_shape, self.pad_value)
765
+
766
+
767
+ class Plugin(TensorOperation):
768
+ """
769
+ Plugin support for MindData. Use this class to dynamically load a .so file (shared library) and execute its symbols.
770
+
771
+ Args:
772
+ lib_path (str): Path to .so file which is compiled to support MindData plugin.
773
+ func_name (str): Name of the function to load from the .so file.
774
+ user_args (str, optional): Serialized args to pass to the plugin. Only needed if "func_name" requires one.
775
+
776
+ Raises:
777
+ TypeError: If `lib_path` is not of type string.
778
+ TypeError: If `func_name` is not of type string.
779
+ TypeError: If `user_args` is not of type string.
780
+
781
+ Supported Platforms:
782
+ ``CPU``
783
+
784
+ Examples:
785
+ >>> import mindspore.dataset as ds
786
+ >>> import mindspore.dataset.transforms as transforms
787
+ >>>
788
+ >>> plugin = transforms.Plugin("pluginlib.so", "PluginDecode")
789
+ >>> image_folder_dataset = ds.ImageFolderDataset("/path/to/image_folder_dataset_directory")
790
+ >>> image_folder_dataset = image_folder_dataset.map(operations=plugin)
791
+ """
792
+
793
+ @check_plugin
794
+ def __init__(self, lib_path, func_name, user_args=None):
795
+ super().__init__()
796
+ self.lib_path = lib_path
797
+ self.func_name = func_name
798
+ self.user_args = str() if (user_args is None) else user_args
799
+ self.implementation = Implementation.C
800
+
801
+ def parse(self):
802
+ return cde.PluginOperation(self.lib_path, self.func_name, self.user_args)
803
+
804
+
805
+ class RandomApply(CompoundOperation):
806
+ """
807
+ Randomly perform a series of transforms with a given probability.
808
+
809
+ Args:
810
+ transforms (list): List of transformations to be applied.
811
+ prob (float, optional): The probability to apply the transformation list. Default: ``0.5``.
812
+
813
+ Raises:
814
+ TypeError: If `transforms` is not of type list.
815
+ ValueError: If `transforms` is empty.
816
+ TypeError: If elements of `transforms` are neither Python callable objects nor data
817
+ processing operations in transforms.py.
818
+ TypeError: If `prob` is not of type float.
819
+ ValueError: If `prob` is not in range [0.0, 1.0].
820
+
821
+ Supported Platforms:
822
+ ``CPU``
823
+
824
+ Examples:
825
+ >>> import numpy as np
826
+ >>> import mindspore.dataset as ds
827
+ >>> import mindspore.dataset.transforms as transforms
828
+ >>> import mindspore.dataset.vision as vision
829
+ >>> from mindspore.dataset.transforms import Compose
830
+ >>>
831
+ >>> # Use the transform in dataset pipeline mode
832
+ >>> seed = ds.config.get_seed()
833
+ >>> ds.config.set_seed(12345)
834
+ >>> transforms_list = [vision.RandomHorizontalFlip(0.5),
835
+ ... vision.Normalize((0.491, 0.482, 0.447), (0.247, 0.243, 0.262)),
836
+ ... vision.RandomErasing()]
837
+ >>> composed_transform = Compose([transforms.RandomApply(transforms_list, prob=0.6),
838
+ ... vision.ToTensor()])
839
+ >>>
840
+ >>> data = np.random.randint(0, 255, size=(1, 100, 100, 3)).astype(np.uint8)
841
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"])
842
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=composed_transform, input_columns=["image"])
843
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
844
+ ... print(item["image"].shape, item["image"].dtype)
845
+ ... break
846
+ (3, 100, 100) float32
847
+ >>>
848
+ >>> # Use the transform in eager mode
849
+ >>> data = np.random.randint(0, 255, size=(100, 100, 3)).astype(np.uint8)
850
+ >>> transform = [vision.HsvToRgb(is_hwc=True), vision.Crop((0, 0), 10), vision.ToTensor()]
851
+ >>> output = transforms.RandomApply(transform, prob=1.0)(data)
852
+ >>> print(output.shape, output.dtype)
853
+ (3, 10, 10) float32
854
+ >>> ds.config.set_seed(seed)
855
+ """
856
+
857
+ @check_random_transform_ops
858
+ def __init__(self, transforms, prob=0.5):
859
+ super().__init__(transforms)
860
+ self.prob = prob
861
+
862
+ def parse(self):
863
+ operations = self.parse_transforms()
864
+ return cde.RandomApplyOperation(self.prob, operations)
865
+
866
+ def _execute_py(self, img):
867
+ """
868
+ Execute method.
869
+
870
+ Args:
871
+ img (PIL image): Image to be randomly applied a list transformations.
872
+
873
+ Returns:
874
+ img (PIL image), Transformed image.
875
+ """
876
+ return util.random_apply(img, self.transforms, self.prob)
877
+
878
+
879
+ class RandomChoice(CompoundOperation):
880
+ """
881
+ Randomly select one transform from a list to apply.
882
+
883
+ Args:
884
+ transforms (list): List of transforms to be selected from.
885
+
886
+ Raises:
887
+ TypeError: If `transforms` is not of type list.
888
+ ValueError: If `transforms` is empty.
889
+ TypeError: If elements of `transforms` are neither Python callable objects nor data
890
+ processing operations in transforms.py.
891
+
892
+ Supported Platforms:
893
+ ``CPU``
894
+
895
+ Examples:
896
+ >>> import numpy as np
897
+ >>> import mindspore.dataset as ds
898
+ >>> import mindspore.dataset.transforms as transforms
899
+ >>> import mindspore.dataset.vision as vision
900
+ >>> from mindspore.dataset.transforms import Compose
901
+ >>>
902
+ >>> # Use the transform in dataset pipeline mode
903
+ >>> seed = ds.config.get_seed()
904
+ >>> ds.config.set_seed(12345)
905
+ >>> transforms_list = [vision.RandomHorizontalFlip(0.5),
906
+ ... vision.Normalize((0.491, 0.482, 0.447), (0.247, 0.243, 0.262)),
907
+ ... vision.RandomErasing()]
908
+ >>> composed_transform = Compose([transforms.RandomChoice(transforms_list),
909
+ ... vision.ToTensor()])
910
+ >>>
911
+ >>> data = np.random.randint(0, 255, size=(1, 100, 100, 3)).astype(np.uint8)
912
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"])
913
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=composed_transform, input_columns=["image"])
914
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
915
+ ... print(item["image"].shape, item["image"].dtype)
916
+ ... break
917
+ (3, 100, 100) float32
918
+ >>>
919
+ >>> # Use the transform in eager mode
920
+ >>> data = np.array([1, 2, 3])
921
+ >>> output = transforms.RandomChoice([transforms.Fill(100)])(data)
922
+ >>> print(output.shape, output.dtype)
923
+ (3,) int64
924
+ >>> ds.config.set_seed(seed)
925
+ """
926
+
927
+ @check_random_transform_ops
928
+ def __init__(self, transforms):
929
+ super().__init__(transforms)
930
+
931
+ def parse(self):
932
+ operations = self.parse_transforms()
933
+ return cde.RandomChoiceOperation(operations)
934
+
935
+ def _execute_py(self, img):
936
+ """
937
+ Execute method.
938
+
939
+ Args:
940
+ img (PIL image): Image to be applied transformation.
941
+
942
+
943
+ Returns:
944
+ img (PIL image), Transformed image.
945
+ """
946
+ return util.random_choice(img, self.transforms)
947
+
948
+
949
+ class RandomOrder(PyTensorOperation):
950
+ """
951
+ Perform a series of transforms to the input image in a random order.
952
+
953
+ Args:
954
+ transforms (list): List of the transformations to apply.
955
+
956
+ Raises:
957
+ TypeError: If `transforms` is not of type list.
958
+ TypeError: If elements of `transforms` are neither Python callable objects nor data
959
+ processing operations in mindspore.dataset.transforms.transforms.
960
+ ValueError: If `transforms` is empty.
961
+
962
+ Supported Platforms:
963
+ ``CPU``
964
+
965
+ Examples:
966
+ >>> import numpy as np
967
+ >>> import mindspore.dataset as ds
968
+ >>> import mindspore.dataset.transforms as transforms
969
+ >>> import mindspore.dataset.vision as vision
970
+ >>> from mindspore.dataset.transforms import Compose, Relational
971
+ >>>
972
+ >>> # Use the transform in dataset pipeline mode
973
+ >>> seed = ds.config.get_seed()
974
+ >>> ds.config.set_seed(12345)
975
+ >>> transforms_list = [vision.RandomHorizontalFlip(0.5),
976
+ ... vision.Normalize((0.491, 0.482, 0.447), (0.247, 0.243, 0.262)),
977
+ ... vision.RandomErasing()]
978
+ >>> composed_transform = Compose([transforms.RandomOrder(transforms_list),
979
+ ... vision.ToTensor()])
980
+ >>>
981
+ >>> data = np.random.randint(0, 255, size=(1, 100, 100, 3)).astype(np.uint8)
982
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["image"])
983
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=composed_transform, input_columns=["image"])
984
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
985
+ ... print(item["image"].shape, item["image"].dtype)
986
+ ... break
987
+ (3, 100, 100) float32
988
+ >>>
989
+ >>> # Use the transform in eager mode
990
+ >>> data = np.array([1, 2, 3])
991
+ >>> output = transforms.RandomOrder([transforms.Mask(Relational.EQ, 100)])(data)
992
+ >>> print(output.shape, output.dtype)
993
+ (3,) bool
994
+ >>> ds.config.set_seed(seed)
995
+ """
996
+
997
+ @check_random_transform_ops
998
+ def __init__(self, transforms):
999
+ super().__init__()
1000
+ self.transforms = transforms
1001
+ self.implementation = Implementation.PY
1002
+
1003
+ def _execute_py(self, img):
1004
+ """
1005
+ Execute method.
1006
+
1007
+ Args:
1008
+ img (PIL image): Image to apply transformations in a random order.
1009
+
1010
+ Returns:
1011
+ img (PIL image), Transformed image.
1012
+ """
1013
+ return util.random_order(img, self.transforms)
1014
+
1015
+
1016
+ class Relational(IntEnum):
1017
+ """
1018
+ Relational operator.
1019
+
1020
+ Available values are as follows:
1021
+
1022
+ - ``Relational.EQ``: Equal to.
1023
+ - ``Relational.NE``: Not equal to.
1024
+ - ``Relational.GT``: Greater than.
1025
+ - ``Relational.GE``: Greater than or equal to.
1026
+ - ``Relational.LT``: Less than.
1027
+ - ``Relational.LE``: Less than or equal to.
1028
+ """
1029
+ EQ = 0
1030
+ NE = 1
1031
+ GT = 2
1032
+ GE = 3
1033
+ LT = 4
1034
+ LE = 5
1035
+
1036
+
1037
+ DE_C_RELATIONAL = {Relational.EQ: cde.RelationalOp.EQ,
1038
+ Relational.NE: cde.RelationalOp.NE,
1039
+ Relational.GT: cde.RelationalOp.GT,
1040
+ Relational.GE: cde.RelationalOp.GE,
1041
+ Relational.LT: cde.RelationalOp.LT,
1042
+ Relational.LE: cde.RelationalOp.LE}
1043
+
1044
+
1045
+ class _SliceOption(cde.SliceOption):
1046
+ """
1047
+ Internal class SliceOption to be used with SliceOperation
1048
+
1049
+ Args:
1050
+ _SliceOption(Union[int, list(int), slice, None, Ellipsis, bool, _SliceOption]):
1051
+
1052
+ 1. :py:obj:`int`: Slice this index only along the dimension. Negative index is supported.
1053
+ 2. :py:obj:`list(int)`: Slice these indices along the dimension. Negative indices are supported.
1054
+ 3. :py:obj:`slice`: Slice the generated indices from the slice object along the dimension.
1055
+ 4. :py:obj:`None`: Slice the whole dimension. Similar to :py:obj:`:` in Python indexing.
1056
+ 5. :py:obj:`Ellipsis`: Slice the whole dimension. Similar to :py:obj:`:` in Python indexing.
1057
+ 6. :py:obj:`boolean`: Slice the whole dimension. Similar to :py:obj:`:` in Python indexing.
1058
+ """
1059
+
1060
+ @check_slice_option
1061
+ def __init__(self, slice_option):
1062
+ if isinstance(slice_option, int) and not isinstance(slice_option, bool):
1063
+ slice_option = [slice_option]
1064
+ elif slice_option is Ellipsis:
1065
+ slice_option = True
1066
+ elif slice_option is None:
1067
+ slice_option = True
1068
+ super().__init__(slice_option)
1069
+
1070
+
1071
+ class Slice(TensorOperation):
1072
+ """
1073
+ Extract a slice from the input.
1074
+
1075
+ Currently, only 1-D input is supported.
1076
+
1077
+ Args:
1078
+ slices (Union[int, list[int], slice, Ellipsis]): The desired slice.
1079
+
1080
+ - If the input type is int, it will slice the element with the specified index value.
1081
+ Negative index is also supported.
1082
+ - If the input type is list[int], it will slice all the elements with the specified index values.
1083
+ Negative index is also supported.
1084
+ - If the input type is `slice <https://docs.python.org/3.7/library/functions.html#slice>`_ ,
1085
+ it will slice according to its specified start position, stop position and step size.
1086
+ - If the input type is `Ellipsis <https://docs.python.org/3.7/library/constants.html#Ellipsis>`_ ,
1087
+ all elements will be sliced.
1088
+ - If the input is None, all elements will be sliced.
1089
+
1090
+ Raises:
1091
+ TypeError: If `slices` is not of type Union[int, list[int], slice, Ellipsis].
1092
+
1093
+ Supported Platforms:
1094
+ ``CPU``
1095
+
1096
+ Examples:
1097
+ >>> import numpy as np
1098
+ >>> import mindspore.dataset as ds
1099
+ >>> import mindspore.dataset.transforms as transforms
1100
+ >>>
1101
+ >>> # Use the transform in dataset pipeline mode
1102
+ >>> # Data before
1103
+ >>> # | col |
1104
+ >>> # +---------+
1105
+ >>> # | [1,2,3] |
1106
+ >>> # +---------|
1107
+ >>> data = [[1, 2, 3]]
1108
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["col"])
1109
+ >>> # slice indices 1 and 2 only
1110
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms.Slice(slice(1,3)))
1111
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
1112
+ ... print(item["col"].shape, item["col"].dtype)
1113
+ ... break
1114
+ (2,) int64
1115
+ >>> # Data after
1116
+ >>> # | col |
1117
+ >>> # +---------+
1118
+ >>> # | [2,3] |
1119
+ >>> # +---------|
1120
+ >>>
1121
+ >>> # Use the transform in eager mode
1122
+ >>> data = np.array([1, 2, 3])
1123
+ >>> output = transforms.Slice(slice(1, 3))(data)
1124
+ >>> print(output.shape, output.dtype)
1125
+ (2,) int64
1126
+ """
1127
+
1128
+ @check_slice_op
1129
+ def __init__(self, *slices):
1130
+ super().__init__()
1131
+ slice_input_ = list(slices)
1132
+ slice_input_ = [_SliceOption(slice_dim) for slice_dim in slice_input_]
1133
+ self.slice_input_ = slice_input_
1134
+ self.implementation = Implementation.C
1135
+
1136
+ def parse(self):
1137
+ return cde.SliceOperation(self.slice_input_)
1138
+
1139
+
1140
+ class TypeCast(TensorOperation):
1141
+ """
1142
+ Tensor operation to cast to a given MindSpore data type or NumPy data type.
1143
+
1144
+ Note:
1145
+ This operation is executed on the CPU by default, but it is also supported
1146
+ to be executed on the GPU or Ascend via heterogeneous acceleration.
1147
+
1148
+ Args:
1149
+ data_type (Union[mindspore.dtype, numpy.dtype]): mindspore.dtype or numpy.dtype (e.g. `numpy.float32`)
1150
+ to be cast to.
1151
+
1152
+ Raises:
1153
+ TypeError: If `data_type` is not of MindSpore data type bool, int, float, string or type :class:`numpy.dtype` .
1154
+
1155
+ Supported Platforms:
1156
+ ``CPU`` ``GPU`` ``Ascend``
1157
+
1158
+ Examples:
1159
+ >>> import numpy as np
1160
+ >>> import mindspore.dataset as ds
1161
+ >>> import mindspore.dataset.transforms as transforms
1162
+ >>> from mindspore import dtype as mstype
1163
+ >>>
1164
+ >>> # Use the transform in dataset pipeline mode
1165
+ >>> # Generate 1d int numpy array from 0 - 63
1166
+ >>> def generator_1d():
1167
+ ... for i in range(64):
1168
+ ... yield (np.array([i]),)
1169
+ >>>
1170
+ >>> generator_dataset = ds.GeneratorDataset(generator_1d, column_names='col')
1171
+ >>> type_cast_op = transforms.TypeCast(mstype.int32)
1172
+ >>> generator_dataset = generator_dataset.map(operations=type_cast_op)
1173
+ >>> for item in generator_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
1174
+ ... print(item["col"].shape, item["col"].dtype)
1175
+ ... break
1176
+ (1,) int32
1177
+ >>>
1178
+ >>> # Use the transform in eager mode
1179
+ >>> data = np.array([2.71606445312564e-03, 6.3476562564e-03]).astype(np.float64)
1180
+ >>> output = transforms.TypeCast(np.float16)(data)
1181
+ >>> print(output.shape, output.dtype)
1182
+ (2,) float16
1183
+ """
1184
+
1185
+ @check_type_cast
1186
+ def __init__(self, data_type):
1187
+ super().__init__()
1188
+ if isinstance(data_type, typing.Type):
1189
+ data_type = mstype_to_detype(data_type)
1190
+ else:
1191
+ data_type = nptype_to_detype(data_type)
1192
+ self.data_type = str(data_type)
1193
+ self.implementation = Implementation.C
1194
+
1195
+ def parse(self):
1196
+ return cde.TypeCastOperation(self.data_type)
1197
+
1198
+
1199
+ class Unique(TensorOperation):
1200
+ """
1201
+ Perform the unique operation on the input tensor, only support transform one column each time.
1202
+
1203
+ Return 3 tensor: unique output tensor, index tensor, count tensor.
1204
+
1205
+ - Output tensor contains all the unique elements of the input tensor
1206
+ in the same order that they occur in the input tensor.
1207
+ - Index tensor that contains the index of each element of the input tensor in the unique output tensor.
1208
+ - Count tensor that contains the count of each element of the output tensor in the input tensor.
1209
+
1210
+ Note:
1211
+ Call batch op before calling this function.
1212
+
1213
+ Raises:
1214
+ RuntimeError: If given Tensor has two columns.
1215
+
1216
+ Supported Platforms:
1217
+ ``CPU``
1218
+
1219
+ Examples:
1220
+ >>> import numpy as np
1221
+ >>> import mindspore.dataset as ds
1222
+ >>> import mindspore.dataset.transforms as transforms
1223
+ >>>
1224
+ >>> # Use the transform in dataset pipeline mode
1225
+ >>> # Data before
1226
+ >>> # | x |
1227
+ >>> # +--------------------+
1228
+ >>> # | [[0,1,2], [1,2,3]] |
1229
+ >>> # +--------------------+
1230
+ >>> data = [[[0,1,2], [1,2,3]]]
1231
+ >>> numpy_slices_dataset = ds.NumpySlicesDataset(data, ["x"])
1232
+ >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms.Unique(),
1233
+ ... input_columns=["x"],
1234
+ ... output_columns=["x", "y", "z"])
1235
+ >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
1236
+ ... print(item["x"].shape, item["y"].shape, item["z"].shape)
1237
+ ... print(item["x"].dtype, item["y"].dtype, item["z"].dtype)
1238
+ (4,) (6,) (4,)
1239
+ int64 int32 int32
1240
+ >>> # Data after
1241
+ >>> # | x | y |z |
1242
+ >>> # +---------+-----------------+---------+
1243
+ >>> # | [0,1,2,3] | [0,1,2,1,2,3] | [1,2,2,1]
1244
+ >>> # +---------+-----------------+---------+
1245
+ >>>
1246
+ >>> # Use the transform in eager mode
1247
+ >>> data = [[0, -1, -2, -1, 2], [2, -0, 2, 1, -3]]
1248
+ >>> output = transforms.Unique()(data)
1249
+ >>> print(output[0].shape, output[1].shape, output[2].shape)
1250
+ (6,) (10,) (6,)
1251
+ >>> print(output[0].dtype, output[1].dtype, output[2].dtype)
1252
+ int64 int32 int32
1253
+ """
1254
+
1255
+ def __init__(self):
1256
+ super().__init__()
1257
+ self.implementation = Implementation.C
1258
+
1259
+ def parse(self):
1260
+ return cde.UniqueOperation()