mindspore 2.1.0__cp38-cp38-manylinux1_x86_64.whl → 2.2.10__cp38-cp38-manylinux1_x86_64.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 (580) hide show
  1. mindspore/.commit_id +1 -1
  2. mindspore/__init__.py +4 -1
  3. mindspore/_akg/akg/build_module.py +5 -6
  4. mindspore/_akg/akg/composite/build_module.py +46 -19
  5. mindspore/_akg/akg/composite/split_stitch.py +10 -11
  6. mindspore/_akg/akg/ms/info_version_adapt.py +67 -1
  7. mindspore/_akg/akg/tvm/api.py +4 -3
  8. mindspore/_akg/akg/tvm/autotvm/__init__.py +1 -2
  9. mindspore/_akg/akg/tvm/autotvm/graph_tuner/base_graph_tuner.py +1 -5
  10. mindspore/_akg/akg/tvm/autotvm/measure/__init__.py +1 -1
  11. mindspore/_akg/akg/tvm/autotvm/measure/measure.py +1 -10
  12. mindspore/_akg/akg/tvm/autotvm/measure/measure_methods.py +1 -372
  13. mindspore/_akg/akg/tvm/build_module.py +16 -1
  14. mindspore/_akg/akg/tvm/contrib/graph_runtime.py +0 -53
  15. mindspore/_akg/akg/tvm/hybrid/parser.py +7 -6
  16. mindspore/_akg/akg/tvm/ir_builder.py +1 -1
  17. mindspore/_akg/akg/tvm/module.py +1 -2
  18. mindspore/_akg/akg/tvm/stmt.py +2 -2
  19. mindspore/_akg/akg/utils/ascend_profilier/__init__.py +0 -0
  20. mindspore/_akg/akg/utils/ascend_profilier/cann_file_parser.py +76 -0
  21. mindspore/_akg/akg/utils/ascend_profilier/file_manager.py +56 -0
  22. mindspore/_akg/akg/utils/ascend_profilier/op_summary_bean.py +23 -0
  23. mindspore/_akg/akg/utils/ascend_profilier/op_summary_headers.py +8 -0
  24. mindspore/_akg/akg/utils/ascend_profilier/op_summary_parser.py +42 -0
  25. mindspore/_akg/akg/utils/ascend_profilier/path_manager.py +65 -0
  26. mindspore/_akg/akg/utils/composite_op_helper.py +9 -10
  27. mindspore/_akg/akg/utils/kernel_exec.py +98 -274
  28. mindspore/_akg/akg/utils/result_analysis.py +4 -24
  29. mindspore/_akg/akg/utils/tbe_codegen_utils.py +219 -0
  30. mindspore/_akg/akg/utils/util.py +38 -0
  31. mindspore/_c_dataengine.cpython-38-x86_64-linux-gnu.so +0 -0
  32. mindspore/_c_expression.cpython-38-x86_64-linux-gnu.so +0 -0
  33. mindspore/_c_mindrecord.cpython-38-x86_64-linux-gnu.so +0 -0
  34. mindspore/_check_jit_forbidden_api.py +3 -1
  35. mindspore/_checkparam.py +23 -29
  36. mindspore/_extends/graph_kernel/__init__.py +0 -1
  37. mindspore/_extends/graph_kernel/model/graph_split.py +84 -76
  38. mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
  39. mindspore/_extends/graph_kernel/splitter.py +4 -11
  40. mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +122 -15
  41. mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +84 -67
  42. mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
  43. mindspore/_extends/parallel_compile/akg_compiler/util.py +10 -7
  44. mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +2 -2
  45. mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +6 -5
  46. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
  47. mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
  48. mindspore/_extends/parse/__init__.py +12 -15
  49. mindspore/_extends/parse/namespace.py +7 -33
  50. mindspore/_extends/parse/parser.py +61 -71
  51. mindspore/_extends/parse/resources.py +1 -1
  52. mindspore/_extends/parse/standard_method.py +74 -104
  53. mindspore/_extends/parse/trope.py +1 -1
  54. mindspore/_extends/remote/kernel_build_server.py +25 -7
  55. mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
  56. mindspore/_install_custom.py +43 -0
  57. mindspore/_mindspore_offline_debug.cpython-38-x86_64-linux-gnu.so +0 -0
  58. mindspore/amp.py +47 -11
  59. mindspore/bin/cache_admin +0 -0
  60. mindspore/bin/cache_server +0 -0
  61. mindspore/boost/boost.py +1 -8
  62. mindspore/boost/boost_cell_wrapper.py +3 -2
  63. mindspore/boost/grad_accumulation.py +1 -1
  64. mindspore/boost/group_loss_scale_manager.py +8 -7
  65. mindspore/common/__init__.py +5 -3
  66. mindspore/common/_jit_fallback_utils.py +6 -0
  67. mindspore/common/_register_for_adapter.py +2 -0
  68. mindspore/common/_register_for_tensor.py +2 -2
  69. mindspore/common/_stub_tensor.py +13 -0
  70. mindspore/common/_utils.py +13 -0
  71. mindspore/common/api.py +174 -259
  72. mindspore/common/auto_dynamic_shape.py +494 -0
  73. mindspore/common/dtype.py +18 -11
  74. mindspore/common/dump.py +6 -4
  75. mindspore/common/initializer.py +14 -14
  76. mindspore/common/jit_config.py +33 -15
  77. mindspore/common/lazy_inline.py +126 -7
  78. mindspore/common/mindir_util.py +101 -0
  79. mindspore/common/parameter.py +51 -41
  80. mindspore/common/seed.py +4 -4
  81. mindspore/common/sparse_tensor.py +13 -14
  82. mindspore/common/tensor.py +243 -165
  83. mindspore/communication/__init__.py +7 -4
  84. mindspore/communication/_comm_helper.py +83 -4
  85. mindspore/communication/management.py +152 -84
  86. mindspore/config/op_info.config +14 -3
  87. mindspore/config/super_bar_config.json +4 -2
  88. mindspore/context.py +152 -61
  89. mindspore/dataset/__init__.py +5 -5
  90. mindspore/dataset/audio/__init__.py +2 -2
  91. mindspore/dataset/audio/transforms.py +52 -52
  92. mindspore/dataset/callback/ds_callback.py +16 -2
  93. mindspore/dataset/core/config.py +68 -51
  94. mindspore/dataset/engine/cache_client.py +28 -5
  95. mindspore/dataset/engine/datasets.py +250 -112
  96. mindspore/dataset/engine/datasets_audio.py +43 -211
  97. mindspore/dataset/engine/datasets_standard_format.py +16 -35
  98. mindspore/dataset/engine/datasets_text.py +43 -67
  99. mindspore/dataset/engine/datasets_user_defined.py +86 -100
  100. mindspore/dataset/engine/datasets_vision.py +219 -1029
  101. mindspore/dataset/engine/iterators.py +11 -4
  102. mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +4 -0
  103. mindspore/dataset/engine/obs/util.py +3 -0
  104. mindspore/dataset/engine/samplers.py +1 -1
  105. mindspore/dataset/engine/validators.py +19 -5
  106. mindspore/dataset/text/__init__.py +3 -3
  107. mindspore/dataset/text/transforms.py +101 -127
  108. mindspore/dataset/text/utils.py +205 -138
  109. mindspore/dataset/transforms/__init__.py +1 -1
  110. mindspore/dataset/transforms/py_transforms_util.py +40 -12
  111. mindspore/dataset/transforms/transforms.py +95 -40
  112. mindspore/dataset/utils/browse_dataset.py +8 -2
  113. mindspore/dataset/utils/line_reader.py +17 -19
  114. mindspore/dataset/vision/__init__.py +3 -3
  115. mindspore/dataset/vision/c_transforms.py +6 -3
  116. mindspore/dataset/vision/transforms.py +409 -287
  117. mindspore/dataset/vision/utils.py +13 -14
  118. mindspore/dataset/vision/validators.py +11 -1
  119. mindspore/experimental/map_parameter.py +14 -0
  120. mindspore/{nn/optim_ex → experimental/optim}/__init__.py +30 -29
  121. mindspore/{nn/optim_ex → experimental/optim}/adam.py +60 -67
  122. mindspore/{nn/optim_ex → experimental/optim}/adamw.py +181 -203
  123. mindspore/experimental/optim/lr_scheduler.py +1427 -0
  124. mindspore/{nn/optim_ex → experimental/optim}/optimizer.py +252 -259
  125. mindspore/{nn/optim_ex → experimental/optim}/sgd.py +147 -152
  126. mindspore/gen_ops.py +273 -0
  127. mindspore/include/OWNERS +0 -1
  128. mindspore/include/api/data_type.h +2 -1
  129. mindspore/include/api/graph.h +0 -15
  130. mindspore/include/api/kernel.h +2 -0
  131. mindspore/include/api/kernel_api.h +37 -12
  132. mindspore/include/api/model.h +17 -14
  133. mindspore/include/api/status.h +8 -3
  134. mindspore/include/api/types.h +37 -4
  135. mindspore/include/c_api/ms/abstract.h +67 -0
  136. mindspore/include/c_api/ms/attribute.h +197 -0
  137. mindspore/include/c_api/ms/base/handle_types.h +43 -0
  138. mindspore/include/c_api/ms/base/macros.h +32 -0
  139. mindspore/include/c_api/ms/base/status.h +33 -0
  140. mindspore/include/c_api/ms/base/types.h +282 -0
  141. mindspore/include/c_api/ms/context.h +102 -0
  142. mindspore/include/c_api/ms/graph.h +160 -0
  143. mindspore/include/c_api/ms/node.h +606 -0
  144. mindspore/include/c_api/ms/tensor.h +161 -0
  145. mindspore/include/c_api/ms/value.h +84 -0
  146. mindspore/include/dataset/constants.h +6 -5
  147. mindspore/include/dataset/execute.h +23 -13
  148. mindspore/include/dataset/text.h +26 -26
  149. mindspore/include/dataset/transforms.h +13 -13
  150. mindspore/include/dataset/vision.h +60 -60
  151. mindspore/include/dataset/vision_ascend.h +5 -6
  152. mindspore/include/dataset/vision_lite.h +17 -17
  153. mindspore/include/mindapi/base/type_id.h +1 -0
  154. mindspore/include/mindapi/base/types.h +1 -0
  155. mindspore/lib/libdnnl.so.2 +0 -0
  156. mindspore/lib/libjemalloc.so.2 +0 -0
  157. mindspore/lib/libmindspore.so +0 -0
  158. mindspore/lib/libmindspore_backend.so +0 -0
  159. mindspore/lib/libmindspore_common.so +0 -0
  160. mindspore/lib/libmindspore_core.so +0 -0
  161. mindspore/lib/libmindspore_glog.so.0 +0 -0
  162. mindspore/lib/libmindspore_gpr.so.15 +0 -0
  163. mindspore/lib/libmindspore_grpc++.so.1 +0 -0
  164. mindspore/lib/libmindspore_grpc.so.15 +0 -0
  165. mindspore/lib/libmindspore_shared_lib.so +0 -0
  166. mindspore/lib/libnnacl.so +0 -0
  167. mindspore/lib/libopencv_core.so.4.5 +0 -0
  168. mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
  169. mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
  170. mindspore/lib/libps_cache.so +0 -0
  171. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310/aic-ascend310-ops-info.json +123 -0
  172. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310p/aic-ascend310p-ops-info.json +123 -0
  173. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +158 -0
  174. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +37 -0
  175. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
  176. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
  177. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
  178. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
  179. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
  180. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
  181. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
  182. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
  183. mindspore/lib/plugin/ascend/custom_aicore_ops/op_proto/libop_proto.so +0 -0
  184. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
  185. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
  186. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +8928 -0
  187. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
  188. mindspore/lib/plugin/ascend/libakg.so +0 -0
  189. mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
  190. mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
  191. mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
  192. mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
  193. mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
  194. mindspore/lib/plugin/cpu/libakg.so +0 -0
  195. mindspore/lib/plugin/gpu/libcuda_ops.so.10 +0 -0
  196. mindspore/lib/plugin/gpu/libcuda_ops.so.11 +0 -0
  197. mindspore/lib/plugin/gpu10.1/libakg.so +0 -0
  198. mindspore/lib/plugin/gpu10.1/libnccl.so.2 +0 -0
  199. mindspore/lib/plugin/gpu11.1/libakg.so +0 -0
  200. mindspore/lib/plugin/gpu11.1/libnccl.so.2 +0 -0
  201. mindspore/lib/plugin/gpu11.6/libakg.so +0 -0
  202. mindspore/lib/plugin/gpu11.6/libnccl.so.2 +0 -0
  203. mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
  204. mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
  205. mindspore/lib/plugin/libmindspore_gpu.so.10.1 +0 -0
  206. mindspore/lib/plugin/libmindspore_gpu.so.11.1 +0 -0
  207. mindspore/lib/plugin/libmindspore_gpu.so.11.6 +0 -0
  208. mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
  209. mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
  210. mindspore/nn/__init__.py +0 -2
  211. mindspore/nn/cell.py +313 -74
  212. mindspore/nn/dynamic_lr.py +21 -21
  213. mindspore/nn/layer/activation.py +22 -30
  214. mindspore/nn/layer/basic.py +15 -13
  215. mindspore/nn/layer/channel_shuffle.py +1 -1
  216. mindspore/nn/layer/container.py +271 -9
  217. mindspore/nn/layer/conv.py +323 -204
  218. mindspore/nn/layer/dense.py +8 -5
  219. mindspore/nn/layer/embedding.py +33 -27
  220. mindspore/nn/layer/flash_attention.py +141 -88
  221. mindspore/nn/layer/image.py +8 -6
  222. mindspore/nn/layer/math.py +16 -25
  223. mindspore/nn/layer/normalization.py +107 -66
  224. mindspore/nn/layer/padding.py +1 -1
  225. mindspore/nn/layer/pooling.py +131 -109
  226. mindspore/nn/layer/rnn_cells.py +27 -22
  227. mindspore/nn/layer/rnns.py +13 -16
  228. mindspore/nn/layer/thor_layer.py +1 -1
  229. mindspore/nn/layer/transformer.py +221 -154
  230. mindspore/nn/learning_rate_schedule.py +9 -1
  231. mindspore/nn/loss/loss.py +235 -174
  232. mindspore/nn/optim/ada_grad.py +2 -1
  233. mindspore/nn/optim/adadelta.py +1 -0
  234. mindspore/nn/optim/adafactor.py +2 -1
  235. mindspore/nn/optim/adam.py +7 -4
  236. mindspore/nn/optim/adamax.py +3 -2
  237. mindspore/nn/optim/adasum.py +2 -2
  238. mindspore/nn/optim/asgd.py +2 -3
  239. mindspore/nn/optim/ftrl.py +6 -5
  240. mindspore/nn/optim/lamb.py +7 -4
  241. mindspore/nn/optim/lars.py +1 -1
  242. mindspore/nn/optim/lazyadam.py +5 -3
  243. mindspore/nn/optim/momentum.py +2 -1
  244. mindspore/nn/optim/optimizer.py +53 -4
  245. mindspore/nn/optim/proximal_ada_grad.py +3 -4
  246. mindspore/nn/optim/rmsprop.py +4 -3
  247. mindspore/nn/optim/rprop.py +23 -12
  248. mindspore/nn/optim/sgd.py +26 -11
  249. mindspore/nn/optim/thor.py +9 -7
  250. mindspore/nn/probability/bijector/bijector.py +5 -5
  251. mindspore/nn/probability/bijector/power_transform.py +27 -27
  252. mindspore/nn/probability/bijector/softplus.py +3 -3
  253. mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
  254. mindspore/nn/probability/distribution/bernoulli.py +5 -5
  255. mindspore/nn/probability/distribution/beta.py +3 -3
  256. mindspore/nn/probability/distribution/categorical.py +7 -7
  257. mindspore/nn/probability/distribution/cauchy.py +0 -1
  258. mindspore/nn/probability/distribution/distribution.py +3 -3
  259. mindspore/nn/probability/distribution/gamma.py +3 -3
  260. mindspore/nn/probability/distribution/geometric.py +4 -4
  261. mindspore/nn/probability/distribution/gumbel.py +4 -4
  262. mindspore/nn/probability/distribution/log_normal.py +2 -2
  263. mindspore/nn/probability/distribution/logistic.py +2 -2
  264. mindspore/nn/probability/distribution/poisson.py +4 -4
  265. mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
  266. mindspore/nn/probability/distribution/uniform.py +6 -6
  267. mindspore/nn/wrap/cell_wrapper.py +84 -34
  268. mindspore/nn/wrap/grad_reducer.py +8 -5
  269. mindspore/nn/wrap/loss_scale.py +105 -42
  270. mindspore/numpy/array_creations.py +1 -2
  271. mindspore/numpy/array_ops.py +3 -2
  272. mindspore/numpy/utils_const.py +5 -5
  273. mindspore/offline_debug/convert_async.py +2 -2
  274. mindspore/ops/_grad_experimental/__init__.py +0 -5
  275. mindspore/ops/_grad_experimental/grad_array_ops.py +2 -3
  276. mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
  277. mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
  278. mindspore/ops/_grad_experimental/grad_implementations.py +11 -1
  279. mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
  280. mindspore/ops/_grad_experimental/grad_math_ops.py +19 -199
  281. mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
  282. mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
  283. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
  284. mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +165 -109
  285. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +144 -86
  286. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +172 -187
  287. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +51 -57
  288. mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +6 -17
  289. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +1 -1
  290. mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
  291. mindspore/ops/_op_impl/aicpu/add.py +3 -3
  292. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
  293. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  294. mindspore/ops/_op_impl/aicpu/eps.py +32 -0
  295. mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
  296. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
  297. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
  298. mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
  299. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
  300. mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
  301. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
  302. mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
  303. mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
  304. mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
  305. mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
  306. mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
  307. mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
  308. mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
  309. mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
  310. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
  311. mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
  312. mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
  313. mindspore/ops/_op_impl/tbe/__init__.py +4 -4
  314. mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
  315. mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
  316. mindspore/ops/_primitive_cache.py +1 -1
  317. mindspore/ops/_tracefunc.py +45 -13
  318. mindspore/ops/_utils/utils.py +6 -1
  319. mindspore/ops/_vmap/vmap_array_ops.py +3 -3
  320. mindspore/ops/_vmap/vmap_base.py +3 -3
  321. mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
  322. mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
  323. mindspore/ops/_vmap/vmap_math_ops.py +5 -2
  324. mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
  325. mindspore/ops/arg_dtype_cast.py +54 -0
  326. mindspore/ops/composite/base.py +37 -10
  327. mindspore/ops/composite/math_ops.py +5 -4
  328. mindspore/ops/composite/multitype_ops/_compile_utils.py +275 -73
  329. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
  330. mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
  331. mindspore/ops/composite/multitype_ops/getitem_impl.py +42 -4
  332. mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
  333. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  334. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
  335. mindspore/ops/deprecated.py +304 -0
  336. mindspore/ops/function/__init__.py +4 -1
  337. mindspore/ops/function/array_func.py +174 -193
  338. mindspore/ops/function/clip_func.py +81 -13
  339. mindspore/ops/function/debug_func.py +1 -1
  340. mindspore/ops/function/grad/grad_func.py +18 -9
  341. mindspore/ops/function/image_func.py +10 -4
  342. mindspore/ops/function/linalg_func.py +5 -5
  343. mindspore/ops/function/math_func.py +575 -386
  344. mindspore/ops/function/nn_func.py +568 -260
  345. mindspore/ops/function/random_func.py +88 -57
  346. mindspore/ops/function/sparse_func.py +1 -1
  347. mindspore/ops/function/sparse_unary_func.py +14 -12
  348. mindspore/ops/function/vmap_func.py +6 -5
  349. mindspore/ops/functional.py +15 -10
  350. mindspore/ops/op_info_register.py +244 -25
  351. mindspore/ops/operations/__init__.py +28 -19
  352. mindspore/ops/operations/_grad_ops.py +72 -7
  353. mindspore/ops/operations/_inner_ops.py +350 -17
  354. mindspore/ops/operations/_quant_ops.py +4 -8
  355. mindspore/ops/operations/_sequence_ops.py +42 -0
  356. mindspore/ops/operations/array_ops.py +68 -282
  357. mindspore/ops/operations/comm_ops.py +107 -59
  358. mindspore/ops/operations/custom_ops.py +94 -70
  359. mindspore/ops/operations/debug_ops.py +8 -4
  360. mindspore/ops/operations/image_ops.py +18 -12
  361. mindspore/ops/operations/inner_ops.py +26 -3
  362. mindspore/ops/operations/math_ops.py +189 -141
  363. mindspore/ops/operations/nn_ops.py +794 -489
  364. mindspore/ops/operations/other_ops.py +0 -22
  365. mindspore/ops/operations/random_ops.py +53 -111
  366. mindspore/ops/operations/sparse_ops.py +3 -1
  367. mindspore/ops/primitive.py +24 -18
  368. mindspore/parallel/_auto_parallel_context.py +68 -8
  369. mindspore/parallel/_cost_model_context.py +2 -2
  370. mindspore/parallel/_offload_context.py +17 -3
  371. mindspore/parallel/_parallel_serialization.py +12 -5
  372. mindspore/parallel/_ps_context.py +12 -0
  373. mindspore/parallel/_tensor.py +18 -13
  374. mindspore/parallel/_transformer/layers.py +5 -3
  375. mindspore/parallel/_transformer/loss.py +1 -0
  376. mindspore/parallel/_transformer/moe.py +2 -2
  377. mindspore/parallel/_transformer/op_parallel_config.py +12 -1
  378. mindspore/parallel/_transformer/transformer.py +23 -3
  379. mindspore/parallel/_utils.py +11 -7
  380. mindspore/parallel/algo_parameter_config.py +85 -5
  381. mindspore/parallel/checkpoint_transform.py +19 -12
  382. mindspore/parallel/shard.py +21 -14
  383. mindspore/profiler/common/struct_type.py +3 -3
  384. mindspore/profiler/common/util.py +4 -2
  385. mindspore/profiler/envprofiling.py +1 -1
  386. mindspore/profiler/parser/aicpu_data_parser.py +5 -3
  387. mindspore/profiler/parser/ascend_flops_generator.py +2 -2
  388. mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
  389. mindspore/profiler/parser/ascend_hccl_generator.py +249 -12
  390. mindspore/profiler/parser/ascend_msprof_exporter.py +150 -255
  391. mindspore/profiler/parser/ascend_msprof_generator.py +204 -17
  392. mindspore/profiler/parser/ascend_op_generator.py +6 -6
  393. mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
  394. mindspore/profiler/parser/ascend_timeline_generator.py +14 -187
  395. mindspore/profiler/parser/base_timeline_generator.py +10 -8
  396. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +16 -12
  397. mindspore/profiler/parser/flops_parser.py +15 -11
  398. mindspore/profiler/parser/framework_parser.py +38 -22
  399. mindspore/profiler/parser/hccl_parser.py +16 -12
  400. mindspore/profiler/parser/integrator.py +22 -11
  401. mindspore/profiler/parser/memory_usage_parser.py +2 -2
  402. mindspore/profiler/parser/minddata_analyzer.py +12 -14
  403. mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
  404. mindspore/profiler/parser/msadvisor_parser.py +8 -4
  405. mindspore/profiler/parser/op_intermediate_parser.py +5 -2
  406. mindspore/profiler/parser/optime_parser.py +1 -1
  407. mindspore/profiler/parser/profiler_info.py +21 -2
  408. mindspore/profiler/parser/step_trace_parser.py +11 -14
  409. mindspore/profiler/profiling.py +179 -89
  410. mindspore/rewrite/api/node.py +102 -19
  411. mindspore/rewrite/api/node_type.py +5 -1
  412. mindspore/rewrite/api/pattern_engine.py +1 -1
  413. mindspore/rewrite/api/scoped_value.py +9 -17
  414. mindspore/rewrite/api/symbol_tree.py +131 -47
  415. mindspore/rewrite/ast_helpers/__init__.py +2 -1
  416. mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
  417. mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
  418. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
  419. mindspore/rewrite/common/rewrite_elog.py +5 -1
  420. mindspore/rewrite/namer.py +33 -24
  421. mindspore/rewrite/namespace.py +14 -5
  422. mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
  423. mindspore/rewrite/node/call_function.py +79 -0
  424. mindspore/rewrite/node/cell_container.py +135 -0
  425. mindspore/rewrite/node/control_flow.py +88 -0
  426. mindspore/rewrite/{node.py → node/node.py} +273 -234
  427. mindspore/rewrite/node/node_manager.py +254 -0
  428. mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
  429. mindspore/rewrite/parsers/arguments_parser.py +22 -21
  430. mindspore/rewrite/parsers/assign_parser.py +216 -221
  431. mindspore/rewrite/parsers/attribute_parser.py +9 -7
  432. mindspore/rewrite/parsers/class_def_parser.py +174 -113
  433. mindspore/rewrite/parsers/constant_parser.py +9 -6
  434. mindspore/rewrite/parsers/container_parser.py +9 -7
  435. mindspore/rewrite/parsers/for_parser.py +36 -15
  436. mindspore/rewrite/parsers/function_def_parser.py +24 -16
  437. mindspore/rewrite/parsers/if_parser.py +28 -24
  438. mindspore/rewrite/parsers/module_parser.py +196 -25
  439. mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
  440. mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
  441. mindspore/rewrite/parsers/return_parser.py +6 -6
  442. mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
  443. mindspore/rewrite/sparsify/utils.py +1 -1
  444. mindspore/rewrite/symbol_tree.py +523 -578
  445. mindspore/rewrite/symbol_tree_builder.py +9 -193
  446. mindspore/rewrite/symbol_tree_dumper.py +2 -2
  447. mindspore/run_check/_check_version.py +6 -4
  448. mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
  449. mindspore/safeguard/rewrite_obfuscation.py +541 -0
  450. mindspore/scipy/linalg.py +1 -1
  451. mindspore/scipy/optimize/minimize.py +7 -3
  452. mindspore/train/_utils.py +7 -3
  453. mindspore/train/amp.py +323 -123
  454. mindspore/train/anf_ir_pb2.py +14 -2
  455. mindspore/train/callback/_backup_and_restore.py +2 -12
  456. mindspore/train/callback/_callback.py +29 -4
  457. mindspore/train/callback/_checkpoint.py +23 -8
  458. mindspore/train/callback/_early_stop.py +2 -2
  459. mindspore/train/callback/_landscape.py +4 -4
  460. mindspore/train/callback/_loss_monitor.py +2 -2
  461. mindspore/train/callback/_on_request_exit.py +2 -2
  462. mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
  463. mindspore/train/callback/_summary_collector.py +15 -8
  464. mindspore/train/callback/_time_monitor.py +58 -5
  465. mindspore/train/data_sink.py +5 -11
  466. mindspore/train/dataset_helper.py +84 -57
  467. mindspore/train/loss_scale_manager.py +2 -2
  468. mindspore/train/metrics/__init__.py +3 -3
  469. mindspore/train/metrics/cosine_similarity.py +1 -1
  470. mindspore/train/metrics/hausdorff_distance.py +3 -2
  471. mindspore/train/metrics/mean_surface_distance.py +3 -2
  472. mindspore/train/metrics/metric.py +39 -19
  473. mindspore/train/metrics/roc.py +2 -2
  474. mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
  475. mindspore/train/mind_ir_pb2.py +85 -36
  476. mindspore/train/model.py +187 -47
  477. mindspore/train/serialization.py +487 -161
  478. mindspore/train/summary/_summary_adapter.py +1 -1
  479. mindspore/train/summary/_writer_pool.py +3 -2
  480. mindspore/train/summary/summary_record.py +37 -17
  481. mindspore/train/train_thor/convert_utils.py +3 -3
  482. mindspore/train/train_thor/dataset_helper.py +1 -1
  483. mindspore/version.py +1 -1
  484. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/METADATA +6 -7
  485. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/RECORD +488 -528
  486. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/entry_points.txt +0 -1
  487. mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
  488. mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
  489. mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
  490. mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
  491. mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
  492. mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
  493. mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
  494. mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
  495. mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
  496. mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
  497. mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
  498. mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
  499. mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
  500. mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
  501. mindspore/_akg/akg/tvm/rpc/base.py +0 -182
  502. mindspore/_akg/akg/tvm/rpc/client.py +0 -436
  503. mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
  504. mindspore/_akg/akg/tvm/rpc/server.py +0 -413
  505. mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
  506. mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
  507. mindspore/_extends/graph_kernel/expander.py +0 -80
  508. mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
  509. mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
  510. mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
  511. mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
  512. mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
  513. mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
  514. mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
  515. mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
  516. mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
  517. mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
  518. mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
  519. mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
  520. mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
  521. mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
  522. mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
  523. mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
  524. mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
  525. mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
  526. mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
  527. mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
  528. mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
  529. mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
  530. mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
  531. mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
  532. mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
  533. mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
  534. mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
  535. mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
  536. mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
  537. mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
  538. mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
  539. mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
  540. mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
  541. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
  542. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
  543. mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
  544. mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
  545. mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
  546. mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
  547. mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
  548. mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
  549. mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
  550. mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
  551. mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
  552. mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
  553. mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
  554. mindspore/dataset/datapreprocess/__init__.py +0 -20
  555. mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
  556. mindspore/include/api/net.h +0 -142
  557. mindspore/nn/lr_scheduler.py +0 -262
  558. mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
  559. mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
  560. mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
  561. mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
  562. mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
  563. mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
  564. mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
  565. mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
  566. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
  567. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  568. mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
  569. mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
  570. mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
  571. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  572. mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
  573. mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
  574. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
  575. mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
  576. mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
  577. mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
  578. mindspore/rewrite/node_visitor.py +0 -44
  579. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/WHEEL +0 -0
  580. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/top_level.txt +0 -0
