mindspore 1.10.0__cp39-cp39-win_amd64.whl → 2.0.0rc1__cp39-cp39-win_amd64.whl

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

Potentially problematic release.


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

Files changed (966) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/ConcurrencyCheck.dll +0 -0
  3. mindspore/CppBuildInsights.dll +0 -0
  4. mindspore/CppCoreCheck.dll +0 -0
  5. mindspore/EnumIndex.dll +0 -0
  6. mindspore/EspXEngine.dll +0 -0
  7. mindspore/HResultCheck.dll +0 -0
  8. mindspore/KernelTraceControl.dll +0 -0
  9. mindspore/LocalESPC.dll +0 -0
  10. mindspore/Microsoft.Diagnostics.Tracing.EventSource.dll +0 -0
  11. mindspore/Microsoft.VisualStudio.RemoteControl.dll +0 -0
  12. mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
  13. mindspore/Microsoft.VisualStudio.Utilities.Internal.dll +0 -0
  14. mindspore/Newtonsoft.Json.dll +0 -0
  15. mindspore/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  16. mindspore/VariantClear.dll +0 -0
  17. mindspore/__init__.py +9 -4
  18. mindspore/_c_dataengine.cp39-win_amd64.pyd +0 -0
  19. mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
  20. mindspore/_c_mindrecord.cp39-win_amd64.pyd +0 -0
  21. mindspore/_check_jit_forbidden_api.py +102 -0
  22. mindspore/_checkparam.py +1066 -1001
  23. mindspore/_extends/builtin_operations.py +32 -4
  24. mindspore/_extends/graph_kernel/model/graph_split.py +66 -222
  25. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +12 -9
  26. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +119 -26
  27. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +50 -50
  28. mindspore/_extends/parallel_compile/akg_compiler/util.py +9 -6
  29. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +4 -25
  30. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +9 -4
  31. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -27
  32. mindspore/_extends/parse/__init__.py +5 -3
  33. mindspore/_extends/parse/namespace.py +17 -2
  34. mindspore/_extends/parse/parser.py +193 -34
  35. mindspore/_extends/parse/resources.py +7 -8
  36. mindspore/_extends/parse/standard_method.py +1780 -435
  37. mindspore/_extends/parse/trope.py +3 -1
  38. mindspore/amp.py +53 -58
  39. mindspore/atlprov.dll +0 -0
  40. mindspore/boost/adasum.py +3 -2
  41. mindspore/boost/boost.py +2 -2
  42. mindspore/boost/boost_cell_wrapper.py +46 -26
  43. mindspore/boost/dim_reduce.py +6 -5
  44. mindspore/boost/grad_accumulation.py +2 -1
  45. mindspore/boost/group_loss_scale_manager.py +1 -1
  46. mindspore/c1.dll +0 -0
  47. mindspore/c1xx.dll +0 -0
  48. mindspore/c2.dll +0 -0
  49. mindspore/cfgpersist.dll +0 -0
  50. mindspore/clang_rt.asan_dbg_dynamic-x86_64.dll +0 -0
  51. mindspore/clang_rt.asan_dynamic-x86_64.dll +0 -0
  52. mindspore/common/__init__.py +11 -10
  53. mindspore/common/_decorator.py +2 -0
  54. mindspore/common/_register_for_adapter.py +55 -0
  55. mindspore/common/_stub_tensor.py +201 -0
  56. mindspore/common/_utils.py +57 -0
  57. mindspore/common/api.py +582 -297
  58. mindspore/common/dtype.py +66 -18
  59. mindspore/common/dump.py +2 -2
  60. mindspore/common/initializer.py +38 -1
  61. mindspore/common/jit_config.py +25 -13
  62. mindspore/common/mutable.py +53 -24
  63. mindspore/common/parameter.py +60 -37
  64. mindspore/common/seed.py +8 -24
  65. mindspore/common/sparse_tensor.py +927 -0
  66. mindspore/common/tensor.py +1627 -3900
  67. mindspore/communication/__init__.py +10 -5
  68. mindspore/communication/_comm_helper.py +78 -214
  69. mindspore/communication/_hccl_management.py +2 -1
  70. mindspore/communication/management.py +136 -47
  71. mindspore/config/op_info.config +501 -1008
  72. mindspore/context.py +291 -56
  73. mindspore/d3dcompiler_47.dll +0 -0
  74. mindspore/dataset/__init__.py +12 -8
  75. mindspore/dataset/audio/__init__.py +9 -9
  76. mindspore/dataset/audio/transforms.py +1090 -228
  77. mindspore/dataset/audio/utils.py +87 -39
  78. mindspore/dataset/audio/validators.py +223 -1
  79. mindspore/dataset/callback/ds_callback.py +17 -15
  80. mindspore/dataset/core/config.py +246 -17
  81. mindspore/dataset/core/py_util_helpers.py +4 -3
  82. mindspore/dataset/core/validator_helpers.py +10 -10
  83. mindspore/{parallel/nn/layers.py → dataset/debug/__init__.py} +7 -8
  84. mindspore/dataset/debug/debug_hook.py +65 -0
  85. mindspore/dataset/debug/pre_defined_hook.py +67 -0
  86. mindspore/dataset/engine/__init__.py +7 -3
  87. mindspore/dataset/engine/cache_client.py +9 -9
  88. mindspore/dataset/engine/datasets.py +648 -477
  89. mindspore/dataset/engine/datasets_audio.py +165 -167
  90. mindspore/dataset/engine/datasets_standard_format.py +93 -67
  91. mindspore/dataset/engine/datasets_text.py +492 -342
  92. mindspore/dataset/engine/datasets_user_defined.py +85 -50
  93. mindspore/dataset/engine/datasets_vision.py +1224 -699
  94. mindspore/dataset/engine/graphdata.py +134 -69
  95. mindspore/dataset/engine/iterators.py +50 -9
  96. mindspore/dataset/engine/offload.py +52 -31
  97. mindspore/dataset/engine/samplers.py +27 -24
  98. mindspore/dataset/engine/serializer_deserializer.py +14 -15
  99. mindspore/dataset/engine/validators.py +213 -52
  100. mindspore/dataset/text/__init__.py +10 -8
  101. mindspore/dataset/text/transforms.py +152 -57
  102. mindspore/dataset/text/utils.py +98 -49
  103. mindspore/dataset/text/validators.py +25 -0
  104. mindspore/dataset/transforms/__init__.py +4 -2
  105. mindspore/dataset/transforms/c_transforms.py +11 -13
  106. mindspore/dataset/transforms/py_transforms.py +2 -2
  107. mindspore/dataset/transforms/py_transforms_util.py +10 -0
  108. mindspore/dataset/transforms/transforms.py +13 -15
  109. mindspore/dataset/transforms/validators.py +7 -7
  110. mindspore/dataset/utils/__init__.py +2 -1
  111. mindspore/dataset/utils/browse_dataset.py +13 -13
  112. mindspore/dataset/utils/line_reader.py +121 -0
  113. mindspore/dataset/vision/__init__.py +8 -7
  114. mindspore/dataset/vision/c_transforms.py +125 -126
  115. mindspore/dataset/vision/py_transforms.py +37 -37
  116. mindspore/dataset/vision/py_transforms_util.py +23 -20
  117. mindspore/dataset/vision/transforms.py +316 -315
  118. mindspore/dataset/vision/utils.py +313 -17
  119. mindspore/dataset/vision/validators.py +6 -6
  120. mindspore/default_config.py +0 -1
  121. mindspore/dpcmi.dll +0 -0
  122. mindspore/{compression → experimental}/__init__.py +6 -5
  123. mindspore/experimental/map_parameter.py +275 -0
  124. mindspore/include/OWNERS +0 -1
  125. mindspore/include/api/callback/callback.h +9 -13
  126. mindspore/include/api/callback/ckpt_saver.h +2 -2
  127. mindspore/include/api/callback/loss_monitor.h +2 -2
  128. mindspore/include/api/callback/lr_scheduler.h +5 -5
  129. mindspore/include/api/callback/time_monitor.h +2 -2
  130. mindspore/include/api/callback/train_accuracy.h +4 -6
  131. mindspore/include/api/cfg.h +19 -6
  132. mindspore/include/api/context.h +70 -9
  133. mindspore/include/api/delegate.h +8 -1
  134. mindspore/include/api/dual_abi_helper.h +8 -24
  135. mindspore/include/api/metrics/accuracy.h +2 -2
  136. mindspore/include/api/metrics/metrics.h +4 -3
  137. mindspore/include/api/model.h +9 -4
  138. mindspore/include/api/model_group.h +68 -0
  139. mindspore/include/api/model_parallel_runner.h +17 -17
  140. mindspore/include/api/net.h +12 -11
  141. mindspore/include/api/serialization.h +20 -4
  142. mindspore/include/api/status.h +7 -1
  143. mindspore/include/api/types.h +25 -21
  144. mindspore/include/api/visible.h +4 -0
  145. mindspore/include/c_api/model_c.h +5 -0
  146. mindspore/include/c_api/status_c.h +1 -1
  147. mindspore/include/dataset/config.h +1 -1
  148. mindspore/include/dataset/constants.h +14 -0
  149. mindspore/include/dataset/text.h +59 -0
  150. mindspore/include/dataset/vision.h +56 -117
  151. mindspore/include/dataset/vision_lite.h +102 -0
  152. mindspore/jpeg62.dll +0 -0
  153. mindspore/log.py +28 -28
  154. mindspore/mindrecord/common/exceptions.py +2 -4
  155. mindspore/mindrecord/filereader.py +19 -1
  156. mindspore/mindrecord/filewriter.py +250 -88
  157. mindspore/mindrecord/mindpage.py +13 -13
  158. mindspore/mindrecord/shardheader.py +15 -15
  159. mindspore/mindrecord/shardreader.py +9 -0
  160. mindspore/mindrecord/shardwriter.py +29 -29
  161. mindspore/mindrecord/tools/cifar100_to_mr.py +9 -9
  162. mindspore/mindrecord/tools/cifar10_to_mr.py +9 -9
  163. mindspore/mindrecord/tools/csv_to_mr.py +4 -4
  164. mindspore/mindrecord/tools/imagenet_to_mr.py +70 -65
  165. mindspore/mindrecord/tools/mnist_to_mr.py +41 -41
  166. mindspore/mindrecord/tools/tfrecord_to_mr.py +6 -6
  167. mindspore/{libmindspore_backend.dll → mindspore_backend.dll} +0 -0
  168. mindspore/mindspore_common.dll +0 -0
  169. mindspore/mindspore_core.dll +0 -0
  170. mindspore/mindspore_glog.dll +0 -0
  171. mindspore/mindspore_shared_lib.dll +0 -0
  172. mindspore/msobj140.dll +0 -0
  173. mindspore/mspdb140.dll +0 -0
  174. mindspore/mspdbcore.dll +0 -0
  175. mindspore/mspdbst.dll +0 -0
  176. mindspore/mspft140.dll +0 -0
  177. mindspore/msvcdis140.dll +0 -0
  178. mindspore/msvcp140_1.dll +0 -0
  179. mindspore/msvcp140_2.dll +0 -0
  180. mindspore/msvcp140_atomic_wait.dll +0 -0
  181. mindspore/msvcp140_codecvt_ids.dll +0 -0
  182. mindspore/nn/__init__.py +1 -5
  183. mindspore/nn/cell.py +297 -234
  184. mindspore/nn/dynamic_lr.py +1 -1
  185. mindspore/nn/grad/cell_grad.py +17 -42
  186. mindspore/nn/layer/__init__.py +7 -4
  187. mindspore/nn/layer/activation.py +131 -88
  188. mindspore/nn/layer/basic.py +313 -613
  189. mindspore/nn/layer/channel_shuffle.py +103 -0
  190. mindspore/nn/layer/combined.py +1 -1
  191. mindspore/nn/layer/container.py +52 -6
  192. mindspore/nn/layer/conv.py +112 -43
  193. mindspore/nn/layer/dense.py +10 -9
  194. mindspore/nn/layer/embedding.py +36 -34
  195. mindspore/nn/layer/image.py +123 -27
  196. mindspore/nn/layer/math.py +108 -107
  197. mindspore/nn/layer/normalization.py +212 -366
  198. mindspore/nn/layer/padding.py +370 -42
  199. mindspore/nn/layer/pooling.py +1443 -219
  200. mindspore/nn/layer/rnn_cells.py +11 -16
  201. mindspore/nn/layer/rnns.py +38 -39
  202. mindspore/nn/layer/thor_layer.py +24 -25
  203. mindspore/nn/layer/timedistributed.py +5 -5
  204. mindspore/nn/layer/transformer.py +701 -0
  205. mindspore/nn/learning_rate_schedule.py +8 -8
  206. mindspore/nn/loss/__init__.py +9 -6
  207. mindspore/nn/loss/loss.py +678 -142
  208. mindspore/nn/metrics.py +53 -0
  209. mindspore/nn/optim/_dist_optimizer_registry.py +2 -2
  210. mindspore/nn/optim/ada_grad.py +8 -8
  211. mindspore/nn/optim/adadelta.py +2 -3
  212. mindspore/nn/optim/adafactor.py +18 -14
  213. mindspore/nn/optim/adam.py +429 -87
  214. mindspore/nn/optim/adamax.py +5 -6
  215. mindspore/nn/optim/adasum.py +10 -8
  216. mindspore/nn/optim/asgd.py +7 -7
  217. mindspore/nn/optim/ftrl.py +81 -11
  218. mindspore/nn/optim/lamb.py +7 -8
  219. mindspore/nn/optim/lars.py +4 -4
  220. mindspore/nn/optim/lazyadam.py +82 -7
  221. mindspore/nn/optim/momentum.py +8 -7
  222. mindspore/nn/optim/optimizer.py +19 -10
  223. mindspore/nn/optim/proximal_ada_grad.py +6 -5
  224. mindspore/nn/optim/rmsprop.py +3 -3
  225. mindspore/nn/optim/rprop.py +20 -16
  226. mindspore/nn/optim/sgd.py +21 -15
  227. mindspore/nn/optim/thor.py +23 -21
  228. mindspore/nn/probability/__init__.py +0 -2
  229. mindspore/nn/probability/bijector/bijector.py +7 -6
  230. mindspore/nn/probability/bijector/invert.py +4 -2
  231. mindspore/nn/probability/bijector/softplus.py +2 -2
  232. mindspore/nn/probability/bnn_layers/dense_variational.py +1 -1
  233. mindspore/nn/probability/bnn_layers/layer_distribution.py +2 -2
  234. mindspore/nn/probability/distribution/__init__.py +6 -0
  235. mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -2
  236. mindspore/nn/probability/distribution/_utils/utils.py +11 -17
  237. mindspore/nn/probability/distribution/bernoulli.py +6 -6
  238. mindspore/nn/probability/distribution/beta.py +1 -1
  239. mindspore/nn/probability/distribution/categorical.py +9 -9
  240. mindspore/nn/probability/distribution/cauchy.py +8 -8
  241. mindspore/nn/probability/distribution/distribution.py +12 -6
  242. mindspore/nn/probability/distribution/exponential.py +5 -5
  243. mindspore/nn/probability/distribution/gamma.py +3 -3
  244. mindspore/nn/probability/distribution/geometric.py +6 -5
  245. mindspore/nn/probability/distribution/gumbel.py +5 -5
  246. mindspore/nn/probability/distribution/half_normal.py +133 -0
  247. mindspore/nn/probability/distribution/laplace.py +128 -0
  248. mindspore/nn/probability/distribution/log_normal.py +0 -1
  249. mindspore/nn/probability/distribution/logistic.py +4 -5
  250. mindspore/nn/probability/distribution/normal.py +11 -15
  251. mindspore/nn/probability/distribution/poisson.py +6 -2
  252. mindspore/nn/probability/distribution/student_t.py +150 -0
  253. mindspore/nn/probability/distribution/transformed_distribution.py +4 -4
  254. mindspore/nn/probability/distribution/uniform.py +5 -5
  255. mindspore/nn/reinforcement/_tensors_queue.py +3 -3
  256. mindspore/nn/reinforcement/tensor_array.py +2 -2
  257. mindspore/nn/sparse/sparse.py +8 -1
  258. mindspore/nn/wrap/cell_wrapper.py +55 -27
  259. mindspore/nn/wrap/grad_reducer.py +20 -11
  260. mindspore/nn/wrap/loss_scale.py +47 -30
  261. mindspore/numpy/array_creations.py +33 -22
  262. mindspore/numpy/array_ops.py +46 -42
  263. mindspore/numpy/logic_ops.py +6 -27
  264. mindspore/numpy/math_ops.py +26 -19
  265. mindspore/numpy/utils.py +1 -8
  266. mindspore/numpy/utils_const.py +112 -62
  267. mindspore/opencv_core452.dll +0 -0
  268. mindspore/opencv_imgcodecs452.dll +0 -0
  269. mindspore/opencv_imgproc452.dll +0 -0
  270. mindspore/ops/__init__.py +6 -3
  271. mindspore/ops/_constants.py +0 -6
  272. mindspore/ops/_grad/__init__.py +2 -1
  273. mindspore/ops/_grad/grad_array_ops.py +209 -152
  274. mindspore/ops/_grad/grad_base.py +55 -17
  275. mindspore/ops/_grad/grad_clip_ops.py +11 -3
  276. mindspore/ops/_grad/grad_comm_ops.py +58 -47
  277. mindspore/ops/_grad/grad_implementations.py +21 -61
  278. mindspore/ops/_grad/grad_inner_ops.py +48 -6
  279. mindspore/ops/_grad/grad_math_ops.py +306 -161
  280. mindspore/ops/_grad/grad_nn_ops.py +192 -181
  281. mindspore/ops/_grad/grad_other_ops.py +1 -1
  282. mindspore/ops/_grad/grad_quant_ops.py +5 -5
  283. mindspore/ops/_grad/grad_sequence_ops.py +296 -0
  284. mindspore/ops/_grad/grad_sparse.py +15 -9
  285. mindspore/ops/_grad_experimental/__init__.py +1 -0
  286. mindspore/ops/_grad_experimental/grad_array_ops.py +441 -55
  287. mindspore/ops/_grad_experimental/grad_image_ops.py +25 -7
  288. mindspore/ops/_grad_experimental/grad_inner_ops.py +3 -44
  289. mindspore/ops/_grad_experimental/grad_linalg_ops.py +16 -21
  290. mindspore/ops/_grad_experimental/grad_math_ops.py +979 -49
  291. mindspore/ops/_grad_experimental/grad_nn_ops.py +78 -8
  292. mindspore/ops/_grad_experimental/grad_scalar_ops.py +112 -0
  293. mindspore/ops/_grad_experimental/grad_sparse_ops.py +197 -13
  294. mindspore/ops/_op_impl/__init__.py +3 -3
  295. mindspore/ops/_op_impl/_custom_op/__init__.py +0 -1
  296. mindspore/ops/_op_impl/_custom_op/_basic.py +0 -1
  297. mindspore/ops/_op_impl/_custom_op/batch_matmul_impl.py +1 -1
  298. mindspore/ops/_op_impl/_custom_op/batchnorm_fold.py +4 -2
  299. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2.py +2 -2
  300. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad.py +2 -2
  301. mindspore/ops/_op_impl/_custom_op/batchnorm_fold2_grad_reduce.py +5 -5
  302. mindspore/ops/_op_impl/_custom_op/batchnorm_fold_grad.py +3 -3
  303. mindspore/ops/_op_impl/_custom_op/cholesky_trsm_impl.py +1 -1
  304. mindspore/ops/_op_impl/_custom_op/correction_mul.py +3 -3
  305. mindspore/ops/_op_impl/_custom_op/correction_mul_grad.py +2 -2
  306. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +4 -8
  307. mindspore/ops/_op_impl/_custom_op/dsd_impl.py +1 -1
  308. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel.py +2 -2
  309. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad.py +2 -2
  310. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perchannel_grad_reduce.py +2 -2
  311. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer.py +2 -2
  312. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad.py +2 -2
  313. mindspore/ops/_op_impl/_custom_op/fake_learned_scale_quant_perlayer_grad_reduce.py +2 -2
  314. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel.py +2 -2
  315. mindspore/ops/_op_impl/_custom_op/fake_quant_perchannel_grad.py +2 -2
  316. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer.py +2 -2
  317. mindspore/ops/_op_impl/_custom_op/fake_quant_perlayer_grad.py +2 -2
  318. mindspore/ops/_op_impl/_custom_op/fused_abs_max1_impl.py +1 -1
  319. mindspore/ops/_op_impl/_custom_op/img2col_impl.py +1 -1
  320. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_left_impl.py +2 -2
  321. mindspore/ops/_op_impl/_custom_op/matmul_cube_dense_right_impl.py +1 -1
  322. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_left_cast_impl.py +1 -1
  323. mindspore/ops/_op_impl/_custom_op/matmul_cube_fracz_right_mul_impl.py +1 -1
  324. mindspore/ops/_op_impl/_custom_op/matmul_cube_impl.py +2 -2
  325. mindspore/ops/_op_impl/_custom_op/matmul_dds_grad_impl.py +0 -1
  326. mindspore/ops/_op_impl/_custom_op/matmul_dds_impl.py +0 -1
  327. mindspore/ops/_op_impl/_custom_op/matrix_combine_impl.py +1 -1
  328. mindspore/ops/_op_impl/_custom_op/minmax_update_perchannel.py +2 -2
  329. mindspore/ops/_op_impl/_custom_op/minmax_update_perlayer.py +2 -2
  330. mindspore/ops/_op_impl/_custom_op/transpose02314_impl.py +1 -1
  331. mindspore/ops/_op_impl/aicpu/__init__.py +238 -3
  332. mindspore/ops/_op_impl/aicpu/abs.py +36 -0
  333. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d.py +34 -0
  334. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_2d_grad.py +34 -0
  335. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d.py +39 -0
  336. mindspore/ops/_op_impl/aicpu/adaptive_avg_pool_3d_grad.py +39 -0
  337. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_2d_grad.py +37 -0
  338. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d.py +42 -0
  339. mindspore/ops/_op_impl/aicpu/adaptive_max_pool_3d_grad.py +152 -0
  340. mindspore/ops/_op_impl/aicpu/add.py +43 -0
  341. mindspore/ops/_op_impl/aicpu/addcdiv.py +0 -32
  342. mindspore/ops/_op_impl/aicpu/addcmul.py +0 -84
  343. mindspore/ops/_op_impl/aicpu/affine_grid_grad.py +35 -0
  344. mindspore/ops/_op_impl/aicpu/arg_max.py +75 -0
  345. mindspore/ops/_op_impl/aicpu/arg_min.py +75 -0
  346. mindspore/ops/_op_impl/aicpu/argmin_with_value.py +43 -0
  347. mindspore/ops/_op_impl/aicpu/batch_matmul.py +43 -0
  348. mindspore/ops/_op_impl/aicpu/batch_norm_grad_grad.py +49 -0
  349. mindspore/ops/_op_impl/aicpu/bernoulli.py +48 -0
  350. mindspore/ops/_op_impl/aicpu/bessel_i0.py +31 -0
  351. mindspore/ops/_op_impl/aicpu/bias_add.py +44 -0
  352. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +43 -0
  353. mindspore/ops/_op_impl/aicpu/bincount.py +33 -0
  354. mindspore/{nn/probability/infer/variational/__init__.py → ops/_op_impl/aicpu/cauchy.py} +17 -10
  355. mindspore/ops/_op_impl/aicpu/channel_shuffle.py +40 -0
  356. mindspore/ops/_op_impl/aicpu/cholesky.py +1 -1
  357. mindspore/ops/_op_impl/{cpu/bias_add.py → aicpu/choleskygrad.py} +9 -7
  358. mindspore/ops/_op_impl/aicpu/combined_non_max_suppression.py +42 -0
  359. mindspore/ops/_op_impl/aicpu/concat_offset.py +42 -0
  360. mindspore/ops/_op_impl/aicpu/concat_offset_v1.py +31 -0
  361. mindspore/ops/_op_impl/aicpu/conj.py +11 -0
  362. mindspore/ops/_op_impl/aicpu/crop_and_resize_grad_image.py +38 -0
  363. mindspore/ops/_op_impl/aicpu/cumulative_logsumexp.py +36 -0
  364. mindspore/ops/_op_impl/aicpu/deformable_offsets.py +38 -0
  365. mindspore/ops/_op_impl/aicpu/deformable_offsets_grad.py +2 -2
  366. mindspore/ops/_op_impl/aicpu/dense_to_sparse_set_operation.py +48 -0
  367. mindspore/ops/_op_impl/aicpu/diag.py +36 -0
  368. mindspore/ops/_op_impl/aicpu/diag_part.py +36 -0
  369. mindspore/ops/_op_impl/aicpu/diagonal.py +35 -0
  370. mindspore/ops/_op_impl/{cpu/bias_add_grad.py → aicpu/digamma.py} +9 -7
  371. mindspore/ops/_op_impl/aicpu/eig.py +35 -0
  372. mindspore/ops/_op_impl/aicpu/fft_with_size.py +41 -0
  373. mindspore/ops/_op_impl/aicpu/flatten.py +1 -0
  374. mindspore/ops/_op_impl/aicpu/fmax.py +36 -0
  375. mindspore/ops/_op_impl/aicpu/fmin.py +37 -0
  376. mindspore/ops/_op_impl/aicpu/fractional_max_pool3d_with_fixed_ksize.py +1 -1
  377. mindspore/ops/_op_impl/aicpu/fse_decode.py +43 -0
  378. mindspore/ops/_op_impl/aicpu/glu.py +33 -0
  379. mindspore/ops/_op_impl/aicpu/glu_grad.py +34 -0
  380. mindspore/ops/_op_impl/aicpu/greater.py +41 -0
  381. mindspore/ops/_op_impl/aicpu/greater_equal.py +41 -0
  382. mindspore/ops/_op_impl/aicpu/index_put.py +50 -0
  383. mindspore/ops/_op_impl/{tbe/scatter_add_ds.py → aicpu/inplace_index_add.py} +17 -21
  384. mindspore/ops/_op_impl/aicpu/instance_norm_v2.py +41 -0
  385. mindspore/ops/_op_impl/aicpu/instance_norm_v2_grad.py +44 -0
  386. mindspore/ops/_op_impl/aicpu/layer_norm_grad_grad.py +47 -0
  387. mindspore/ops/_op_impl/aicpu/less.py +41 -0
  388. mindspore/ops/_op_impl/aicpu/less_equal.py +41 -0
  389. mindspore/ops/_op_impl/aicpu/lgamma.py +32 -0
  390. mindspore/ops/_op_impl/aicpu/log_normal_reverse.py +33 -0
  391. mindspore/ops/_op_impl/aicpu/logit.py +33 -0
  392. mindspore/ops/_op_impl/aicpu/logit_grad.py +34 -0
  393. mindspore/ops/_op_impl/aicpu/masked_fill.py +42 -0
  394. mindspore/ops/_op_impl/aicpu/masked_scatter.py +39 -0
  395. mindspore/ops/_op_impl/aicpu/matmul.py +39 -0
  396. mindspore/ops/_op_impl/aicpu/matrix_logarithm.py +31 -0
  397. mindspore/ops/_op_impl/aicpu/matrix_power.py +32 -0
  398. mindspore/ops/_op_impl/aicpu/matrix_solve_ls.py +36 -0
  399. mindspore/ops/_op_impl/aicpu/matrix_triangular_solve.py +36 -0
  400. mindspore/ops/_op_impl/aicpu/mirror_pad.py +2 -0
  401. mindspore/ops/_op_impl/aicpu/mirror_pad_grad.py +0 -4
  402. mindspore/ops/_op_impl/aicpu/mul.py +3 -1
  403. mindspore/ops/_op_impl/aicpu/multinomial.py +14 -6
  404. mindspore/ops/_op_impl/aicpu/multinomial_with_replacement.py +35 -0
  405. mindspore/ops/_op_impl/aicpu/nan_to_num.py +34 -0
  406. mindspore/ops/_op_impl/aicpu/nllloss.py +38 -0
  407. mindspore/ops/_op_impl/aicpu/nllloss_grad.py +39 -0
  408. mindspore/ops/_op_impl/aicpu/ones_like.py +0 -2
  409. mindspore/ops/_op_impl/aicpu/polar.py +32 -0
  410. mindspore/ops/_op_impl/aicpu/polygamma.py +34 -0
  411. mindspore/ops/_op_impl/aicpu/qr.py +36 -0
  412. mindspore/ops/_op_impl/aicpu/quant_dtype_cast.py +40 -0
  413. mindspore/ops/_op_impl/aicpu/quantile.py +35 -0
  414. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_sparse.py +73 -0
  415. mindspore/ops/_op_impl/aicpu/ragged_tensor_to_tensor.py +74 -0
  416. mindspore/ops/_op_impl/aicpu/random_shuffle.py +3 -0
  417. mindspore/ops/_op_impl/aicpu/randperm_v2.py +41 -0
  418. mindspore/ops/_op_impl/aicpu/range.py +36 -0
  419. mindspore/ops/_op_impl/aicpu/reciprocal.py +34 -0
  420. mindspore/ops/_op_impl/aicpu/reciprocal_grad.py +35 -0
  421. mindspore/ops/_op_impl/aicpu/reduce_sum.py +57 -0
  422. mindspore/ops/_op_impl/aicpu/resize_bicubic.py +2 -8
  423. mindspore/ops/_op_impl/aicpu/resize_bicubic_grad.py +1 -1
  424. mindspore/ops/_op_impl/aicpu/resize_v2.py +68 -0
  425. mindspore/ops/_op_impl/aicpu/resize_v2_grad.py +68 -0
  426. mindspore/ops/_op_impl/aicpu/scatter_elements.py +4 -0
  427. mindspore/ops/_op_impl/aicpu/scatter_nd_update.py +2 -0
  428. mindspore/ops/_op_impl/aicpu/search_sorted.py +12 -6
  429. mindspore/ops/_op_impl/aicpu/self_adjoint_eig.py +34 -0
  430. mindspore/ops/_op_impl/aicpu/sequence_add.py +34 -0
  431. mindspore/ops/_op_impl/aicpu/sequence_add_offset.py +34 -0
  432. mindspore/ops/_op_impl/aicpu/sequence_addn.py +38 -0
  433. mindspore/ops/_op_impl/aicpu/slice_grad.py +76 -0
  434. mindspore/ops/_op_impl/aicpu/smooth_l1_loss.py +35 -0
  435. mindspore/ops/_op_impl/aicpu/smooth_l1_loss_grad.py +37 -0
  436. mindspore/ops/_op_impl/aicpu/sort.py +39 -0
  437. mindspore/ops/_op_impl/aicpu/sparse_apply_adagrad_da.py +0 -24
  438. mindspore/ops/_op_impl/aicpu/sparse_cross.py +42 -0
  439. mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows.py +63 -0
  440. mindspore/ops/_op_impl/aicpu/sparse_fill_empty_rows_grad.py +45 -0
  441. mindspore/ops/_op_impl/aicpu/sparse_matrix_mat_mul.py +56 -0
  442. mindspore/ops/_op_impl/{tbe/slice_ds.py → aicpu/sparse_segment_sum.py} +16 -24
  443. mindspore/ops/_op_impl/aicpu/sparse_segment_sum_with_num_segments.py +68 -0
  444. mindspore/ops/_op_impl/aicpu/sparse_slice.py +63 -0
  445. mindspore/ops/_op_impl/aicpu/sparse_slice_grad.py +61 -0
  446. mindspore/ops/_op_impl/aicpu/squared_difference.py +2 -0
  447. mindspore/ops/_op_impl/aicpu/strided_slice_v2.py +93 -0
  448. mindspore/ops/_op_impl/aicpu/strided_slice_v2_grad.py +66 -0
  449. mindspore/ops/_op_impl/aicpu/tensor_scatter_update.py +59 -0
  450. mindspore/ops/_op_impl/{tbe/gather_v2.py → aicpu/tile.py} +24 -24
  451. mindspore/ops/_op_impl/aicpu/tridiagonal_solve.py +35 -0
  452. mindspore/ops/_op_impl/aicpu/tril_indices.py +34 -0
  453. mindspore/ops/_op_impl/aicpu/triu_indices.py +34 -0
  454. mindspore/ops/_op_impl/aicpu/uniform.py +34 -0
  455. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +1 -0
  456. mindspore/ops/_op_impl/aicpu/unique_consecutive.py +10 -2
  457. mindspore/ops/_op_impl/cpu/__init__.py +1 -2
  458. mindspore/ops/_op_impl/cpu/dynamic_shape.py +5 -1
  459. mindspore/ops/_op_impl/cpu/maximum_grad.py +2 -0
  460. mindspore/{compression/common/__init__.py → ops/_op_impl/cpu/pyexecute.py} +13 -8
  461. mindspore/ops/_op_impl/cpu/reduce_sum.py +8 -0
  462. mindspore/ops/_op_impl/cpu/sparse_slice.py +62 -0
  463. mindspore/ops/_op_impl/cpu/sparse_slice_grad.py +60 -0
  464. mindspore/ops/_op_impl/cpu/tensor_shape.py +5 -1
  465. mindspore/ops/_op_impl/tbe/__init__.py +27 -608
  466. mindspore/ops/_op_impl/tbe/addcdiv_ds.py +42 -0
  467. mindspore/ops/_op_impl/tbe/addcmul_ds.py +44 -0
  468. mindspore/ops/_op_impl/tbe/assign_add_ds.py +1 -0
  469. mindspore/ops/_op_impl/tbe/atomic_addr_clean.py +1 -1
  470. mindspore/ops/_op_impl/tbe/avg_pool_3d_grad.py +1 -1
  471. mindspore/ops/_op_impl/tbe/basic_lstm_cell_c_state_grad_v2.py +0 -1
  472. mindspore/ops/_op_impl/tbe/batch_to_space.py +1 -1
  473. mindspore/ops/_op_impl/tbe/batch_to_space_nd.py +1 -1
  474. mindspore/ops/_op_impl/tbe/batch_to_space_nd_v2.py +41 -0
  475. mindspore/ops/_op_impl/tbe/bce_with_logits_loss.py +1 -0
  476. mindspore/ops/_op_impl/tbe/bias_add_grad.py +2 -0
  477. mindspore/ops/_op_impl/tbe/bn_infer_grad.py +4 -2
  478. mindspore/ops/_op_impl/tbe/bn_infer_grad_ds.py +40 -0
  479. mindspore/ops/_op_impl/tbe/bn_training_update.py +0 -1
  480. mindspore/ops/_op_impl/tbe/bn_training_update_ds.py +0 -1
  481. mindspore/ops/_op_impl/tbe/broadcast_to_ds.py +6 -4
  482. mindspore/ops/_op_impl/tbe/cast.py +0 -2
  483. mindspore/ops/_op_impl/tbe/cast_ds.py +3 -3
  484. mindspore/ops/_op_impl/tbe/ctc_loss_v2.py +0 -2
  485. mindspore/ops/_op_impl/tbe/ctc_loss_v2_grad.py +0 -2
  486. mindspore/ops/_op_impl/tbe/data_format_dim_map_ds.py +1 -0
  487. mindspore/ops/_op_impl/tbe/deformable_offsets.py +1 -0
  488. mindspore/ops/_op_impl/tbe/depthwise_conv2d.py +1 -1
  489. mindspore/ops/_op_impl/tbe/dynamic_atomic_addr_clean.py +1 -1
  490. mindspore/ops/_op_impl/tbe/gather_nd.py +1 -0
  491. mindspore/ops/_op_impl/tbe/greater.py +2 -0
  492. mindspore/ops/_op_impl/tbe/{index_add.py → inplace_index_add.py} +3 -6
  493. mindspore/ops/_op_impl/tbe/layer_norm_beta_gamma_backprop_v2.py +0 -1
  494. mindspore/ops/_op_impl/tbe/npu_clear_float_status_v2.py +35 -0
  495. mindspore/ops/_op_impl/tbe/npu_get_float_status_v2.py +35 -0
  496. mindspore/ops/_op_impl/tbe/one_hot_ds.py +0 -6
  497. mindspore/ops/_op_impl/tbe/{greater_ds.py → reduce_all_ds.py} +13 -16
  498. mindspore/ops/_op_impl/tbe/reduce_any_ds.py +39 -0
  499. mindspore/ops/_op_impl/tbe/roi_align_ds.py +44 -0
  500. mindspore/ops/_op_impl/tbe/roi_align_grad_ds.py +44 -0
  501. mindspore/ops/_op_impl/tbe/scatter_add.py +2 -0
  502. mindspore/ops/_op_impl/tbe/scatter_nd_add.py +2 -2
  503. mindspore/ops/_op_impl/tbe/slice.py +26 -15
  504. mindspore/ops/_op_impl/tbe/space_to_batch.py +1 -1
  505. mindspore/ops/_op_impl/tbe/space_to_batch_nd.py +1 -1
  506. mindspore/ops/_op_impl/tbe/strided_slice_grad_d.py +1 -0
  507. mindspore/ops/_op_impl/tbe/trans_data_ds.py +15 -5
  508. mindspore/ops/_op_impl/tbe/unsorted_segment_sum.py +1 -1
  509. mindspore/ops/_op_impl/tbe/unsorted_segment_sum_ds.py +2 -0
  510. mindspore/ops/_primitive_cache.py +3 -2
  511. mindspore/ops/_register_for_op.py +11 -0
  512. mindspore/ops/_utils/__init__.py +1 -1
  513. mindspore/ops/_utils/utils.py +20 -41
  514. mindspore/ops/_vmap/__init__.py +2 -2
  515. mindspore/ops/_vmap/vmap_array_ops.py +170 -78
  516. mindspore/ops/_vmap/vmap_base.py +24 -10
  517. mindspore/ops/_vmap/vmap_convolution_ops.py +7 -10
  518. mindspore/ops/_vmap/vmap_grad_math_ops.py +4 -4
  519. mindspore/ops/_vmap/vmap_grad_nn_ops.py +41 -9
  520. mindspore/ops/_vmap/vmap_image_ops.py +52 -0
  521. mindspore/ops/_vmap/vmap_math_ops.py +77 -6
  522. mindspore/ops/_vmap/vmap_nn_ops.py +78 -29
  523. mindspore/ops/_vmap/vmap_other_ops.py +3 -1
  524. mindspore/ops/_vmap/vmap_random_ops.py +55 -3
  525. mindspore/ops/_vmap/vmap_sparse_ops.py +1 -0
  526. mindspore/ops/bprop_mindir/AdaptiveAvgPool2D_bprop.mindir +0 -0
  527. mindspore/ops/bprop_mindir/AdaptiveMaxPool2D_bprop.mindir +0 -0
  528. mindspore/ops/bprop_mindir/ApproximateEqual_bprop.mindir +18 -19
  529. mindspore/ops/bprop_mindir/Argmax_bprop.mindir +13 -12
  530. mindspore/ops/bprop_mindir/Argmin_bprop.mindir +14 -13
  531. mindspore/ops/bprop_mindir/AssignSub_bprop.mindir +17 -18
  532. mindspore/ops/bprop_mindir/Assign_bprop.mindir +16 -16
  533. mindspore/ops/bprop_mindir/AvgPool3D_bprop.mindir +150 -0
  534. mindspore/ops/bprop_mindir/AvgPool_bprop.mindir +66 -0
  535. mindspore/ops/bprop_mindir/BCEWithLogitsLoss_bprop.mindir +0 -0
  536. mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +13 -12
  537. mindspore/ops/bprop_mindir/BatchNormGrad_bprop.mindir +0 -0
  538. mindspore/ops/bprop_mindir/BatchToSpaceND_bprop.mindir +28 -0
  539. mindspore/ops/bprop_mindir/BiasAddGrad_bprop.mindir +0 -0
  540. mindspore/ops/bprop_mindir/BinaryCrossEntropy_bprop.mindir +33 -0
  541. mindspore/ops/bprop_mindir/BroadcastTo_bprop.mindir +306 -0
  542. mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +12 -8
  543. mindspore/ops/bprop_mindir/CTCLoss_bprop.mindir +0 -0
  544. mindspore/ops/bprop_mindir/Concat_bprop.mindir +0 -0
  545. mindspore/ops/bprop_mindir/Conv2DBackpropFilter_bprop.mindir +240 -0
  546. mindspore/ops/bprop_mindir/Conv2DBackpropInput_bprop.mindir +247 -0
  547. mindspore/ops/bprop_mindir/Conv2DTranspose_bprop.mindir +247 -0
  548. mindspore/ops/bprop_mindir/Conv3DTranspose_bprop.mindir +315 -0
  549. mindspore/ops/bprop_mindir/Conv3D_bprop.mindir +278 -0
  550. mindspore/ops/bprop_mindir/DType_bprop.mindir +12 -12
  551. mindspore/ops/bprop_mindir/DeformableOffsets_bprop.mindir +58 -0
  552. mindspore/ops/bprop_mindir/Depend_bprop.mindir +12 -13
  553. mindspore/ops/bprop_mindir/DepthToSpace_bprop.mindir +23 -0
  554. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +138 -0
  555. mindspore/ops/bprop_mindir/DiagPart_bprop.mindir +15 -0
  556. mindspore/ops/bprop_mindir/Dropout2D_bprop.mindir +0 -0
  557. mindspore/ops/bprop_mindir/Dropout3D_bprop.mindir +0 -0
  558. mindspore/ops/bprop_mindir/DropoutDoMask_bprop.mindir +22 -24
  559. mindspore/ops/bprop_mindir/DropoutGenMask_bprop.mindir +16 -14
  560. mindspore/ops/bprop_mindir/DropoutGrad_bprop.mindir +27 -0
  561. mindspore/ops/bprop_mindir/Dropout_bprop.mindir +0 -0
  562. mindspore/ops/bprop_mindir/DynamicGRUV2_bprop.mindir +0 -0
  563. mindspore/ops/bprop_mindir/DynamicRNN_bprop.mindir +0 -0
  564. mindspore/ops/bprop_mindir/DynamicShape_bprop.mindir +12 -12
  565. mindspore/ops/bprop_mindir/Elu_bprop.mindir +16 -0
  566. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  567. mindspore/ops/bprop_mindir/Equal_bprop.mindir +18 -19
  568. mindspore/ops/bprop_mindir/ExpandDims_bprop.mindir +58 -0
  569. mindspore/ops/bprop_mindir/FastGeLU_bprop.mindir +16 -0
  570. mindspore/ops/bprop_mindir/Flatten_bprop.mindir +54 -0
  571. mindspore/ops/bprop_mindir/FloorDiv_bprop.mindir +18 -15
  572. mindspore/ops/bprop_mindir/GatherD_bprop.mindir +26 -0
  573. mindspore/ops/bprop_mindir/GatherNd_bprop.mindir +57 -0
  574. mindspore/ops/bprop_mindir/Gather_bprop.mindir +0 -0
  575. mindspore/ops/bprop_mindir/GreaterEqual_bprop.mindir +17 -18
  576. mindspore/ops/bprop_mindir/Greater_bprop.mindir +18 -19
  577. mindspore/ops/bprop_mindir/HSigmoid_bprop.mindir +16 -0
  578. mindspore/ops/bprop_mindir/HSwish_bprop.mindir +16 -0
  579. mindspore/ops/bprop_mindir/IOU_bprop.mindir +18 -19
  580. mindspore/ops/bprop_mindir/InstanceNorm_bprop.mindir +0 -0
  581. mindspore/ops/bprop_mindir/IsFinite_bprop.mindir +13 -12
  582. mindspore/ops/bprop_mindir/IsInf_bprop.mindir +13 -10
  583. mindspore/ops/bprop_mindir/IsNan_bprop.mindir +14 -11
  584. mindspore/ops/bprop_mindir/KLDivLoss_bprop.mindir +126 -0
  585. mindspore/ops/bprop_mindir/L2Loss_bprop.mindir +15 -0
  586. mindspore/ops/bprop_mindir/L2Normalize_bprop.mindir +30 -0
  587. mindspore/ops/bprop_mindir/LRN_bprop.mindir +43 -0
  588. mindspore/ops/bprop_mindir/LayerNormGrad_bprop.mindir +0 -0
  589. mindspore/ops/bprop_mindir/LessEqual_bprop.mindir +18 -19
  590. mindspore/ops/bprop_mindir/Less_bprop.mindir +17 -18
  591. mindspore/ops/bprop_mindir/LinSpace_bprop.mindir +22 -19
  592. mindspore/ops/bprop_mindir/Load_bprop.mindir +12 -13
  593. mindspore/ops/bprop_mindir/LogSoftmax_bprop.mindir +23 -0
  594. mindspore/ops/bprop_mindir/LogicalAnd_bprop.mindir +17 -18
  595. mindspore/ops/bprop_mindir/LogicalNot_bprop.mindir +14 -13
  596. mindspore/ops/bprop_mindir/MaskedSelect_bprop.mindir +21 -0
  597. mindspore/ops/bprop_mindir/MaxPool3DGradGrad_bprop.mindir +74 -0
  598. mindspore/ops/bprop_mindir/MaxPool3DGrad_bprop.mindir +74 -0
  599. mindspore/ops/bprop_mindir/MaxPool3D_bprop.mindir +75 -0
  600. mindspore/ops/bprop_mindir/MaxPoolGradGrad_bprop.mindir +65 -0
  601. mindspore/ops/bprop_mindir/MaxPoolWithArgmax_bprop.mindir +0 -0
  602. mindspore/ops/bprop_mindir/Maximum_bprop.mindir +0 -0
  603. mindspore/ops/bprop_mindir/Minimum_bprop.mindir +0 -0
  604. mindspore/ops/bprop_mindir/MirrorPad_bprop.mindir +27 -0
  605. mindspore/ops/bprop_mindir/Mish_bprop.mindir +35 -0
  606. mindspore/ops/bprop_mindir/MulNoNan_bprop.mindir +0 -0
  607. mindspore/ops/bprop_mindir/NLLLoss_bprop.mindir +0 -0
  608. mindspore/ops/bprop_mindir/NonZero_bprop.mindir +14 -0
  609. mindspore/ops/bprop_mindir/NotEqual_bprop.mindir +18 -19
  610. mindspore/ops/bprop_mindir/OneHot_bprop.mindir +25 -23
  611. mindspore/ops/bprop_mindir/OnesLike_bprop.mindir +13 -13
  612. mindspore/ops/bprop_mindir/PReLU_bprop.mindir +0 -0
  613. mindspore/ops/bprop_mindir/Pad_bprop.mindir +0 -0
  614. mindspore/ops/bprop_mindir/Padding_bprop.mindir +0 -0
  615. mindspore/ops/bprop_mindir/RNNTLoss_bprop.mindir +29 -0
  616. mindspore/ops/bprop_mindir/ROIAlign_bprop.mindir +82 -0
  617. mindspore/ops/bprop_mindir/Range_bprop.mindir +21 -19
  618. mindspore/ops/bprop_mindir/Rank_bprop.mindir +11 -11
  619. mindspore/ops/bprop_mindir/ReLU6_bprop.mindir +16 -0
  620. mindspore/ops/bprop_mindir/ReLUV2_bprop.mindir +0 -0
  621. mindspore/ops/bprop_mindir/ReduceAll_bprop.mindir +18 -17
  622. mindspore/ops/bprop_mindir/ReduceAny_bprop.mindir +18 -17
  623. mindspore/ops/bprop_mindir/ReluGrad_bprop.mindir +19 -23
  624. mindspore/ops/bprop_mindir/Reshape_bprop.mindir +60 -0
  625. mindspore/ops/bprop_mindir/ResizeBilinear_bprop.mindir +29 -0
  626. mindspore/ops/bprop_mindir/ResizeNearestNeighbor_bprop.mindir +89 -0
  627. mindspore/ops/bprop_mindir/ReverseSequence_bprop.mindir +52 -0
  628. mindspore/ops/bprop_mindir/ReverseV2_bprop.mindir +22 -0
  629. mindspore/ops/bprop_mindir/Round_bprop.mindir +14 -13
  630. mindspore/ops/bprop_mindir/ScatterMax_bprop.mindir +0 -0
  631. mindspore/ops/bprop_mindir/ScatterMin_bprop.mindir +0 -0
  632. mindspore/ops/bprop_mindir/ScatterNdUpdate_bprop.mindir +22 -0
  633. mindspore/ops/bprop_mindir/ScatterNd_bprop.mindir +24 -0
  634. mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +22 -0
  635. mindspore/ops/bprop_mindir/ScatterUpdate_bprop.mindir +0 -0
  636. mindspore/ops/bprop_mindir/SeLU_bprop.mindir +21 -0
  637. mindspore/ops/bprop_mindir/Select_bprop.mindir +30 -34
  638. mindspore/ops/bprop_mindir/Shape_bprop.mindir +12 -12
  639. mindspore/ops/bprop_mindir/SigmoidCrossEntropyWithLogits_bprop.mindir +21 -0
  640. mindspore/ops/bprop_mindir/SigmoidGrad_bprop.mindir +0 -0
  641. mindspore/ops/bprop_mindir/Sigmoid_bprop.mindir +16 -0
  642. mindspore/ops/bprop_mindir/Sign_bprop.mindir +13 -12
  643. mindspore/ops/bprop_mindir/Slice_bprop.mindir +26 -0
  644. mindspore/ops/bprop_mindir/SmoothL1Loss_bprop.mindir +36 -0
  645. mindspore/ops/bprop_mindir/SoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  646. mindspore/ops/bprop_mindir/Softplus_bprop.mindir +16 -0
  647. mindspore/ops/bprop_mindir/Softsign_bprop.mindir +33 -0
  648. mindspore/ops/bprop_mindir/Sort_bprop.mindir +0 -0
  649. mindspore/ops/bprop_mindir/SpaceToBatchND_bprop.mindir +28 -0
  650. mindspore/ops/bprop_mindir/SpaceToDepth_bprop.mindir +23 -0
  651. mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
  652. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  653. mindspore/ops/bprop_mindir/Split_bprop.mindir +22 -0
  654. mindspore/ops/bprop_mindir/Squeeze_bprop.mindir +54 -0
  655. mindspore/ops/bprop_mindir/StridedSliceGrad_bprop.mindir +95 -0
  656. mindspore/ops/bprop_mindir/StridedSlice_bprop.mindir +98 -0
  657. mindspore/ops/bprop_mindir/Switch_bprop.mindir +28 -32
  658. mindspore/ops/bprop_mindir/TanhGrad_bprop.mindir +0 -0
  659. mindspore/ops/bprop_mindir/Tanh_bprop.mindir +66 -0
  660. mindspore/ops/bprop_mindir/TensorScatterAdd_bprop.mindir +22 -0
  661. mindspore/ops/bprop_mindir/TensorScatterUpdate_bprop.mindir +29 -0
  662. mindspore/ops/bprop_mindir/TensorShape_bprop.mindir +14 -0
  663. mindspore/ops/bprop_mindir/Tile_bprop.mindir +0 -0
  664. mindspore/ops/bprop_mindir/TopK_bprop.mindir +0 -0
  665. mindspore/ops/bprop_mindir/TransShape_bprop.mindir +23 -0
  666. mindspore/ops/bprop_mindir/TruncateDiv_bprop.mindir +18 -15
  667. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +11 -13
  668. mindspore/ops/bprop_mindir/Unique_bprop.mindir +16 -0
  669. mindspore/ops/bprop_mindir/Unstack_bprop.mindir +22 -0
  670. mindspore/ops/bprop_mindir/UpsampleNearest3D_bprop.mindir +32 -0
  671. mindspore/ops/bprop_mindir/UpsampleTrilinear3D_bprop.mindir +38 -0
  672. mindspore/ops/bprop_mindir/ZerosLike_bprop.mindir +13 -12
  673. mindspore/ops/bprop_mindir/__init__.py +1 -4
  674. mindspore/ops/bprop_mindir/generate_mindir.py +32 -20
  675. mindspore/ops/composite/__init__.py +12 -13
  676. mindspore/ops/composite/base.py +261 -254
  677. mindspore/ops/composite/env_ops.py +41 -0
  678. mindspore/ops/composite/math_ops.py +197 -156
  679. mindspore/ops/composite/multitype_ops/_compile_utils.py +428 -176
  680. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +188 -87
  681. mindspore/ops/composite/multitype_ops/add_impl.py +23 -1
  682. mindspore/ops/composite/multitype_ops/div_impl.py +3 -3
  683. mindspore/ops/composite/multitype_ops/equal_impl.py +1 -0
  684. mindspore/ops/composite/multitype_ops/floordiv_impl.py +1 -1
  685. mindspore/ops/composite/multitype_ops/getitem_impl.py +52 -5
  686. mindspore/ops/composite/multitype_ops/greater_equal_impl.py +31 -0
  687. mindspore/ops/composite/multitype_ops/greater_impl.py +31 -0
  688. mindspore/ops/composite/multitype_ops/in_impl.py +15 -3
  689. mindspore/ops/composite/multitype_ops/less_equal_impl.py +33 -2
  690. mindspore/ops/composite/multitype_ops/less_impl.py +33 -0
  691. mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -2
  692. mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
  693. mindspore/ops/composite/multitype_ops/mod_impl.py +1 -1
  694. mindspore/ops/composite/multitype_ops/mul_impl.py +21 -7
  695. mindspore/ops/composite/multitype_ops/not_in_impl.py +15 -3
  696. mindspore/ops/composite/multitype_ops/ones_like_impl.py +2 -4
  697. mindspore/ops/composite/multitype_ops/pow_impl.py +1 -0
  698. mindspore/ops/composite/multitype_ops/setitem_impl.py +62 -70
  699. mindspore/ops/composite/multitype_ops/sub_impl.py +3 -3
  700. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +41 -4
  701. mindspore/ops/function/__init__.py +323 -8
  702. mindspore/ops/function/array_func.py +3511 -780
  703. mindspore/ops/function/clip_func.py +329 -0
  704. mindspore/ops/function/debug_func.py +6 -6
  705. mindspore/ops/function/grad/__init__.py +5 -1
  706. mindspore/ops/function/grad/grad_func.py +736 -65
  707. mindspore/ops/function/image_func.py +270 -0
  708. mindspore/ops/function/linalg_func.py +268 -8
  709. mindspore/ops/function/math_func.py +8032 -3164
  710. mindspore/ops/function/nn_func.py +5619 -1855
  711. mindspore/ops/function/other_func.py +115 -0
  712. mindspore/ops/function/parameter_func.py +11 -10
  713. mindspore/ops/function/random_func.py +939 -77
  714. mindspore/ops/function/sparse_func.py +249 -84
  715. mindspore/ops/function/sparse_unary_func.py +2303 -0
  716. mindspore/ops/function/spectral_func.py +146 -0
  717. mindspore/ops/function/vmap_func.py +114 -0
  718. mindspore/ops/functional.py +182 -254
  719. mindspore/ops/op_info_register.py +79 -34
  720. mindspore/ops/operations/__init__.py +210 -118
  721. mindspore/ops/operations/_csr_ops.py +7 -7
  722. mindspore/ops/operations/_embedding_cache_ops.py +25 -15
  723. mindspore/ops/operations/_grad_ops.py +447 -322
  724. mindspore/ops/operations/_inner_ops.py +547 -176
  725. mindspore/ops/operations/_map_tensor_ops.py +112 -0
  726. mindspore/ops/operations/_ms_kernel.py +29 -27
  727. mindspore/ops/operations/_ocr_ops.py +11 -11
  728. mindspore/ops/operations/_opaque_predicate_registry.py +41 -0
  729. mindspore/ops/operations/_quant_ops.py +186 -101
  730. mindspore/ops/operations/_rl_inner_ops.py +122 -61
  731. mindspore/ops/operations/_scalar_ops.py +466 -0
  732. mindspore/ops/operations/_sequence_ops.py +1047 -0
  733. mindspore/ops/operations/_tensor_array.py +10 -11
  734. mindspore/ops/operations/_thor_ops.py +4 -4
  735. mindspore/ops/operations/array_ops.py +1428 -1226
  736. mindspore/ops/operations/comm_ops.py +180 -117
  737. mindspore/ops/operations/control_ops.py +4 -2
  738. mindspore/ops/operations/custom_ops.py +185 -98
  739. mindspore/ops/operations/debug_ops.py +92 -54
  740. mindspore/ops/operations/image_ops.py +406 -211
  741. mindspore/ops/operations/inner_ops.py +42 -53
  742. mindspore/ops/operations/linalg_ops.py +32 -29
  743. mindspore/ops/operations/math_ops.py +2076 -897
  744. mindspore/ops/operations/nn_ops.py +1282 -1252
  745. mindspore/ops/operations/other_ops.py +124 -278
  746. mindspore/ops/operations/random_ops.py +345 -178
  747. mindspore/ops/operations/rl_ops.py +8 -9
  748. mindspore/ops/operations/sparse_ops.py +502 -157
  749. mindspore/ops/operations/spectral_ops.py +107 -0
  750. mindspore/ops/primitive.py +192 -15
  751. mindspore/ops/vm_impl_registry.py +23 -2
  752. mindspore/parallel/__init__.py +6 -1
  753. mindspore/parallel/_auto_parallel_context.py +199 -92
  754. mindspore/parallel/_cell_wrapper.py +4 -2
  755. mindspore/parallel/_cost_model_context.py +3 -0
  756. mindspore/parallel/_dp_allreduce_fusion.py +2 -1
  757. mindspore/parallel/_offload_context.py +185 -0
  758. mindspore/parallel/_parallel_serialization.py +167 -28
  759. mindspore/parallel/_ps_context.py +9 -5
  760. mindspore/parallel/_recovery_context.py +1 -1
  761. mindspore/parallel/_tensor.py +9 -1
  762. mindspore/{nn/transformer → parallel/_transformer}/__init__.py +6 -6
  763. mindspore/{nn/transformer → parallel/_transformer}/layers.py +59 -37
  764. mindspore/{nn/transformer → parallel/_transformer}/loss.py +4 -7
  765. mindspore/{nn/transformer → parallel/_transformer}/moe.py +160 -35
  766. mindspore/{nn/transformer → parallel/_transformer}/op_parallel_config.py +3 -3
  767. mindspore/{nn/transformer → parallel/_transformer}/transformer.py +235 -196
  768. mindspore/parallel/_utils.py +47 -7
  769. mindspore/parallel/algo_parameter_config.py +5 -1
  770. mindspore/parallel/checkpoint_transform.py +329 -0
  771. mindspore/parallel/shard.py +229 -0
  772. mindspore/perf_msvcbuildinsights.dll +0 -0
  773. mindspore/pgodb140.dll +0 -0
  774. mindspore/pgort140.dll +0 -0
  775. mindspore/profiler/__init__.py +2 -1
  776. mindspore/profiler/common/util.py +4 -3
  777. mindspore/profiler/common/validator/validate_path.py +2 -2
  778. mindspore/profiler/envprofiling.py +249 -0
  779. mindspore/profiler/parser/aicpu_data_parser.py +38 -39
  780. mindspore/profiler/parser/ascend_timeline_generator.py +497 -0
  781. mindspore/profiler/parser/base_timeline_generator.py +471 -0
  782. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +684 -0
  783. mindspore/profiler/parser/framework_parser.py +42 -16
  784. mindspore/profiler/parser/hccl_parser.py +158 -158
  785. mindspore/profiler/parser/hwts_log_parser.py +7 -6
  786. mindspore/profiler/parser/integrator.py +18 -1579
  787. mindspore/profiler/parser/minddata_analyzer.py +8 -8
  788. mindspore/profiler/parser/msadvisor_analyzer.py +14 -27
  789. mindspore/profiler/parser/msadvisor_parser.py +2 -4
  790. mindspore/profiler/parser/optime_parser.py +17 -18
  791. mindspore/profiler/parser/profiler_info.py +108 -0
  792. mindspore/profiler/parser/step_trace_parser.py +1 -1
  793. mindspore/profiler/profiling.py +396 -194
  794. mindspore/rewrite/__init__.py +6 -2
  795. mindspore/rewrite/api/node.py +51 -110
  796. mindspore/rewrite/api/node_type.py +10 -6
  797. mindspore/rewrite/api/pattern_engine.py +51 -7
  798. mindspore/rewrite/api/scoped_value.py +64 -53
  799. mindspore/rewrite/api/symbol_tree.py +108 -61
  800. mindspore/rewrite/api/tree_node_helper.py +2 -3
  801. mindspore/{compression/quant/__init__.py → rewrite/ast_creator_register.py} +20 -11
  802. mindspore/rewrite/ast_helpers/__init__.py +6 -3
  803. mindspore/rewrite/ast_helpers/ast_creator.py +115 -0
  804. mindspore/rewrite/ast_helpers/ast_finder.py +99 -1
  805. mindspore/rewrite/ast_helpers/ast_modifier.py +17 -4
  806. mindspore/rewrite/ast_helpers/ast_replacer.py +1 -1
  807. mindspore/rewrite/ast_transformers/__init__.py +0 -1
  808. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +46 -5
  809. mindspore/rewrite/ast_transformers/remove_return_out_of_if.py +6 -3
  810. mindspore/rewrite/common/__init__.py +2 -0
  811. mindspore/rewrite/common/event.py +1 -1
  812. mindspore/rewrite/common/observable.py +1 -1
  813. mindspore/rewrite/common/observer.py +1 -1
  814. mindspore/rewrite/common/rewrite_elog.py +35 -0
  815. mindspore/rewrite/namer.py +2 -2
  816. mindspore/rewrite/namespace.py +14 -4
  817. mindspore/rewrite/node.py +161 -13
  818. mindspore/rewrite/parser.py +0 -1
  819. mindspore/rewrite/parser_register.py +0 -1
  820. mindspore/rewrite/parsers/arguments_parser.py +3 -2
  821. mindspore/rewrite/parsers/assign_parser.py +267 -67
  822. mindspore/rewrite/parsers/attribute_parser.py +56 -0
  823. mindspore/rewrite/parsers/class_def_parser.py +191 -108
  824. mindspore/rewrite/parsers/constant_parser.py +101 -0
  825. mindspore/rewrite/parsers/container_parser.py +88 -0
  826. mindspore/rewrite/parsers/for_parser.py +28 -15
  827. mindspore/rewrite/parsers/function_def_parser.py +21 -5
  828. mindspore/rewrite/parsers/if_parser.py +11 -28
  829. mindspore/rewrite/parsers/module_parser.py +9 -6
  830. mindspore/rewrite/parsers/return_parser.py +3 -2
  831. mindspore/rewrite/sparsify/__init__.py +0 -0
  832. mindspore/rewrite/sparsify/sparse_transformer.py +448 -0
  833. mindspore/rewrite/sparsify/sparsify.py +109 -0
  834. mindspore/rewrite/sparsify/utils.py +173 -0
  835. mindspore/rewrite/symbol_tree.py +322 -109
  836. mindspore/rewrite/symbol_tree_builder.py +45 -8
  837. mindspore/rewrite/symbol_tree_dumper.py +0 -1
  838. mindspore/rewrite/topological_manager.py +1 -2
  839. mindspore/run_check/_check_version.py +209 -112
  840. mindspore/run_check/run_check.py +2 -1
  841. mindspore/tbbmalloc.dll +0 -0
  842. mindspore/tinyxml2.dll +0 -0
  843. mindspore/train/__init__.py +6 -4
  844. mindspore/train/_utils.py +28 -5
  845. mindspore/train/amp.py +321 -50
  846. mindspore/train/callback/__init__.py +3 -1
  847. mindspore/train/callback/_backup_and_restore.py +120 -0
  848. mindspore/train/callback/_callback.py +8 -8
  849. mindspore/train/callback/_checkpoint.py +12 -9
  850. mindspore/train/callback/_early_stop.py +13 -7
  851. mindspore/train/callback/_history.py +8 -8
  852. mindspore/train/callback/_lambda_callback.py +6 -6
  853. mindspore/train/callback/_landscape.py +36 -38
  854. mindspore/train/callback/_loss_monitor.py +12 -6
  855. mindspore/train/callback/_lr_scheduler_callback.py +2 -4
  856. mindspore/train/callback/_on_request_exit.py +212 -0
  857. mindspore/train/callback/_reduce_lr_on_plateau.py +13 -7
  858. mindspore/train/callback/_summary_collector.py +27 -19
  859. mindspore/train/callback/_time_monitor.py +13 -7
  860. mindspore/train/checkpoint_pb2.py +68 -8
  861. mindspore/train/data_sink.py +122 -33
  862. mindspore/train/dataset_helper.py +28 -87
  863. mindspore/train/loss_scale_manager.py +4 -7
  864. mindspore/{nn → train}/metrics/__init__.py +20 -20
  865. mindspore/{nn → train}/metrics/accuracy.py +12 -10
  866. mindspore/{nn → train}/metrics/auc.py +4 -4
  867. mindspore/{nn → train}/metrics/bleu_score.py +4 -4
  868. mindspore/{nn → train}/metrics/confusion_matrix.py +10 -8
  869. mindspore/{nn → train}/metrics/cosine_similarity.py +4 -4
  870. mindspore/{nn → train}/metrics/dice.py +6 -5
  871. mindspore/{nn → train}/metrics/error.py +7 -5
  872. mindspore/{nn → train}/metrics/fbeta.py +9 -7
  873. mindspore/{nn → train}/metrics/hausdorff_distance.py +8 -6
  874. mindspore/{nn → train}/metrics/loss.py +4 -3
  875. mindspore/{nn → train}/metrics/mean_surface_distance.py +6 -5
  876. mindspore/{nn → train}/metrics/metric.py +6 -5
  877. mindspore/{nn → train}/metrics/occlusion_sensitivity.py +4 -3
  878. mindspore/{nn → train}/metrics/perplexity.py +5 -4
  879. mindspore/{nn → train}/metrics/precision.py +5 -4
  880. mindspore/{nn → train}/metrics/recall.py +5 -4
  881. mindspore/{nn → train}/metrics/roc.py +7 -6
  882. mindspore/{nn → train}/metrics/root_mean_square_surface_distance.py +6 -5
  883. mindspore/{nn → train}/metrics/topk.py +7 -5
  884. mindspore/train/mind_ir_pb2.py +339 -32
  885. mindspore/train/model.py +113 -84
  886. mindspore/train/serialization.py +547 -167
  887. mindspore/train/summary/_summary_adapter.py +1 -1
  888. mindspore/train/summary/summary_record.py +43 -12
  889. mindspore/train/train_thor/convert_utils.py +7 -1
  890. mindspore/train/train_thor/dataset_helper.py +3 -3
  891. mindspore/train/train_thor/model_thor.py +0 -4
  892. mindspore/turbojpeg.dll +0 -0
  893. mindspore/vcmeta.dll +0 -0
  894. mindspore/vcruntime140.dll +0 -0
  895. mindspore/vcruntime140_1.dll +0 -0
  896. mindspore/version.py +1 -1
  897. {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/METADATA +4 -3
  898. {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/RECORD +901 -660
  899. mindspore/compression/common/constant.py +0 -124
  900. mindspore/compression/export/__init__.py +0 -19
  901. mindspore/compression/export/quant_export.py +0 -514
  902. mindspore/compression/quant/qat.py +0 -636
  903. mindspore/compression/quant/quant_utils.py +0 -462
  904. mindspore/compression/quant/quantizer.py +0 -68
  905. mindspore/libatomic-1.dll +0 -0
  906. mindspore/libgcc_s_seh-1.dll +0 -0
  907. mindspore/libgfortran-4.dll +0 -0
  908. mindspore/libgomp-1.dll +0 -0
  909. mindspore/libjpeg-62.dll +0 -0
  910. mindspore/libmindspore.dll +0 -0
  911. mindspore/libmindspore_common.dll +0 -0
  912. mindspore/libmindspore_core.dll +0 -0
  913. mindspore/libmindspore_glog.dll +0 -0
  914. mindspore/libnnacl.dll +0 -0
  915. mindspore/libopencv_core452.dll +0 -0
  916. mindspore/libopencv_imgcodecs452.dll +0 -0
  917. mindspore/libopencv_imgproc452.dll +0 -0
  918. mindspore/libquadmath-0.dll +0 -0
  919. mindspore/libsqlite3.dll +0 -0
  920. mindspore/libssp-0.dll +0 -0
  921. mindspore/libstdc++-6.dll +0 -0
  922. mindspore/libtinyxml2.dll +0 -0
  923. mindspore/libturbojpeg.dll +0 -0
  924. mindspore/libwinpthread-1.dll +0 -0
  925. mindspore/nn/layer/quant.py +0 -1868
  926. mindspore/nn/layer/rnn_utils.py +0 -90
  927. mindspore/nn/probability/dpn/__init__.py +0 -22
  928. mindspore/nn/probability/dpn/vae/__init__.py +0 -25
  929. mindspore/nn/probability/dpn/vae/cvae.py +0 -138
  930. mindspore/nn/probability/dpn/vae/vae.py +0 -122
  931. mindspore/nn/probability/infer/__init__.py +0 -22
  932. mindspore/nn/probability/infer/variational/elbo.py +0 -70
  933. mindspore/nn/probability/infer/variational/svi.py +0 -84
  934. mindspore/nn/probability/toolbox/__init__.py +0 -22
  935. mindspore/nn/probability/toolbox/anomaly_detection.py +0 -99
  936. mindspore/nn/probability/toolbox/uncertainty_evaluation.py +0 -363
  937. mindspore/nn/probability/transforms/__init__.py +0 -22
  938. mindspore/nn/probability/transforms/transform_bnn.py +0 -262
  939. mindspore/nn/probability/zhusuan/__init__.py +0 -18
  940. mindspore/nn/probability/zhusuan/framework/__init__.py +0 -18
  941. mindspore/nn/probability/zhusuan/framework/bn.py +0 -95
  942. mindspore/nn/probability/zhusuan/variational/__init__.py +0 -18
  943. mindspore/nn/probability/zhusuan/variational/elbo.py +0 -46
  944. mindspore/ops/_op_impl/tbe/bias_add_grad_ds.py +0 -52
  945. mindspore/ops/_op_impl/tbe/scatter_nd_add_ds.py +0 -43
  946. mindspore/ops/bprop_mindir/AssignAdd_bprop.mindir +0 -20
  947. mindspore/ops/bprop_mindir/Identity_bprop.mindir +0 -9
  948. mindspore/ops/bprop_mindir/LogicalOr_bprop.mindir +0 -20
  949. mindspore/ops/bprop_mindir/ReLU_bprop.mindir +0 -16
  950. mindspore/ops/bprop_mindir/UpdateState_bprop.mindir +0 -17
  951. mindspore/ops/bprop_mindir/stop_gradient_bprop.mindir +0 -12
  952. mindspore/ops/composite/array_ops.py +0 -210
  953. mindspore/ops/composite/clip_ops.py +0 -238
  954. mindspore/ops/composite/random_ops.py +0 -426
  955. mindspore/ops/composite/vmap_ops.py +0 -38
  956. mindspore/ops/operations/sponge_ops.py +0 -3531
  957. mindspore/ops/operations/sponge_update_ops.py +0 -2546
  958. mindspore/parallel/nn/__init__.py +0 -42
  959. mindspore/parallel/nn/loss.py +0 -22
  960. mindspore/parallel/nn/moe.py +0 -21
  961. mindspore/parallel/nn/op_parallel_config.py +0 -22
  962. mindspore/parallel/nn/transformer.py +0 -31
  963. mindspore/run_check/_check_deps_version.py +0 -84
  964. {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/WHEEL +0 -0
  965. {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/entry_points.txt +0 -0
  966. {mindspore-1.10.0.dist-info → mindspore-2.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,927 @@
1
+ # Copyright 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
+ """SparseTensor implementation."""
16
+ from __future__ import absolute_import, annotations
17
+
18
+ __all__ = ['RowTensorInner', 'RowTensor', 'SparseTensor', 'COOTensor', 'CSRTensor']
19
+
20
+ from typing import Tuple, Union
21
+
22
+ from mindspore import log as logger
23
+ from mindspore.common import dtype as mstype
24
+ from mindspore.common._register_for_tensor import tensor_operator_registry
25
+ from mindspore.common.tensor import Tensor
26
+ from mindspore._c_expression import COOTensor as COOTensor_
27
+ from mindspore._c_expression import CSRTensor as CSRTensor_
28
+ from mindspore._c_expression import RowTensor as RowTensor_
29
+ from mindspore._c_expression import Tensor as Tensor_
30
+ from mindspore import _checkparam as validator
31
+ from mindspore._checkparam import is_stub_tensor
32
+
33
+
34
+ class RowTensorInner(RowTensor_):
35
+ """
36
+ Implementation for RowTensor, for MindSpore developers only.
37
+ """
38
+
39
+ def __init__(self, indices=None, values=None, shape=None, row_tensor=None):
40
+ """Init RowTensor"""
41
+ self.init_finished = False
42
+ # Directly init a RowTensor from another RowTensor
43
+ if row_tensor is not None:
44
+ if not isinstance(row_tensor, (RowTensor, RowTensor_)):
45
+ raise TypeError(f"Expect input `row_tensor` to be a RowTensor, but got {type(row_tensor)}")
46
+ if not (indices is None and values is None and shape is None):
47
+ raise TypeError("If input `row_tensor` is provided, `indices`, `values`, `shapes` should all be `None`")
48
+ RowTensor_.__init__(self, row_tensor)
49
+ # Init a RowTensor from indices, values and shape
50
+ else:
51
+ if is_stub_tensor(values):
52
+ values = values.stub_sync()
53
+ RowTensor_.__init__(self, indices, values, shape)
54
+ self.init_finished = True
55
+
56
+ def __repr__(self):
57
+ """Avoid PyTest Segfault when RowTensor is not initialized."""
58
+ if self.init_finished:
59
+ return RowTensor_.__repr__(self)
60
+ return ''
61
+
62
+ @property
63
+ def indices(self):
64
+ """Return RowTensor's indices."""
65
+ return Tensor(self._indices)
66
+
67
+ @property
68
+ def values(self):
69
+ """Return RowTensor's non-zero values."""
70
+ return Tensor(self._values)
71
+
72
+ @property
73
+ def dense_shape(self):
74
+ """Return RowTensor's shape."""
75
+ return self._shape
76
+
77
+
78
+ class RowTensor(RowTensorInner):
79
+ """
80
+ A sparse representation of a set of tensor slices at given indices.
81
+
82
+ An RowTensor is typically used to represent a subset of a larger
83
+ tensor dense of shape :math:`(L0, D1, .., DN)` where L0 >> D0.
84
+
85
+ The values in indices are the indices in the first dimension of the slices
86
+ that have been extracted from the larger tensor.
87
+
88
+ The dense tensor dense represented by an RowTensor slices has
89
+ `dense[slices.indices[i], :, :, :, ...] = slices.values[i, :, :, :, ...]`.
90
+
91
+ For example, if indices is [0], values is [[1, 2]], shape is
92
+ :math:`(3, 2)` , then the dense representation of the row tensor will be:
93
+
94
+ .. code-block::
95
+
96
+ [[1, 2],
97
+ [0, 0],
98
+ [0, 0]]
99
+
100
+ .. warning::
101
+ This is an experimental API that is subjected to change or deletion.
102
+
103
+ Args:
104
+ indices (Tensor): A 1-D integer Tensor of shape :math:`(D0)` . Default: None.
105
+ values (Tensor): A Tensor of any dtype of shape :math:`(D0, D1, ..., Dn)` . Default: None.
106
+ shape (tuple(int)): An integer tuple which contains the shape
107
+ of the corresponding dense tensor. Default: None.
108
+ row_tensor (RowTensor): A RowTensor object. Default: None.
109
+
110
+ Returns:
111
+ RowTensor, composed of `indices`, `values`, and `shape`.
112
+
113
+ Examples:
114
+ >>> import mindspore as ms
115
+ >>> from mindspore import Tensor, RowTensor
116
+ >>> indices = Tensor([0])
117
+ >>> values = Tensor([[1, 2]], dtype=ms.float32)
118
+ >>> shape = (3, 2)
119
+ >>> x = RowTensor(indices, values, shape)
120
+ >>> print(x.values)
121
+ [[1. 2.]]
122
+ >>> print(x.indices)
123
+ [0]
124
+ >>> print(x.dense_shape)
125
+ (3, 2)
126
+ """
127
+
128
+ def __init__(self, indices=None, values=None, shape=None, row_tensor=None):
129
+ """Init RowTensor"""
130
+ logger.warning("'RowTensor' is deprecated from version 1.7 and will be removed in a future version.")
131
+ super().__init__(indices, values, shape, row_tensor)
132
+
133
+
134
+ class SparseTensor(COOTensor_):
135
+ """
136
+ A sparse representation of a set of nonzero elements from a tensor at given indices.
137
+
138
+ SparseTensor can only be used in the `Cell`'s construct method.
139
+
140
+ For a tensor dense, its SparseTensor(indices, values, dense_shape) has
141
+ `dense[indices[i]] = values[i]`.
142
+
143
+ For example, if indices is [[0, 1], [1, 2]], values is [1, 2], dense_shape is
144
+ (3, 4), then the dense representation of the sparse tensor will be:
145
+
146
+ .. code-block::
147
+
148
+ [[0, 1, 0, 0],
149
+ [0, 0, 2, 0],
150
+ [0, 0, 0, 0]]
151
+
152
+ Note:
153
+ The interface is deprecated from version 1.7 and will be removed in a future version.
154
+ Please use 'COOTensor' instead.
155
+
156
+ Args:
157
+ indices (Tensor): A 2-D integer Tensor of shape :math:`(N, ndims)`,
158
+ where N and ndims are the number of `values` and number of dimensions in
159
+ the SparseTensor, respectively.
160
+ values (Tensor): A 1-D tensor of any type and shape :math:`(N)`, which
161
+ supplies the values for each element in `indices`.
162
+ shape (tuple(int)): An integer tuple of size `ndims`,
163
+ which specifies the shape of the sparse tensor.
164
+
165
+ Returns:
166
+ SparseTensor, composed of `indices`, `values`, and `shape`.
167
+
168
+ Examples:
169
+ >>> import mindspore as ms
170
+ >>> import mindspore.nn as nn
171
+ >>> from mindspore import Tensor, SparseTensor
172
+ >>> indices = Tensor([[0, 1], [1, 2]])
173
+ >>> values = Tensor([1, 2], dtype=ms.float32)
174
+ >>> shape = (3, 4)
175
+ >>> x = SparseTensor(indices, values, shape)
176
+ >>> print(x.values)
177
+ [1. 2.]
178
+ >>> print(x.indices)
179
+ [[0 1]
180
+ [1 2]]
181
+ >>> print(x.shape)
182
+ (3, 4)
183
+ """
184
+
185
+ def __init__(self, indices, values, shape):
186
+ """Init COOTensor."""
187
+ logger.warning("'SparseTensor' is deprecated from version 1.7 and will be removed in a future version. " +
188
+ "Please use 'COOTensor' instead.")
189
+ if not (isinstance(indices, Tensor) and isinstance(values, Tensor) and isinstance(shape, tuple)):
190
+ raise TypeError("Inputs must follow: COOTensor(indices, values, shape).")
191
+ if is_stub_tensor(indices):
192
+ indices = indices.stub_sync()
193
+ if is_stub_tensor(values):
194
+ values = values.stub_sync()
195
+ COOTensor_.__init__(self, indices, values, shape)
196
+
197
+ @property
198
+ def indices(self):
199
+ """Return SparseTensor's indices."""
200
+ return Tensor(self._indices)
201
+
202
+ @property
203
+ def values(self):
204
+ """Return SparseTensor's non-zero values."""
205
+ return Tensor(self._values)
206
+
207
+ @property
208
+ def shape(self):
209
+ """Return SparseTensor's shape."""
210
+ return self._shape
211
+
212
+
213
+ class COOTensor(COOTensor_):
214
+ """
215
+ A sparse representation of a set of nonzero elements from a tensor at given indices.
216
+
217
+ For a tensor dense, its COOTensor(indices, values, shape) has
218
+ `dense[indices[i]] = values[i]`.
219
+
220
+ For example, if indices is [[0, 1], [1, 2]], values is [1, 2], shape is
221
+ (3, 4), then the dense representation of the sparse tensor will be:
222
+
223
+ .. code-block::
224
+
225
+ [[0, 1, 0, 0],
226
+ [0, 0, 2, 0],
227
+ [0, 0, 0, 0]]
228
+
229
+ Common arithmetic operations include: addition (+), subtraction (-), multiplication (*),
230
+ and division (/). For details about operations supported by `COOTensor`, see
231
+ `operators <https://www.mindspore.cn/docs/en/r2.0/note/static_graph_syntax_support.html#operators>`_.
232
+
233
+ .. warning::
234
+ - This is an experimental API that is subject to change or deletion.
235
+ - Currently, duplicate coordinates in the indices will not be coalesced.
236
+ If the indices contain out-of-bound values, the result will be undefined.
237
+
238
+ Args:
239
+ indices (Tensor): A 2-D integer Tensor of shape :math:`(N, ndims)`,
240
+ where N and ndims are the number of `values` and number of dimensions in
241
+ the COOTensor, respectively. Currently, `ndims` must be 2.
242
+ Please make sure that the indices are in range of the given shape.
243
+ values (Tensor): A 1-D tensor of any type and shape :math:`(N)`, which
244
+ supplies the values for each element in `indices`.
245
+ shape (tuple(int)): An integer tuple of size `ndims`,
246
+ which specifies the dense_shape of the sparse tensor.
247
+ coo_tensor (COOTensor): A COOTensor object.
248
+
249
+ Returns:
250
+ COOTensor, composed of `indices`, `values`, and `shape`.
251
+
252
+ Examples:
253
+ >>> import mindspore as ms
254
+ >>> import mindspore.nn as nn
255
+ >>> from mindspore import Tensor, COOTensor
256
+ >>> indices = Tensor([[0, 1], [1, 2]], dtype=ms.int32)
257
+ >>> values = Tensor([1, 2], dtype=ms.float32)
258
+ >>> shape = (3, 4)
259
+ >>> x = COOTensor(indices, values, shape)
260
+ >>> print(x.values)
261
+ [1. 2.]
262
+ >>> print(x.indices)
263
+ [[0 1]
264
+ [1 2]]
265
+ >>> print(x.shape)
266
+ (3, 4)
267
+ """
268
+
269
+ def __init__(self, indices=None, values=None, shape=None, coo_tensor=None):
270
+ """Init COOTensor"""
271
+ self.init_finished = False
272
+ # Directly init a COOTensor from another COOTensor
273
+ if coo_tensor is not None:
274
+ if not isinstance(coo_tensor, (COOTensor, COOTensor_)):
275
+ raise TypeError(f"Expect input `coo_tensor` to be a COOTensor, but got {type(coo_tensor)}")
276
+ if not (indices is None and values is None and shape is None):
277
+ raise TypeError("If input `coo_tensor` is provided, `indices`, `values`, `shapes` should all be `None`")
278
+ COOTensor_.__init__(self, coo_tensor)
279
+ # Init a COOTensor from indices, values and shape
280
+ else:
281
+ validator.check_coo_tensor_input(indices, values, shape)
282
+ validator.check_coo_tensor_shape(indices.shape, values.shape, shape)
283
+ validator.check_coo_tensor_dtype(indices.dtype)
284
+ indices = tensor_operator_registry.get('stop_gradient')(indices)
285
+ if is_stub_tensor(indices):
286
+ indices = indices.stub_sync()
287
+ if is_stub_tensor(values):
288
+ values = values.stub_sync()
289
+ COOTensor_.__init__(self, indices, values, shape)
290
+ self.init_finished = True
291
+
292
+ def __repr__(self):
293
+ """Avoid PyTest Segfault when COOTensor is not initialized."""
294
+ if self.init_finished:
295
+ return COOTensor_.__repr__(self)
296
+ return ''
297
+
298
+ def __neg__(self):
299
+ return COOTensor(self.indices, -self.values, self.shape)
300
+
301
+ def __add__(self, other):
302
+ if not self.shape == other.shape:
303
+ raise ValueError("Input tensors should have the same shape.")
304
+ if isinstance(other, Tensor):
305
+ return tensor_operator_registry.get("tensor_scatter_add")(other, self.indices, self.values)
306
+ if isinstance(other, COOTensor):
307
+ return tensor_operator_registry.get('coo_add')(self, other, Tensor(0, self.values.dtype))
308
+ raise TypeError("COOTensor add with %s is not supported." % type(other))
309
+
310
+ def __sub__(self, other):
311
+ if not self.shape == other.shape:
312
+ raise ValueError("Input tensors should have the same shape.")
313
+ if isinstance(other, Tensor):
314
+ return tensor_operator_registry.get("tensor_scatter_add")(-other, self.indices, self.values)
315
+ if isinstance(other, COOTensor):
316
+ return tensor_operator_registry.get('coo_add')(
317
+ self, -other, Tensor(0, self.values.dtype))
318
+ raise TypeError("COOTensor subtract with %s is not supported." % type(other))
319
+
320
+ def __mul__(self, other):
321
+ if not self.shape == other.shape:
322
+ raise ValueError("Input tensors should have the same shape.")
323
+ if isinstance(other, Tensor):
324
+ other_values = tensor_operator_registry.get("gather_nd")(other, self.indices)
325
+ return COOTensor(self.indices, self.values * other_values, self.shape)
326
+ raise TypeError("COOTensor multiply with %s is not supported." % type(other))
327
+
328
+ def __div__(self, other):
329
+ if not self.shape == other.shape:
330
+ raise ValueError("Input tensors should have the same shape.")
331
+ if isinstance(other, Tensor):
332
+ logger.warning("For sparse divide, zero values in the dense tensor are ignored.")
333
+ other_values = tensor_operator_registry.get("gather_nd")(other, self.indices)
334
+ return COOTensor(self.indices, self.values / other_values, self.shape)
335
+ raise TypeError("COOTensor divide with %s is not supported." % type(other))
336
+
337
+ def __truediv__(self, other):
338
+ return self.__div__(other)
339
+
340
+ @property
341
+ def indices(self) -> Tensor:
342
+ """Return COOTensor's indices."""
343
+ return Tensor(self._indices)
344
+
345
+ @property
346
+ def values(self) -> Tensor:
347
+ """Return COOTensor's non-zero values."""
348
+ return Tensor(self._values)
349
+
350
+ @property
351
+ def shape(self) -> Tuple[int, ...]:
352
+ """Return COOTensor's shape."""
353
+ return self._shape
354
+
355
+ @property
356
+ def dtype(self) -> mstype:
357
+ """Return the dtype of the values of COOTensor (:class:`mindspore.dtype`)."""
358
+ return self._dtype
359
+
360
+ @property
361
+ def size(self) -> int:
362
+ """Return the number of non-zero values."""
363
+ return self.values.size
364
+
365
+ @property
366
+ def itemsize(self) -> int:
367
+ """Return the length of one tensor element in bytes."""
368
+ return self.values.itemsize
369
+
370
+ @property
371
+ def ndim(self) -> int:
372
+ """Return the number of tensor dimensions."""
373
+ return len(self.shape)
374
+
375
+ def coalesce(self) -> COOTensor:
376
+ """
377
+ Returns a coalesced copy of an uncoalesced sparse tensor.
378
+
379
+ Returns:
380
+ A COOTensor.
381
+
382
+ Supported Platforms:
383
+ ``GPU``
384
+
385
+ Examples:
386
+ >>> import mindspore as ms
387
+ >>> import mindspore.ops as ops
388
+ >>> from mindspore import Tensor, COOTensor
389
+ >>> x_indices = Tensor([[0, 0, 1], [1, 1, 2]], dtype=ms.int64)
390
+ >>> x_values = Tensor([1, 5, 4], dtype=ms.float32)
391
+ >>> x_shape = (3, 3)
392
+ >>> coo_tensor = COOTensor(x_indices.transpose(), x_values, x_shape)
393
+ >>> res = coo_tensor.coalesce()
394
+ >>> print(res)
395
+ COOTensor(shape=[3, 3], dtype=Float32, indices=Tensor(shape=[2, 2], dtype=Int64,
396
+ value=[[0 1] [1 2]]), values=Tensor(shape=[2], dtype=Float32, value=[6.00000000e+00 4.00000000e+00]))
397
+ """
398
+ shape = Tensor(self.shape)
399
+ res_indices, res_values, _ = tensor_operator_registry.get("coalesce")(self.indices.transpose(),
400
+ self.values, shape)
401
+ return COOTensor(res_indices.transpose(), res_values, self.shape)
402
+
403
+ def to_csr(self) -> CSRTensor:
404
+ """
405
+ Converts COOTensor to CSRTensor.
406
+
407
+ Note:
408
+ Currently only supports CPU backend with LLVM 12.0.1 installed.
409
+
410
+ Returns:
411
+ CSRTensor.
412
+
413
+ Supported Platforms:
414
+ ``GPU`` ``CPU``
415
+ """
416
+ row_indices = self.indices[:, 0]
417
+ col_indices = self.indices[:, 1]
418
+ idx_dtype = self.indices.dtype
419
+ row_indices, sort_idx = tensor_operator_registry.get("sort")(
420
+ row_indices.astype(mstype.float32))
421
+ row_indices = row_indices.astype(idx_dtype)
422
+ col_indices = col_indices[sort_idx]
423
+ values = self.values[sort_idx]
424
+ indptr = tensor_operator_registry.get("coo2csr")(row_indices, self.shape[0])
425
+ return CSRTensor(indptr, col_indices, values, self.shape)
426
+
427
+ def to_dense(self) -> Tensor:
428
+ """
429
+ Converts COOTensor to Dense Tensor.
430
+
431
+ Returns:
432
+ Tensor.
433
+
434
+ Supported Platforms:
435
+ ``GPU``
436
+ """
437
+ zeros_tensor = tensor_operator_registry.get("zeros")(self.shape, self.values.dtype)
438
+ return tensor_operator_registry.get("tensor_scatter_add")(
439
+ zeros_tensor, self.indices, self.values)
440
+
441
+ def astype(self, dtype: mstype) -> COOTensor:
442
+ """
443
+ Return a copy of the COOTensor, cast its values to a specified type.
444
+
445
+ Args:
446
+ dtype (Union[:class:`mindspore.dtype`, numpy.dtype, str]): Designated tensor dtype.
447
+
448
+ Returns:
449
+ COOTensor.
450
+
451
+ Supported Platforms:
452
+ ``Ascend`` ``GPU`` ``CPU``
453
+
454
+ Examples:
455
+ >>> import mindspore as ms
456
+ >>> from mindspore import Tensor, COOTensor
457
+ >>> indices = Tensor([[0, 1], [1, 2]], dtype=ms.int32)
458
+ >>> values = Tensor([1, 2], dtype=ms.float32)
459
+ >>> shape = (3, 4)
460
+ >>> coo_tensor = COOTensor(indices, values, shape)
461
+ >>> print(coo_tensor.astype(ms.float64).dtype)
462
+ Float64
463
+ """
464
+ data = self.values.astype(dtype)
465
+ return COOTensor(self.indices, data, self.shape)
466
+
467
+ def to_tuple(self) -> Tuple[Tensor, Tensor, Tuple[int, ...]]:
468
+ """
469
+ Return indices, values and shape as a tuple.
470
+
471
+ Returns:
472
+ Tuple.
473
+
474
+ Supported Platforms:
475
+ ``Ascend`` ``GPU`` ``CPU``
476
+ """
477
+ return self.indices, self.values, self.shape
478
+
479
+ def abs(self) -> COOTensor:
480
+ """
481
+ Return absolute value element-wisely.
482
+
483
+ Returns:
484
+ COOTensor.
485
+
486
+ Supported Platforms:
487
+ ``Ascend`` ``GPU`` ``CPU``
488
+ """
489
+ data = self.values.abs()
490
+ return COOTensor(self.indices, data, self.shape)
491
+
492
+ def add(self, other: COOTensor, thresh: Tensor) -> COOTensor:
493
+ """
494
+ Return the sum with another COOTensor.
495
+
496
+ Args:
497
+ other(COOTensor): the second SparseTensor to sum.
498
+ thresh(Tensor): A 0-D Tensor, represents the magnitude threshold that determines
499
+ if an output value/index pair take space, Its dtype
500
+ should match that of the values if they are real. If output's
501
+ value is less than the `thresh`, it will vanish.
502
+
503
+ Returns:
504
+ COOTensor, representing the sum.
505
+
506
+ Raises:
507
+ ValueError: If any input(self/other)'s indices's dim is not equal to 2.
508
+ ValueError: If any input(self/other)'s values's dim is not equal to 1.
509
+ ValueError: If any input(self/other)'s shape's dim is not equal to 1.
510
+ ValueError: If thresh's dim is not equal to 0.
511
+ TypeError: If any input(self/other)'s indices's type is not equal to int64.
512
+ TypeError: If any input(self/other)'s shape's type is not equal to int64.
513
+ ValueError: If any input(self/other)'s indices's length is not equal to
514
+ its values's length.
515
+ TypeError: If any input(self/other)'s values's type is not equal to anf of
516
+ (int8/int16/int32/int64/float32/float64/complex64/complex128)
517
+ TypeError: If thresh's type is not equal to anf of
518
+ (int8/int16/int32/int64/float32/float64)
519
+ TypeError: If self's indices's type is not equal to other's indices's type
520
+ TypeError: If self's values's type is not equal to other's values's type
521
+ TypeError: If self's shape's type is not equal to other's shape's type
522
+ TypeError: If (self/other)'s value's type is not matched with thresh's type
523
+
524
+ Supported Platforms:
525
+ ``GPU`` ``CPU``
526
+
527
+ Examples:
528
+ >>> from mindspore import Tensor, COOTensor
529
+ >>> from mindspore import dtype as mstype
530
+ >>> indics0 = Tensor([[0, 1], [1, 2]], dtype=mstype.int64)
531
+ >>> values0 = Tensor([1, 2], dtype=mstype.int32)
532
+ >>> shape0 = (3, 4)
533
+ >>> input0 = COOTensor(indics0, values0, shape0)
534
+ >>> indics1 = Tensor([[0, 0], [1, 1]], dtype=mstype.int64)
535
+ >>> values1 = Tensor([3, 4], dtype=mstype.int32)
536
+ >>> shape1 = (3, 4)
537
+ >>> input1 = COOTensor(indics1, values1, shape1)
538
+ >>> thres = Tensor(0, dtype=mstype.int32)
539
+ >>> out = input0.add(input1, thres)
540
+ >>> print(out)
541
+ COOTensor(shape=[3, 4], dtype=Int32, indices=Tensor(shape=[4, 2], dtype=Int64, value=
542
+ [[0 0]
543
+ [0 1]
544
+ [1 1]
545
+ [1 2]]), values=Tensor(shape=[4], dtype=Int32, value=[3 1 4 2]))
546
+ """
547
+ return tensor_operator_registry.get('coo_add')(self, other, thresh)
548
+
549
+
550
+ class CSRTensor(CSRTensor_):
551
+ """
552
+ Constructs a sparse tensor in CSR (Compressed Sparse Row) format, with specified
553
+ values indicated by `values` and row and column positions indicated by `indptr`
554
+ and `indices`.
555
+
556
+ For example, if indptr is [0, 1, 2, 2], indices is [1, 2], values is [1., 2.], shape is
557
+ (3, 4), then the dense representation of the sparse tensor will be:
558
+
559
+ .. code-block::
560
+
561
+ [[0., 1., 0., 0.],
562
+ [0., 0., 2., 0.],
563
+ [0., 0., 0., 0.]]
564
+
565
+ Common arithmetic operations include: addition (+), subtraction (-), multiplication (*),
566
+ and division (/). For details about operations supported by `CSRTensor`, see
567
+ `operators <https://www.mindspore.cn/docs/en/r2.0/note/static_graph_syntax_support.html#operators>`_.
568
+
569
+ .. warning::
570
+ - This is an experimental API that is subjected to change.
571
+ - If the values given by `indptr` or `indices` are invalid, the results may be undefined. Invalid values include
572
+ when the length of `values` or `indices` exceeds the range indicated by indptr, and when the columns
573
+ indicated by `indices` are repeated on the same row.
574
+
575
+ Args:
576
+ indptr (Tensor): 1-D Tensor of shape :math:`(M)`, which equals to `shape[0] + 1`, which indicates the
577
+ start and end point for `values` in each row. Default: None. If provided,
578
+ must be int16, int32 or int64.
579
+ indices (Tensor): 1-D Tensor of shape :math:`(N)`, which has the same length as `values`. `indices`
580
+ indicates the which column `values` should be placed. Default: None. If provided,
581
+ must be int16, int32 or int64.
582
+ values (Tensor): Tensor, which has the same length as `indices` (values.shape[0] == indices.shape[0]).
583
+ `values` stores the data for CSRTensor. Default: None.
584
+ shape (tuple(int)): A tuple indicates the shape of the CSRTensor, and `shape[0]` must equal to `M - 1`,
585
+ which all equal to number of rows of the CSRTensor. Default: None.
586
+ csr_tensor (CSRTensor): A CSRTensor object. Values' feature dimension should match with
587
+ CSRTensor's feature dimension (values.shape[1:] == csr_tensor.shape[2:]). Default: None.
588
+
589
+ Outputs:
590
+ CSRTensor, with shape defined by `shape`, and dtype inferred from `value`.
591
+
592
+ Examples:
593
+ >>> import mindspore as ms
594
+ >>> from mindspore import Tensor, CSRTensor
595
+ >>> # initialize a csr_tensor with indptr, indices, values and shape
596
+ >>> indptr = Tensor([0, 1, 2], dtype=ms.int32)
597
+ >>> indices = Tensor([0, 1], dtype=ms.int32)
598
+ >>> values = Tensor([1, 2], dtype=ms.float32)
599
+ >>> shape = (2, 4)
600
+ >>> csr_tensor = CSRTensor(indptr, indices, values, shape)
601
+ >>> # access a data member of CSRTensor
602
+ >>> print(indptr == csr_tensor.indptr)
603
+ [ True True True]
604
+ """
605
+
606
+ def __init__(self, indptr=None, indices=None, values=None, shape=None, csr_tensor=None):
607
+ "Init CSRTensor"
608
+ self.init_finished = False
609
+ # Directly init a CSRTensor from another CSRTensor
610
+ if csr_tensor is not None:
611
+ if not isinstance(csr_tensor, (CSRTensor, CSRTensor_)):
612
+ raise TypeError(f"Expect input `csr_tensor` to be a CSRTensor, but got {type(csr_tensor)}")
613
+ if not (indptr is None and indices is None and values is None and shape is None):
614
+ raise TypeError(
615
+ "If input `csr_tensor` is provided, `indptr`, `indices`, `values`, `shapes` should all be `None`")
616
+ CSRTensor_.__init__(self, csr_tensor)
617
+ # Init a CSRTensor from indptr, indices, values and shape
618
+ else:
619
+ validator.check_csr_tensor_input(indptr, indices, values, shape)
620
+ validator.check_csr_tensor_shape(indptr.shape, indices.shape, values.shape, shape)
621
+ validator.check_csr_tensor_dtype(indptr.dtype, indices.dtype)
622
+ indptr = tensor_operator_registry.get('stop_gradient')(indptr)
623
+ indices = tensor_operator_registry.get('stop_gradient')(indices)
624
+ if is_stub_tensor(indptr):
625
+ indptr = indptr.stub_sync()
626
+ if is_stub_tensor(values):
627
+ values = values.stub_sync()
628
+ if is_stub_tensor(indices):
629
+ indices = indices.stub_sync()
630
+ CSRTensor_.__init__(self, indptr, indices, values, shape)
631
+ self.init_finished = True
632
+
633
+ def __repr__(self):
634
+ """Avoid PyTest Segfault when CSRTensor is not initialized."""
635
+ if self.init_finished:
636
+ return CSRTensor_.__repr__(self)
637
+ return ''
638
+
639
+ def __mul__(self, other):
640
+ return tensor_operator_registry.get('csr_mul')(self, other)
641
+
642
+ def __div__(self, other):
643
+ logger.warning("For CSR divide, zero values in the dense tensor are ignored.")
644
+ return tensor_operator_registry.get('csr_div')(self, other)
645
+
646
+ def __truediv__(self, other):
647
+ return self.__div__(other)
648
+
649
+ def __neg__(self):
650
+ return CSRTensor(self.indptr, self.indices, -self.values, self.shape)
651
+
652
+ def __add__(self, other):
653
+ if not self.shape == other.shape:
654
+ raise ValueError("Input tensors should have the same shape.")
655
+ if isinstance(other, CSRTensor):
656
+ return tensor_operator_registry.get('csr_add')(
657
+ self, other, Tensor(1, self.values.dtype), Tensor(1, self.values.dtype))
658
+ raise TypeError("CSRTensor add with %s is not supported." % type(other))
659
+
660
+ def __sub__(self, other):
661
+ if not self.shape == other.shape:
662
+ raise ValueError("Input tensors should have the same shape.")
663
+ if isinstance(other, CSRTensor):
664
+ return tensor_operator_registry.get('csr_add')(
665
+ self, other, Tensor(1, self.values.dtype), Tensor(-1, self.values.dtype))
666
+ raise TypeError("CSRTensor subtract with %s is not supported." % type(other))
667
+
668
+ @property
669
+ def indptr(self) -> Tensor:
670
+ """Return CSRTensor's row indices pointers."""
671
+ return Tensor(self._indptr)
672
+
673
+ @property
674
+ def indices(self) -> Tensor:
675
+ """Return CSRTensor's column indices."""
676
+ return Tensor(self._indices)
677
+
678
+ @property
679
+ def values(self) -> Tensor:
680
+ """Return CSRTensor's non-zero values."""
681
+ return Tensor(self._values)
682
+
683
+ @property
684
+ def shape(self) -> Tuple[int, ...]:
685
+ """Return CSRTensor's shape."""
686
+ return self._shape
687
+
688
+ @property
689
+ def dtype(self) -> mstype:
690
+ """Return the dtype of the values of CSRTensor (:class:`mindspore.dtype`)."""
691
+ return self._dtype
692
+
693
+ @property
694
+ def size(self) -> int:
695
+ """Return the number of non-zero values."""
696
+ return self.values.size
697
+
698
+ @property
699
+ def itemsize(self) -> int:
700
+ """Return the length of one tensor element in bytes."""
701
+ return self.values.itemsize
702
+
703
+ @property
704
+ def ndim(self) -> int:
705
+ """Return the number of tensor dimensions."""
706
+ return len(self.shape)
707
+
708
+ def to_tuple(self) -> Tuple[Tensor, Tensor, Tensor, Tuple[int, ...]]:
709
+ """
710
+ Return indptr, indices, values and shape as a tuple.
711
+
712
+ Returns:
713
+ Tuple.
714
+
715
+ Supported Platforms:
716
+ ``Ascend`` ``GPU`` ``CPU``
717
+ """
718
+ return self.indptr, self.indices, self.values, self.shape
719
+
720
+ def to_coo(self) -> COOTensor:
721
+ """
722
+ Converts CSRTensor to COOTensor.
723
+
724
+ Note:
725
+ Currently only supports CPU backend with LLVM 12.0.1 installed.
726
+
727
+ Returns:
728
+ COOTensor.
729
+
730
+ Supported Platforms:
731
+ ``GPU`` ``CPU``
732
+ """
733
+ if self.ndim != 2:
734
+ raise ValueError("Currently only support 2-D CSRTensor when converting to COOTensor.")
735
+ row_indices = tensor_operator_registry.get("csr2coo")(self.indptr, self.values.shape[0])
736
+ coo_indices = tensor_operator_registry.get("stack")((row_indices, self.indices), 1)
737
+ return COOTensor(coo_indices, self.values, self.shape)
738
+
739
+ def to_dense(self) -> Tensor:
740
+ """
741
+ Converts CSRTensor to Dense Tensor.
742
+
743
+ Returns:
744
+ Tensor.
745
+
746
+ Supported Platforms:
747
+ ``GPU``
748
+ """
749
+ return tensor_operator_registry.get("csr_to_dense")(self)
750
+
751
+ def astype(self, dtype: mstype) -> CSRTensor:
752
+ """
753
+ Return a copy of the CSRTensor, cast its values to a specified type.
754
+
755
+ Args:
756
+ dtype (Union[:class:`mindspore.dtype`, numpy.dtype, str]): Designated tensor dtype.
757
+
758
+ Returns:
759
+ CSRTensor.
760
+
761
+ Supported Platforms:
762
+ ``Ascend`` ``GPU`` ``CPU``
763
+
764
+ Examples:
765
+ >>> import mindspore as ms
766
+ >>> from mindspore import Tensor, CSRTensor
767
+ >>> indptr = Tensor([0, 1, 2], dtype=ms.int32)
768
+ >>> indices = Tensor([0, 1], dtype=ms.int32)
769
+ >>> values = Tensor([1, 2], dtype=ms.float32)
770
+ >>> shape = (2, 4)
771
+ >>> csr_tensor = CSRTensor(indptr, indices, values, shape)
772
+ >>> print(csr_tensor.astype(ms.float64).dtype)
773
+ Float64
774
+ """
775
+ data = self.values.astype(dtype)
776
+ return CSRTensor(self.indptr, self.indices, data, self.shape)
777
+
778
+ def mv(self, dense_vector: Tensor) -> Tensor:
779
+ """
780
+ Return the matrix multiplication result of the right-multiply dense matrix of the CSRTensor.
781
+ The CSRTensor with shape `[M, N]` needs to adapt the dense vector with shape `[N, 1]`
782
+ to get the dense vector with result `[M, 1]`.
783
+
784
+ Note:
785
+ Currently only supports CPU backend with LLVM 12.0.1 installed.
786
+
787
+ Args:
788
+ dense_vector (Tensor): A dense Tensor, its shape must be (csr_tensor.shape[1], 1)
789
+
790
+ Returns:
791
+ Tensor.
792
+
793
+ Supported Platforms:
794
+ ``GPU`` ``CPU``
795
+
796
+ Examples:
797
+ >>> from mindspore import Tensor, CSRTensor
798
+ >>> from mindspore import dtype as mstype
799
+ >>> indptr = Tensor([0, 1, 2], dtype=mstype.int32)
800
+ >>> indices = Tensor([0, 1], dtype=mstype.int32)
801
+ >>> values = Tensor([2, 1], dtype=mstype.float32)
802
+ >>> dense_shape = (2, 4)
803
+ >>> csr_tensor = CSRTensor(indptr, indices, values, dense_shape)
804
+ >>> dense = Tensor([[1], [1], [1], [1]], dtype=mstype.float32)
805
+ >>> print(csr_tensor.mv(dense))
806
+ [[2.]
807
+ [1.]]
808
+ """
809
+ validator.check_value_type('dense_vector', dense_vector, (Tensor, Tensor_,), 'CSRTensor.mv')
810
+ return tensor_operator_registry.get("csr_mv")(self, dense_vector)
811
+
812
+ def mm(self, matrix: Union[Tensor, CSRTensor]) -> Union[Tensor, CSRTensor]:
813
+ """
814
+ Return the matrix multiplication result of the right-multiply matrix(dense or CSRTensor) of the CSRTensor.
815
+ The CSRTensor with shape `[M, N]` needs to adapt the right matrix with shape `[N, K]`
816
+ to get the dense matrix or CSRTensor with result `[M, K]`.
817
+
818
+ Note:
819
+ If right matrix is CSRTensor, currently only supports GPU backend.
820
+ if right matrix is Tensor, currently supports CPU backend with LLVM 12.0.1 or GPU backend.
821
+
822
+ Args:
823
+ matrix (Tensor or CSRTensor): A dense Tensor or CSRTensor,
824
+ its shape[0] should be equal to csr_tensor.shape[1]
825
+
826
+ Returns:
827
+ Tensor or CSRTensor.
828
+
829
+ Supported Platforms:
830
+ ``GPU`` ``CPU``
831
+
832
+ Examples:
833
+ >>> from mindspore import Tensor, CSRTensor
834
+ >>> from mindspore import dtype as mstype
835
+ >>> indptr = Tensor([0, 1, 2], dtype=mstype.int32)
836
+ >>> indices = Tensor([0, 1], dtype=mstype.int32)
837
+ >>> values = Tensor([2, 1], dtype=mstype.float32)
838
+ >>> dense_shape = (2, 4)
839
+ >>> csr_tensor = CSRTensor(indptr, indices, values, dense_shape)
840
+ >>> dense_matrix = Tensor([[1., 2.], [1, 2.], [1, 2.], [1., 2.]], dtype=mstype.float32)
841
+ >>> print(csr_tensor.mm(dense_matrix))
842
+ [[2. 4.]
843
+ [1. 2.]]
844
+ """
845
+ if isinstance(matrix, CSRTensor):
846
+ return tensor_operator_registry.get("csr_mm")(self, matrix)
847
+ validator.check_value_type('matrix', matrix, (Tensor, Tensor_,), 'CSRTensor.mm')
848
+ return tensor_operator_registry.get("csr_mm_akg")()(self.indptr, self.indices, self.values,
849
+ self.shape, matrix)
850
+
851
+ def sum(self, axis: int) -> Tensor:
852
+ """
853
+ Reduces a dimension of a CSRTensor by summing all elements in the dimension.
854
+
855
+ Note:
856
+ Currently only supports CPU backend with LLVM 12.0.1 installed.
857
+
858
+ Args:
859
+ axis (int): The dimensions to reduce.
860
+
861
+ Returns:
862
+ Tensor, the dtype is the same as `CSRTensor.values`.
863
+
864
+ Supported Platforms:
865
+ ``GPU`` ``CPU``
866
+
867
+ Examples:
868
+ >>> from mindspore import Tensor, CSRTensor
869
+ >>> from mindspore import dtype as mstype
870
+ >>> indptr = Tensor([0, 1, 2], dtype=mstype.int32)
871
+ >>> indices = Tensor([0, 1], dtype=mstype.int32)
872
+ >>> values = Tensor([2, 1], dtype=mstype.float32)
873
+ >>> dense_shape = (2, 4)
874
+ >>> csr_tensor = CSRTensor(indptr, indices, values, dense_shape)
875
+ >>> print(csr_tensor.sum(1))
876
+ [[2.]
877
+ [1.]]
878
+ """
879
+ return tensor_operator_registry.get("csr_reduce_sum")(self, axis)
880
+
881
+ def abs(self) -> CSRTensor:
882
+ """
883
+ Return absolute value element-wisely.
884
+
885
+ Returns:
886
+ CSRTensor, with all values being non-negative.
887
+
888
+ Supported Platforms:
889
+ ``Ascend`` ``GPU`` ``CPU``
890
+ """
891
+ data = self.values.abs()
892
+ return CSRTensor(self.indptr, self.indices, data, self.shape)
893
+
894
+ def add(self, b: CSRTensor, alpha: Tensor, beta: Tensor) -> CSRTensor:
895
+ """
896
+ Addition of two CSR Tensors : C = alpha * A + beta * B
897
+
898
+ Args:
899
+ b (CSRTensor): Sparse CSR Tensor.
900
+ alpha(Tensor): Dense Tensor, its shape must be able to broadcast to self.
901
+ beta(Tensor): Dense Tensor, its shape must be able to broadcast to b.
902
+
903
+ Returns:
904
+ CSRTensor.
905
+
906
+ Supported Platforms:
907
+ ``GPU`` ``CPU``
908
+
909
+ Examples:
910
+ >>> from mindspore import Tensor, CSRTensor
911
+ >>> import mindspore.common.dtype as mstype
912
+ >>> indptr = Tensor([0, 1, 2], dtype=mstype.int32)
913
+ >>> indices = Tensor([0, 1], dtype=mstype.int32)
914
+ >>> values_a = Tensor([2, 1], dtype=mstype.float32)
915
+ >>> values_b = Tensor([1, 2], dtype=mstype.float32)
916
+ >>> dense_shape = (2, 4)
917
+ >>> alpha = Tensor(1, mstype.float32)
918
+ >>> beta = Tensor(1, mstype.float32)
919
+ >>> a = CSRTensor(indptr, indices, values_a, dense_shape)
920
+ >>> b = CSRTensor(indptr, indices, values_b, dense_shape)
921
+ >>> print(a.add(b, alpha, beta))
922
+ CSRTensor(shape=[2,4], dtype=Float32,
923
+ indptr=Tensor(shape=[3], dtype=Int32, value = [0, 1, 2]),
924
+ indices=Tensor(shape=[2], dtype=Int32, value = [0, 1]),
925
+ values=Tensor(shape=[2], dtype=Float32, value = [3.0, 3.0]))
926
+ """
927
+ return tensor_operator_registry.get('csr_add')(self, b, alpha, beta)