@@ -196,6 +196,9 @@ class SequenceSlice(Primitive):
196
196
  """Initialize SequenceSlice"""
197
197
  self.init_prim_io_names(inputs=['seq', 'start', 'stop', 'step'], outputs=['output_data'])
198
198
 
199
+ def __call__(self, sequence, start, stop, step):
200
+ return sequence[start:stop:step]
201
+
199
202
 
200
203
  class InSequence(Primitive):
201
204
  r"""
@@ -223,6 +226,9 @@ class InSequence(Primitive):
223
226
  """Initialize ListAppend"""
224
227
  self.init_prim_io_names(inputs=['element', 'input_data'], outputs=['output_data'])
225
228
 
229
+ def __call__(self, target, sequence):
230
+ return target in sequence
231
+
226
232
 
227
233
  class SequenceSliceSetItem(Primitive):
228
234
  r"""
@@ -291,6 +297,9 @@ class SequenceAdd(Primitive):
291
297
  """Initialize SequenceAdd"""
292
298
  self.init_prim_io_names(inputs=['input_1', 'input_2'], outputs=['output_data'])
293
299
 
300
+ def __call__(self, x, y):
301
+ return x + y
302
+
294
303
 
295
304
  class SequenceAddOffset(Primitive):
296
305
  r"""
@@ -536,6 +545,9 @@ class SequenceCount(Primitive):
536
545
  """Initialize SequenceCount"""
537
546
  self.init_prim_io_names(inputs=['sequence', 'target'], outputs=['output_data'])
538
547
 
548
+ def __call__(self, sequence, target):
549
+ return sequence.count(target)
550
+
539
551
 
540
552
  class SequenceIndex(Primitive):
541
553
  r"""
@@ -566,6 +578,9 @@ class SequenceIndex(Primitive):
566
578
  """Initialize SequenceIndex"""
567
579
  self.init_prim_io_names(inputs=['sequence', 'target', 'start', 'end'], outputs=['output_data'])
568
580
 
581
+ def __call__(self, sequence, target, start=None, end=None):
582
+ return sequence.index(target, start, end)
583
+
569
584
 
570
585
  class SequenceMul(Primitive):
571
586
  r"""
@@ -594,6 +609,9 @@ class SequenceMul(Primitive):
594
609
  """Initialize SequenceMul"""
595
610
  self.init_prim_io_names(inputs=['sequence', 'scalar'], outputs=['output_data'])
596
611
 
612
+ def __call__(self, sequence, scalar):
613
+ return sequence * scalar
614
+
597
615
 
598
616
  class SequenceZerosLike(Primitive):
599
617
  r"""
@@ -946,6 +964,9 @@ class tuple_greater_than(Primitive):
946
964
  self.init_prim_io_names(
947
965
  inputs=['input_0', 'input_1'], outputs=['output_data'])
948
966
 
967
+ def __call__(self, x, y):
968
+ return x > y
969
+
949
970
 
950
971
  class tuple_greater_equal(Primitive):
951
972
  r"""
@@ -974,6 +995,9 @@ class tuple_greater_equal(Primitive):
974
995
  self.init_prim_io_names(
975
996
  inputs=['input_0', 'input_1'], outputs=['output_data'])
976
997
 
998
+ def __call__(self, x, y):
999
+ return x >= y
1000
+
977
1001
 
978
1002
  class list_greater_than(Primitive):
979
1003
  r"""
@@ -1002,6 +1026,9 @@ class list_greater_than(Primitive):
1002
1026
  self.init_prim_io_names(
1003
1027
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1004
1028
 
1029
+ def __call__(self, x, y):
1030
+ return x > y
1031
+
1005
1032
 
1006
1033
  class list_greater_equal(Primitive):
1007
1034
  r"""
@@ -1030,6 +1057,9 @@ class list_greater_equal(Primitive):
1030
1057
  self.init_prim_io_names(
1031
1058
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1032
1059
 
1060
+ def __call__(self, x, y):
1061
+ return x >= y
1062
+
1033
1063
 
1034
1064
  class tuple_lt(Primitive):
1035
1065
  r"""
@@ -1058,6 +1088,9 @@ class tuple_lt(Primitive):
1058
1088
  self.init_prim_io_names(
1059
1089
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1060
1090
 
1091
+ def __call__(self, x, y):
1092
+ return x < y
1093
+
1061
1094
 
1062
1095
  class list_lt(Primitive):
1063
1096
  r"""
@@ -1086,6 +1119,9 @@ class list_lt(Primitive):
1086
1119
  self.init_prim_io_names(
1087
1120
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1088
1121
 
1122
+ def __call__(self, x, y):
1123
+ return x < y
1124
+
1089
1125
 
1090
1126
  class tuple_le(Primitive):
1091
1127
  r"""
@@ -1114,6 +1150,9 @@ class tuple_le(Primitive):
1114
1150
  self.init_prim_io_names(
1115
1151
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1116
1152
 
1153
+ def __call__(self, x, y):
1154
+ return x <= y
1155
+
1117
1156
 
1118
1157
  class list_le(Primitive):
1119
1158
  r"""
@@ -1141,3 +1180,6 @@ class list_le(Primitive):
1141
1180
  """Initialize list_le"""
1142
1181
  self.init_prim_io_names(
1143
1182
  inputs=['input_0', 'input_1'], outputs=['output_data'])
1183
+
1184
+ def __call__(self, x, y):
1185
+ return x <= y
@@ -28,7 +28,8 @@ from mindspore.ops._utils import get_broadcast_shape
28
28
  from mindspore.common._utils import is_shape_unknown, is_dim_unknown
29
29
  from mindspore.ops.primitive import Primitive, PrimitiveWithInfer, PrimitiveWithCheck, prim_attr_register, _run_op
30
30
  from mindspore import _checkparam as validator
31
- from mindspore._checkparam import _check_3d_int_or_tuple, is_pack_tensor
31
+ from mindspore._checkparam import _check_3d_int_or_tuple
32
+ from mindspore.ops._tracefunc import PackFunc
32
33
  from mindspore.common import dtype as mstype
33
34
  from mindspore.common._decorator import deprecated
34
35
  from mindspore.common.parameter import Parameter
@@ -174,39 +175,11 @@ def _check_infer_attr_reduce(axis, keep_dims, prim_name):
174
175
 
175
176
  class Expand(Primitive):
176
177
  """
177
- Expands the Tensor along singleton dimensions(dim with size 1) to match given desired shape.
178
-
179
- .. warning::
180
- This is an experimental API that is subject to change or deletion.
181
-
182
- Refer to :func:`mindspore.ops.expand` for more details.
183
-
184
- Inputs:
185
- - **x** (Tensor) - The input tensor.
186
- - **shape** (Tensor) - The new shape of x.
187
-
188
- Outputs:
189
- Tensor after expansion, it shape is determined by `shape`.
190
-
191
- Supported Platforms:
192
- ``Ascend`` ``CPU``
193
-
194
- Examples:
195
- >>> x = Tensor(np.array([[1], [2], [3]]), mindspore.float32)
196
- >>> shape = Tensor(np.array([3,4]), mindspore.int32)
197
- >>> expand = ops.Expand()
198
- >>> y = expand(x, shape)
199
- >>> print(y)
200
- [[1. 1. 1. 1.]
201
- [2. 2. 2. 2.]
202
- [3. 3. 3. 3.]]
203
- >>> input_x = Tensor(2, mindspore.int16)
204
- >>> size = Tensor(np.array([1, 1]), mindspore.int32)
205
- >>> y = ops.Expand()(input_x, size)
206
- >>> print(y)
207
- [[2]]
178
+ :class:`mindspore.ops.Expand` will be deprecated in the future.
179
+ Please use :class:`mindspore.ops.BroadcastTo` instead.
208
180
  """
209
181
 
182
+ @deprecated("2.1", "BroadcastTo", False)
210
183
  @prim_attr_register
211
184
  def __init__(self):
212
185
  """Initialize Expand."""
@@ -216,7 +189,8 @@ class Expand(Primitive):
216
189
 
217
190
  class ExpandDims(PrimitiveWithCheck):
218
191
  """
219
- Adds an additional dimension to `input_x` at the given axis.
192
+ Adds an additional dimension to `input_x` at the given axis, the dimension of
193
+ `input_x` should be greater than or equal to 1.
220
194
 
221
195
  Refer to :func:`mindspore.ops.expand_dims` for more details.
222
196
 
@@ -243,11 +217,6 @@ class ExpandDims(PrimitiveWithCheck):
243
217
  >>> print(output)
244
218
  [[[2. 2.]
245
219
  [2. 2.]]]
246
- >>> input_tensor = Tensor(2.1+2j, mindspore.complex64)
247
- >>> expand_dims = ops.ExpandDims()
248
- >>> output = expand_dims(input_tensor, 0)
249
- >>> print(output)
250
- [2.1+2.j]
251
220
  """
252
221
 
253
222
  @prim_attr_register
@@ -380,7 +349,7 @@ class Cast(PrimitiveWithCheck):
380
349
  data = x.data
381
350
  if data.dtype == dtype:
382
351
  return (True, x)
383
- if isinstance(x, Tensor) and x.dtype == dtype and not is_pack_tensor(x):
352
+ if isinstance(x, Tensor) and x.dtype == dtype and not PackFunc.is_tracing():
384
353
  x = Tensor(x)
385
354
  x.set_cast_dtype()
386
355
  return (True, x)
@@ -404,9 +373,9 @@ class Cast(PrimitiveWithCheck):
404
373
  value = None
405
374
  np_dst_type = mstype.dtype_to_nptype(dst_type)
406
375
  if isinstance(x, (int, float)):
407
- value = Tensor(np.array(x).astype(np_dst_type))
376
+ value = Tensor(np.array(x).astype(np_dst_type), dtype=dst_type)
408
377
  else:
409
- value = Tensor(x.asnumpy().astype(np_dst_type))
378
+ value = Tensor(x.asnumpy().astype(np_dst_type), dtype=dst_type)
410
379
  return value
411
380
 
412
381
 
@@ -766,23 +735,6 @@ class Unsqueeze(PrimitiveWithCheck):
766
735
  self.axis = axis
767
736
 
768
737
 
769
- class DynamicShape(Primitive):
770
- """
771
- Same as operator TensorShape. DynamicShape will be deprecated in the future.
772
- Please use TensorShape instead.
773
-
774
- Supported Platforms:
775
- Deprecated
776
- """
777
-
778
- @deprecated("1.7", "TensorShape", True)
779
- @prim_attr_register
780
- def __init__(self, dtype=9):
781
- """init Shape"""
782
- self.init_prim_io_names(inputs=['tensor'], outputs=['output'])
783
- self.add_prim_attr('is_dynamic_shape', True)
784
-
785
-
786
738
  class Squeeze(Primitive):
787
739
  """
788
740
  Return the Tensor after deleting the dimension of size 1 in the specified `axis`.
@@ -1256,7 +1208,7 @@ class UniqueWithPad(Primitive):
1256
1208
 
1257
1209
 
1258
1210
  class Split(Primitive):
1259
- """
1211
+ r"""
1260
1212
  Splits the input tensor into output_num of tensors along the given axis and output numbers.
1261
1213
 
1262
1214
  Refer to :func:`mindspore.ops.split` for more details.
@@ -1270,7 +1222,7 @@ class Split(Primitive):
1270
1222
 
1271
1223
  Outputs:
1272
1224
  tuple[Tensor], the shape of each output tensor is the same, which is
1273
- :math:`(x_0, x_1, ..., x_{axis}/{output_num}, ..., x_{R-1})`.
1225
+ :math:`(x_0, x_1, ..., x_{axis}/{output\_num}, ..., x_{R-1})`.
1274
1226
  And the data type is the same as `input_x`.
1275
1227
 
1276
1228
  Supported Platforms:
@@ -1358,7 +1310,7 @@ class Size(Primitive):
1358
1310
 
1359
1311
  Inputs:
1360
1312
  - **input_x** (Tensor) - Input parameters, the shape of tensor is :math:`(x_1, x_2, ..., x_R)`. The data type is
1361
- `number <https://www.mindspore.cn/docs/en/r2.1/api_python/mindspore.html#mindspore.dtype>`_.
1313
+ `number <https://www.mindspore.cn/docs/en/r2.2/api_python/mindspore.html#mindspore.dtype>`_.
1362
1314
 
1363
1315
  Outputs:
1364
1316
  int. A scalar representing the elements' size of `input_x`, tensor is the number of elements
@@ -1479,10 +1431,20 @@ class MatrixDiagPartV3(Primitive):
1479
1431
  Refer to :func:`mindspore.ops.matrix_diag_part` for more details.
1480
1432
 
1481
1433
  Args:
1482
- align (str, optional): An optional string from: "RIGHT_LEFT"(default),
1483
- "LEFT_RIGHT", "LEFT_LEFT", "RIGHT_RIGHT".
1484
- It specifies how superdiagonals and subdiagonals should be aligned, respectively. "RIGHT_LEFT"
1485
- aligns superdiagonals to the right (left-pads the row) and subdiagonals to the left (right-pads the row).
1434
+ align (str, optional): specifies how superdiagonals and subdiagonals should be aligned.
1435
+ Supported values: ``"RIGHT_LEFT"`` , ``"LEFT_RIGHT"`` , ``"LEFT_LEFT"`` , ``"RIGHT_RIGHT"`` .
1436
+ Default: ``"RIGHT_LEFT"`` .
1437
+
1438
+ - When set to ``"RIGHT_LEFT"`` , the alignment of superdiagonals will be towards the right side
1439
+ (padding the row on the left), while subdiagonals will be towards the left side
1440
+ (padding the row on the right)
1441
+ - When set to ``"LEFT_RIGHT"`` , the alignment of superdiagonals will be towards the left side
1442
+ (padding the row on the right), while subdiagonals will be towards the right side
1443
+ (padding the row on the left)
1444
+ - When set to ``"LEFT_LEFT"`` , the alignment of both superdiagonals and subdiagonals will be towards
1445
+ the left side(padding the row on the right).
1446
+ - When set to ``"RIGHT_RIGHT"`` , the alignment of both superdiagonals and subdiagonals will be towards
1447
+ the right side(padding the row on the left).
1486
1448
 
1487
1449
  Inputs:
1488
1450
  - **x** (Tensor) - Rank r, where r >= 2.
@@ -1721,7 +1683,7 @@ class Fill(PrimitiveWithCheck):
1721
1683
  if isinstance(x, Tensor):
1722
1684
  x = x.asnumpy()
1723
1685
  ret = np.full(dims, x, x_nptype)
1724
- return Tensor(ret)
1686
+ return Tensor(ret, dtype=dtype)
1725
1687
 
1726
1688
  def infer_value(self, dtype, dims, x):
1727
1689
  x_nptype = mstype.dtype_to_nptype(dtype)
@@ -1731,7 +1693,7 @@ class Fill(PrimitiveWithCheck):
1731
1693
  if isinstance(x, Tensor):
1732
1694
  x = x.asnumpy()
1733
1695
  ret = np.full(dims, x, x_nptype)
1734
- return Tensor(ret)
1696
+ return Tensor(ret, dtype=dtype)
1735
1697
  return None
1736
1698
 
1737
1699
 
@@ -1800,15 +1762,21 @@ class FillV2(PrimitiveWithCheck):
1800
1762
  """Initialize FillV2"""
1801
1763
  self.init_prim_io_names(inputs=['shape', 'value'], outputs=['y'])
1802
1764
 
1765
+ def check_elim(self, dims, x):
1766
+ x_is_invalid = x is None or (not isinstance(x, (Tensor, Tensor_))) or (x.shape != ())
1767
+ dims_is_invalid = dims is None or (isinstance(dims, (tuple, list)) and dims) or\
1768
+ isinstance(dims, (Tensor, Tensor_))
1769
+ if x_is_invalid or dims_is_invalid:
1770
+ return (False, None)
1771
+ return (True, x)
1772
+
1803
1773
  def infer_value(self, dims, x):
1804
- if isinstance(dims, (Tensor, Tensor_)):
1805
- dims = dims.asnumpy()
1806
- if isinstance(x, (Tensor, Tensor_)):
1807
- x = x.asnumpy()
1808
- if dims is not None and None not in dims and x is not None:
1809
- ret = np.full(dims, x)
1810
- return Tensor(ret)
1811
- return None
1774
+ dims_is_invalid = dims is None or\
1775
+ (isinstance(dims, (tuple, list)) and dims) or\
1776
+ isinstance(dims, (Tensor, Tensor_))
1777
+ if x is None or dims_is_invalid:
1778
+ return None
1779
+ return x
1812
1780
 
1813
1781
 
1814
1782
  class Ones(Primitive):
@@ -1997,7 +1965,8 @@ class TupleToArray(PrimitiveWithInfer):
1997
1965
  ret = np.array(x, np.float32)
1998
1966
  return Tensor(ret)
1999
1967
 
2000
- def __call__(self, x):
1968
+ def __call__(self, *args):
1969
+ x, = args
2001
1970
  args = list()
2002
1971
  if isinstance(x, range):
2003
1972
  args.append(tuple(x))
@@ -2006,24 +1975,6 @@ class TupleToArray(PrimitiveWithInfer):
2006
1975
  return _run_op(self, self.name, args)
2007
1976
 
2008
1977
 
2009
- class ScalarToArray(PrimitiveWithInfer):
2010
- """
2011
- The `ScalarToArray` primitive is deprecated. Please use the :class:`mindspore.ops.ScalarToTensor` instead.
2012
- """
2013
- @deprecated("2.0", "ops.scalar_to_tensor", False)
2014
- @prim_attr_register
2015
- def __init__(self):
2016
- pass
2017
-
2018
- def infer_value(self, x):
2019
- validator.check_value_type("x", x, [int, float], self.name)
2020
- if isinstance(x, int):
2021
- ret = np.array(x, np.int32)
2022
- else:
2023
- ret = np.array(x, np.float32)
2024
- return Tensor(ret)
2025
-
2026
-
2027
1978
  class ScalarToTensor(PrimitiveWithInfer):
2028
1979
  """
2029
1980
  Converts a scalar to a `Tensor`, and converts the data type to the specified type.
@@ -2059,7 +2010,7 @@ class ScalarToTensor(PrimitiveWithInfer):
2059
2010
  validator.check_value_type("x", x, [bool, int, float], self.name)
2060
2011
  validator.check_subclass("dtype", dtype, mstype.number, self.name)
2061
2012
  data_type = mstype.dtype_to_nptype(dtype)
2062
- return Tensor(np.array(x, data_type))
2013
+ return Tensor(np.array(x, data_type), dtype=dtype)
2063
2014
 
2064
2015
 
2065
2016
  class InvertPermutation(PrimitiveWithInfer):
@@ -2479,7 +2430,10 @@ class Tile(PrimitiveWithInfer):
2479
2430
  """Initialize Tile"""
2480
2431
  self.init_prim_io_names(inputs=['x', 'multiples'], outputs=['output'])
2481
2432
 
2482
- def check_elim(self, base_tensor, multiplier):
2433
+ def check_elim(self, *args):
2434
+ base_tensor, multiplier = args
2435
+ if PackFunc.is_tracing() and not PackFunc.current.is_pynative_mode:
2436
+ return (False, None)
2483
2437
  if not isinstance(base_tensor, Tensor):
2484
2438
  raise TypeError(f"For '{self.name}', the type of 'input_x' must be Tensor, "
2485
2439
  f"but got {type(base_tensor).__name__}.")
@@ -2999,7 +2953,7 @@ def _get_stack_shape(value, x_shape, x_type, axis, prim_name):
2999
2953
  out_n = len(x_shape)
3000
2954
  for i in range(1, out_n):
3001
2955
  if x_type[i] != x_type[i-1]:
3002
- raise TypeError("For \'{}\', all types should be same, but got {}".format(prim_name, x_type))
2956
+ raise TypeError(f"For {prim_name}, all types should be same, but got {x_type}")
3003
2957
 
3004
2958
  new_x_shape = []
3005
2959
  for i, shp in enumerate(x_shape):
@@ -3021,8 +2975,8 @@ def _get_stack_shape(value, x_shape, x_type, axis, prim_name):
3021
2975
  for j in range(0, rank_base):
3022
2976
  if new_x_shape[i]["shape"][j] != new_x_shape[0]["shape"][j] and \
3023
2977
  new_x_shape[i]["shape"][j] != -1 and new_x_shape[0]["shape"][j] != -1:
3024
- raise ValueError("For \'{}\' element {} shape in input can not pack with first element".format(
3025
- prim_name, new_x_shape[i]['id']))
2978
+ raise ValueError(f"For {prim_name} element {new_x_shape[i]['id']} shape"
2979
+ f"in input can not pack with first element")
3026
2980
 
3027
2981
  validator.check_int_range(axis, -rank_base - 1, rank_base, validator.INC_BOTH, 'axis', prim_name)
3028
2982
  if axis < 0:
@@ -3038,30 +2992,6 @@ def _get_stack_shape(value, x_shape, x_type, axis, prim_name):
3038
2992
  return out_shape
3039
2993
 
3040
2994
 
3041
- class Pack(PrimitiveWithInfer):
3042
- """
3043
- Same as operator Stack. Pack will be deprecated in the future.
3044
- Please use Stack instead.
3045
- """
3046
-
3047
- @deprecated("1.1", "Stack", True)
3048
- @prim_attr_register
3049
- def __init__(self, axis=0):
3050
- """Initialize Pack"""
3051
- validator.check_value_type("axis", axis, [int], self.name)
3052
- self.axis = axis
3053
-
3054
- def __infer__(self, value):
3055
- x_shape = value['shape']
3056
- x_type = value['dtype']
3057
- self.add_prim_attr('num', len(x_shape))
3058
- all_shape = _get_stack_shape(value, x_shape, x_type, self.axis, self.name)
3059
- out = {'shape': all_shape,
3060
- 'dtype': x_type[0],
3061
- 'value': None}
3062
- return out
3063
-
3064
-
3065
2995
  class Stack(PrimitiveWithInfer):
3066
2996
  r"""
3067
2997
  Stacks a list of tensors in specified axis.
@@ -3138,47 +3068,6 @@ class Stack(PrimitiveWithInfer):
3138
3068
  return out
3139
3069
 
3140
3070
 
3141
- class Unpack(PrimitiveWithInfer):
3142
- """
3143
- Same as operator Unstack. Unpack will be deprecated in the future.
3144
- Please use Unstack instead.
3145
- """
3146
-
3147
- @deprecated("1.1", "Unstack", True)
3148
- @prim_attr_register
3149
- def __init__(self, axis=0):
3150
- """Initialize Unpack"""
3151
- validator.check_value_type("axis", axis, [int], self.name)
3152
- self.axis = axis
3153
-
3154
- def __infer__(self, x):
3155
- validator.check_subclass("x", x['dtype'], mstype.tensor_type, self.name)
3156
- x_shape = list(x['shape'])
3157
- dim = len(x_shape)
3158
- validator.check_int_range(self.axis, -dim, dim, validator.INC_LEFT, 'axis value', self.name)
3159
- if self.axis < 0:
3160
- self.axis = self.axis + dim
3161
- output_num = x_shape[self.axis]
3162
- validator.check_value_type("num", output_num, [int], self.name)
3163
- validator.check_positive_int(output_num, "output_num", self.name)
3164
- self.add_prim_attr('num', output_num)
3165
- output_valid_check = x_shape[self.axis] - output_num
3166
- validator.check_int(output_valid_check, 0, validator.EQ,
3167
- "The dimension which to unstack divides output_num", self.name)
3168
- out_shapes = []
3169
- out_dtypes = []
3170
- out_shape = x_shape[:self.axis] + x_shape[self.axis + 1:]
3171
- for _ in range(output_num):
3172
- out_shapes.append(tuple(out_shape))
3173
- out_dtypes.append(x['dtype'])
3174
- out_shapes = tuple(out_shapes)
3175
- out_dtypes = tuple(out_dtypes)
3176
- out = {'shape': out_shapes,
3177
- 'dtype': out_dtypes,
3178
- 'value': None}
3179
- return out
3180
-
3181
-
3182
3071
  class Unstack(Primitive):
3183
3072
  r"""
3184
3073
  Unstacks tensor in specified axis, this is the opposite of ops.Stack.
@@ -3377,6 +3266,9 @@ class ReverseV2(Primitive):
3377
3266
  for i, each in enumerate(axis):
3378
3267
  validator.check_value_type(f'axis[{i}]', each, [int], self.name)
3379
3268
  self.axis = axis
3269
+ if isinstance(axis, list):
3270
+ self.axis = tuple(axis)
3271
+ self.add_prim_attr('axis', self.axis)
3380
3272
  self.init_prim_io_names(inputs=['x'], outputs=['output'])
3381
3273
 
3382
3274
 
@@ -3538,9 +3430,7 @@ class StridedSlice(PrimitiveWithInfer):
3538
3430
  Inputs:
3539
3431
  - **input_x** (Tensor) - The input Tensor to be extracted from.
3540
3432
  - **begin** (tuple[int]) - A tuple which represents the location where to start.
3541
- Only non-negative int is allowed.
3542
3433
  - **end** (tuple[int]) - A tuple or which represents the maximum location where to end.
3543
- Only non-negative int is allowed.
3544
3434
  - **strides** (tuple[int]) - A tuple which represents the strides is continuously added
3545
3435
  before reaching the maximum location. Only int is allowed, it can be negative
3546
3436
  which results in reversed slicing.
@@ -3655,10 +3545,10 @@ class StridedSlice(PrimitiveWithInfer):
3655
3545
  end_v, end_len = self._check_and_get_value(end, 'end')
3656
3546
  strides_v, strides_len = self._check_and_get_value(strides, 'strides')
3657
3547
 
3658
- is_dynamic_tuple = (self._is_none_in_tuple(begin_v['value'])
3659
- or self._is_none_in_tuple(end_v['value'])
3660
- or self._is_none_in_tuple(strides_v['value']))
3661
- is_dynamic = None in (begin_v['value'], end_v['value'], strides_v['value'])
3548
+ is_dynamic_tuple = (self._is_none_in_tuple(begin_v.get('value'))
3549
+ or self._is_none_in_tuple(end_v.get('value'))
3550
+ or self._is_none_in_tuple(strides_v.get('value')))
3551
+ is_dynamic = None in (begin_v.get('value'), end_v.get('value'), strides_v.get('value'))
3662
3552
 
3663
3553
  if not is_dynamic and (begin_len != strides_len or end_len != strides_len):
3664
3554
  raise ValueError(
@@ -4047,7 +3937,7 @@ class DiagPart(PrimitiveWithCheck):
4047
3937
 
4048
3938
  If the `input_x` is a Tensor of shape :math:`[D_1,..., D_k, D_1,..., D_k]`, then the
4049
3939
  output will be a Tensor of rank k of shape :math:`[D_1,..., D_k]` where:
4050
- :math:`output[i_1,..., i_k] = input_x[i_1,..., i_k, i_1,..., i_k]`.
3940
+ :math:`output[i_1,..., i_k] = input\_x[i_1,..., i_k, i_1,..., i_k]`.
4051
3941
 
4052
3942
  Inputs:
4053
3943
  - **input_x** (Tensor) - The rank of input tensor is 2k(k > 0).
@@ -5626,67 +5516,6 @@ class ScatterNdMin(_ScatterNdOp):
5626
5516
  super().__init__(use_locking)
5627
5517
 
5628
5518
 
5629
- class ScatterNonAliasingAdd(Primitive):
5630
- """
5631
- The ScatterNonAliasingAdd Interface is deprecated from version 2.1.
5632
- Please use :class:`mindspore.ops.TensorScatterAdd` instead.
5633
- This interface may has precision error on Ascend and will be removed in a future version.
5634
-
5635
- Applies sparse addition to the input using individual values or slices.
5636
-
5637
- Using given values to update tensor value through the add operation, along with the input indices.
5638
- This operation outputs the `input_x` after the update is done, which makes it convenient to use the updated value.
5639
-
5640
- Inputs of `input_x` and `updates` comply with the implicit type conversion rules to make the data types consistent.
5641
- If they have different data types, the lower priority data type will be converted to
5642
- the relatively highest priority data type.
5643
-
5644
- Inputs:
5645
- - **input_x** (Parameter) - The target parameter. The data type must be float16, float32 or int32.
5646
- - **indices** (Tensor) - The index to perform the addition operation whose data type must be mindspore.int32.
5647
- - **updates** (Tensor) - The tensor that performs the addition operation with `input_x`,
5648
- the data type is the same as `input_x`, the shape is `indices.shape[:-1] + x.shape[indices.shape[-1]:]`.
5649
-
5650
- Outputs:
5651
- Parameter, the updated `input_x`.
5652
-
5653
- Raises:
5654
- TypeError: If dtype of `indices` is not int32.
5655
- TypeError: If dtype of `input_x` is not one of float16, float32, int32.
5656
- ValueError: If the shape of `updates` is not equal to `indices.shape[:-1] + x.shape[indices.shape[-1]:]`.
5657
- RuntimeError: If the data type of `input_x` and `updates` conversion of Parameter
5658
- is required when data type conversion of Parameter is not supported.
5659
-
5660
- Supported Platforms:
5661
- Deprecated
5662
-
5663
- Examples:
5664
- >>> import mindspore
5665
- >>> import numpy as np
5666
- >>> from mindspore import Tensor, ops, Parameter
5667
- >>> input_x = Parameter(Tensor(np.array([1, 2, 3, 4, 5, 6, 7, 8]), mindspore.float32), name="x")
5668
- >>> indices = Tensor(np.array([[2], [4], [1], [7]]), mindspore.int32)
5669
- >>> updates = Tensor(np.array([6, 7, 8, 9]), mindspore.float32)
5670
- >>> scatter_non_aliasing_add = ops.ScatterNonAliasingAdd()
5671
- >>> output = scatter_non_aliasing_add(input_x, indices, updates)
5672
- >>> print(output)
5673
- [ 1. 10. 9. 4. 12. 6. 7. 17.]
5674
- """
5675
-
5676
- __mindspore_signature__ = (
5677
- sig.make_sig('input_x', sig.sig_rw.RW_WRITE, dtype=sig.sig_dtype.T),
5678
- sig.make_sig('indices', dtype=sig.sig_dtype.T1),
5679
- sig.make_sig('updates', dtype=sig.sig_dtype.T)
5680
- )
5681
-
5682
- @deprecated("2.1", "ops.ScatterNonAliasingAdd", False)
5683
- @prim_attr_register
5684
- def __init__(self):
5685
- """Initialize ScatterNonAliasingAdd"""
5686
- self.init_prim_io_names(inputs=['input_x', 'indices', 'updates'], outputs=['y'])
5687
- self.add_prim_attr('side_effect_mem', True)
5688
-
5689
-
5690
5519
  class SpaceToDepth(Primitive):
5691
5520
  r"""
5692
5521
  Rearrange blocks of spatial data into depth.
@@ -6049,54 +5878,6 @@ class SpaceToBatchND(Primitive):
6049
5878
  self.paddings = paddings
6050
5879
 
6051
5880
 
6052
- class BatchToSpaceND(Primitive):
6053
- r"""
6054
- :class:`mindspore.ops.BatchToSpaceND` is deprecated from version 2.0 and will be removed in a future version,
6055
- use :func:`mindspore.ops.batch_to_space_nd` instead.
6056
-
6057
- Supported Platforms:
6058
- ``Ascend`` ``GPU`` ``CPU``
6059
-
6060
- Examples:
6061
- >>> import mindspore
6062
- >>> import numpy as np
6063
- >>> from mindspore import Tensor, ops
6064
- >>> block_size = 2
6065
- >>> crops = [[0, 0], [0, 0]]
6066
- >>> batch_to_space = ops.BatchToSpaceND(block_size, crops)
6067
- >>> input_x = Tensor(np.array([[[[1]]], [[[2]]], [[[3]]], [[[4]]]]), mindspore.float32)
6068
- >>> output = batch_to_space(input_x)
6069
- >>> print(output)
6070
- [[[[1. 2.]
6071
- [3. 4.]]]]
6072
- """
6073
-
6074
- @deprecated("2.0", "ops.batch_to_space_nd", False)
6075
- @prim_attr_register
6076
- def __init__(self, block_shape, crops):
6077
- """Initialize BatchToSpaceND"""
6078
- if isinstance(block_shape, int):
6079
- block_shape = (block_shape,) * np.array(crops).shape[0]
6080
- self.add_prim_attr("block_shape", block_shape)
6081
- validator.check_value_type('block_shape type', block_shape, [list, tuple], self.name)
6082
- validator.check('block_shape shape', len(np.array(block_shape).shape), '', 1, validator.EQ, self.name)
6083
- block_rank = len(block_shape)
6084
- if context.get_context("device_target") == "Ascend":
6085
- validator.check('block_shape length', block_rank, '', 2, validator.EQ, self.name)
6086
- for elem in block_shape:
6087
- validator.check('block_shape element', elem, '', 1, validator.GE, self.name)
6088
- validator.check_value_type('block_shape element', elem, [int], self.name)
6089
- self.block_shape = block_shape
6090
-
6091
- validator.check_value_type('crops type', crops, [list, tuple], self.name)
6092
- validator.check('crops length', len(crops), '', 1, validator.GE, self.name)
6093
- validator.check('crops shape', np.array(crops).shape, '', (block_rank, 2), validator.EQ, self.name)
6094
- for elem in itertools.chain(*crops):
6095
- validator.check_non_negative_int(elem, 'crops element', self.name)
6096
- validator.check_value_type('crops element', elem, [int], self.name)
6097
- self.crops = crops
6098
-
6099
-
6100
5881
  class BatchToSpaceNDV2(Primitive):
6101
5882
  r"""
6102
5883
  Divides batch dimension with blocks and interleaves these blocks back into spatial dimensions.
@@ -6300,7 +6081,7 @@ class Meshgrid(PrimitiveWithInfer):
6300
6081
 
6301
6082
 
6302
6083
  class ReverseSequence(PrimitiveWithInfer):
6303
- """
6084
+ r"""
6304
6085
  Reverses variable length slices.
6305
6086
 
6306
6087
  Args:
@@ -6316,7 +6097,12 @@ class ReverseSequence(PrimitiveWithInfer):
6316
6097
 
6317
6098
  Raises:
6318
6099
  TypeError: If `seq_dim` or `batch_dim` is not an int.
6319
- ValueError: If value of `batch_dim` is equal to or greater than length of shape of `x` .
6100
+ ValueError: If :math:`len(seq\_lengths) != x.shape[batch\_dim]`.
6101
+ ValueError: If :math:`batch\_dim == seq\_dim`.
6102
+ ValueError: If :math:`seq\_dim < 0` or :math:`seq\_dim >= len(x.shape)`.
6103
+ ValueError: If :math:`batch\_dim < 0` or :math:`batch\_dim >= len(x.shape)`.
6104
+ RuntimeError: If any value of `seq_lengths` is less than 0.
6105
+ RuntimeError: If any value of `seq_lengths` is larger than `x.shape[seq_dim]`.
6320
6106
 
6321
6107
  Supported Platforms:
6322
6108
  ``Ascend`` ``GPU`` ``CPU``