mindspore 2.1.0__cp37-none-any.whl → 2.2.11__cp37-none-any.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 (577) 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 +139 -22
  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/cann_file_parser.py +76 -0
  20. mindspore/_akg/akg/utils/ascend_profilier/file_manager.py +56 -0
  21. mindspore/_akg/akg/utils/ascend_profilier/op_summary_bean.py +23 -0
  22. mindspore/_akg/akg/utils/ascend_profilier/op_summary_headers.py +8 -0
  23. mindspore/_akg/akg/utils/ascend_profilier/op_summary_parser.py +42 -0
  24. mindspore/_akg/akg/utils/ascend_profilier/path_manager.py +65 -0
  25. mindspore/_akg/akg/utils/composite_op_helper.py +16 -12
  26. mindspore/_akg/akg/utils/dump_ascend_meta.py +22 -3
  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 +56 -1
  31. mindspore/_c_dataengine.cpython-37m-aarch64-linux-gnu.so +0 -0
  32. mindspore/_c_expression.cpython-37m-aarch64-linux-gnu.so +0 -0
  33. mindspore/_c_mindrecord.cpython-37m-aarch64-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 +13 -15
  49. mindspore/_extends/parse/namespace.py +7 -33
  50. mindspore/_extends/parse/parser.py +67 -72
  51. mindspore/_extends/parse/resources.py +1 -1
  52. mindspore/_extends/parse/standard_method.py +86 -106
  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-37m-aarch64-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 +29 -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 +33 -7
  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.15 +0 -0
  164. mindspore/lib/libmindspore_shared_lib.so +0 -0
  165. mindspore/lib/libnnacl.so +0 -0
  166. mindspore/lib/libopencv_core.so.4.5 +0 -0
  167. mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
  168. mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
  169. mindspore/lib/libps_cache.so +0 -0
  170. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310/aic-ascend310-ops-info.json +123 -0
  171. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310p/aic-ascend310p-ops-info.json +123 -0
  172. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +158 -0
  173. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +37 -0
  174. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
  175. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
  176. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
  177. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
  178. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
  179. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
  180. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
  181. mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
  182. mindspore/lib/plugin/ascend/custom_aicore_ops/op_proto/libop_proto.so +0 -0
  183. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
  184. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
  185. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +8998 -0
  186. mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
  187. mindspore/lib/plugin/ascend/libakg.so +0 -0
  188. mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
  189. mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
  190. mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
  191. mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
  192. mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
  193. mindspore/lib/plugin/cpu/libakg.so +0 -0
  194. mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
  195. mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
  196. mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
  197. mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
  198. mindspore/nn/__init__.py +0 -2
  199. mindspore/nn/cell.py +313 -74
  200. mindspore/nn/dynamic_lr.py +21 -21
  201. mindspore/nn/layer/activation.py +22 -30
  202. mindspore/nn/layer/basic.py +15 -13
  203. mindspore/nn/layer/channel_shuffle.py +1 -1
  204. mindspore/nn/layer/container.py +271 -9
  205. mindspore/nn/layer/conv.py +323 -204
  206. mindspore/nn/layer/dense.py +8 -5
  207. mindspore/nn/layer/embedding.py +33 -27
  208. mindspore/nn/layer/flash_attention.py +61 -95
  209. mindspore/nn/layer/image.py +8 -6
  210. mindspore/nn/layer/math.py +16 -25
  211. mindspore/nn/layer/normalization.py +107 -66
  212. mindspore/nn/layer/padding.py +1 -1
  213. mindspore/nn/layer/pooling.py +131 -109
  214. mindspore/nn/layer/rnn_cells.py +27 -22
  215. mindspore/nn/layer/rnns.py +13 -16
  216. mindspore/nn/layer/thor_layer.py +1 -1
  217. mindspore/nn/layer/transformer.py +221 -154
  218. mindspore/nn/learning_rate_schedule.py +9 -1
  219. mindspore/nn/loss/loss.py +235 -174
  220. mindspore/nn/optim/ada_grad.py +2 -1
  221. mindspore/nn/optim/adadelta.py +1 -0
  222. mindspore/nn/optim/adafactor.py +2 -1
  223. mindspore/nn/optim/adam.py +7 -4
  224. mindspore/nn/optim/adamax.py +3 -2
  225. mindspore/nn/optim/adasum.py +2 -2
  226. mindspore/nn/optim/asgd.py +2 -3
  227. mindspore/nn/optim/ftrl.py +6 -5
  228. mindspore/nn/optim/lamb.py +7 -4
  229. mindspore/nn/optim/lars.py +1 -1
  230. mindspore/nn/optim/lazyadam.py +5 -3
  231. mindspore/nn/optim/momentum.py +2 -1
  232. mindspore/nn/optim/optimizer.py +53 -4
  233. mindspore/nn/optim/proximal_ada_grad.py +3 -4
  234. mindspore/nn/optim/rmsprop.py +4 -3
  235. mindspore/nn/optim/rprop.py +23 -12
  236. mindspore/nn/optim/sgd.py +26 -11
  237. mindspore/nn/optim/thor.py +9 -7
  238. mindspore/nn/probability/bijector/bijector.py +5 -5
  239. mindspore/nn/probability/bijector/power_transform.py +27 -27
  240. mindspore/nn/probability/bijector/softplus.py +3 -3
  241. mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
  242. mindspore/nn/probability/distribution/bernoulli.py +5 -5
  243. mindspore/nn/probability/distribution/beta.py +3 -3
  244. mindspore/nn/probability/distribution/categorical.py +7 -7
  245. mindspore/nn/probability/distribution/cauchy.py +0 -1
  246. mindspore/nn/probability/distribution/distribution.py +3 -3
  247. mindspore/nn/probability/distribution/gamma.py +3 -3
  248. mindspore/nn/probability/distribution/geometric.py +4 -4
  249. mindspore/nn/probability/distribution/gumbel.py +4 -4
  250. mindspore/nn/probability/distribution/log_normal.py +2 -2
  251. mindspore/nn/probability/distribution/logistic.py +2 -2
  252. mindspore/nn/probability/distribution/poisson.py +4 -4
  253. mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
  254. mindspore/nn/probability/distribution/uniform.py +6 -6
  255. mindspore/nn/wrap/__init__.py +4 -2
  256. mindspore/nn/wrap/cell_wrapper.py +87 -34
  257. mindspore/nn/wrap/grad_reducer.py +8 -5
  258. mindspore/nn/wrap/loss_scale.py +105 -42
  259. mindspore/numpy/array_creations.py +1 -2
  260. mindspore/numpy/array_ops.py +3 -2
  261. mindspore/numpy/utils_const.py +5 -5
  262. mindspore/offline_debug/convert_async.py +2 -2
  263. mindspore/ops/_grad_experimental/__init__.py +0 -5
  264. mindspore/ops/_grad_experimental/grad_array_ops.py +2 -3
  265. mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
  266. mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
  267. mindspore/ops/_grad_experimental/grad_implementations.py +11 -1
  268. mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
  269. mindspore/ops/_grad_experimental/grad_math_ops.py +19 -199
  270. mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
  271. mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
  272. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
  273. mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
  274. mindspore/ops/_op_impl/aicpu/add.py +3 -3
  275. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
  276. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  277. mindspore/ops/_op_impl/{_custom_op/flash_attention/constants.py → aicpu/eps.py} +18 -27
  278. mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
  279. mindspore/ops/_op_impl/aicpu/linear_sum_assignment.py +21 -2
  280. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
  281. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
  282. mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
  283. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
  284. mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
  285. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
  286. mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
  287. mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
  288. mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
  289. mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
  290. mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
  291. mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
  292. mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
  293. mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
  294. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
  295. mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
  296. mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
  297. mindspore/ops/_op_impl/tbe/__init__.py +4 -4
  298. mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
  299. mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
  300. mindspore/ops/_primitive_cache.py +1 -1
  301. mindspore/ops/_tracefunc.py +45 -13
  302. mindspore/ops/_utils/utils.py +6 -1
  303. mindspore/ops/_vmap/vmap_array_ops.py +3 -3
  304. mindspore/ops/_vmap/vmap_base.py +3 -3
  305. mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
  306. mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
  307. mindspore/ops/_vmap/vmap_math_ops.py +5 -2
  308. mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
  309. mindspore/ops/arg_dtype_cast.py +54 -0
  310. mindspore/ops/composite/base.py +37 -10
  311. mindspore/ops/composite/math_ops.py +5 -4
  312. mindspore/ops/composite/multitype_ops/_compile_utils.py +275 -73
  313. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
  314. mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
  315. mindspore/ops/composite/multitype_ops/getitem_impl.py +42 -4
  316. mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
  317. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  318. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
  319. mindspore/ops/deprecated.py +304 -0
  320. mindspore/ops/function/__init__.py +4 -1
  321. mindspore/ops/function/array_func.py +174 -193
  322. mindspore/ops/function/clip_func.py +81 -13
  323. mindspore/ops/function/debug_func.py +1 -1
  324. mindspore/ops/function/grad/grad_func.py +18 -9
  325. mindspore/ops/function/image_func.py +10 -4
  326. mindspore/ops/function/linalg_func.py +5 -5
  327. mindspore/ops/function/math_func.py +575 -386
  328. mindspore/ops/function/nn_func.py +568 -260
  329. mindspore/ops/function/random_func.py +88 -57
  330. mindspore/ops/function/sparse_func.py +1 -1
  331. mindspore/ops/function/sparse_unary_func.py +14 -12
  332. mindspore/ops/function/vmap_func.py +6 -5
  333. mindspore/ops/functional.py +15 -10
  334. mindspore/ops/op_info_register.py +244 -25
  335. mindspore/ops/operations/__init__.py +31 -19
  336. mindspore/ops/operations/_grad_ops.py +71 -7
  337. mindspore/ops/operations/_inner_ops.py +350 -17
  338. mindspore/ops/operations/_quant_ops.py +4 -8
  339. mindspore/ops/operations/_sequence_ops.py +42 -0
  340. mindspore/ops/operations/array_ops.py +68 -282
  341. mindspore/ops/operations/comm_ops.py +107 -59
  342. mindspore/ops/operations/custom_ops.py +94 -70
  343. mindspore/ops/operations/debug_ops.py +8 -4
  344. mindspore/ops/operations/image_ops.py +18 -12
  345. mindspore/ops/operations/inner_ops.py +26 -3
  346. mindspore/ops/operations/math_ops.py +192 -144
  347. mindspore/ops/operations/nn_ops.py +857 -489
  348. mindspore/ops/operations/other_ops.py +0 -22
  349. mindspore/ops/operations/random_ops.py +53 -111
  350. mindspore/ops/operations/sparse_ops.py +3 -1
  351. mindspore/ops/primitive.py +24 -18
  352. mindspore/parallel/_auto_parallel_context.py +68 -8
  353. mindspore/parallel/_cost_model_context.py +2 -2
  354. mindspore/parallel/_offload_context.py +17 -3
  355. mindspore/parallel/_parallel_serialization.py +12 -5
  356. mindspore/parallel/_ps_context.py +12 -0
  357. mindspore/parallel/_tensor.py +18 -13
  358. mindspore/parallel/_transformer/layers.py +5 -3
  359. mindspore/parallel/_transformer/loss.py +1 -0
  360. mindspore/parallel/_transformer/moe.py +2 -2
  361. mindspore/parallel/_transformer/op_parallel_config.py +12 -1
  362. mindspore/parallel/_transformer/transformer.py +23 -3
  363. mindspore/parallel/_utils.py +11 -7
  364. mindspore/parallel/algo_parameter_config.py +85 -5
  365. mindspore/parallel/checkpoint_transform.py +19 -12
  366. mindspore/parallel/shard.py +21 -14
  367. mindspore/profiler/common/struct_type.py +3 -3
  368. mindspore/profiler/common/util.py +4 -2
  369. mindspore/profiler/envprofiling.py +1 -1
  370. mindspore/profiler/parser/aicpu_data_parser.py +5 -3
  371. mindspore/profiler/parser/ascend_flops_generator.py +2 -2
  372. mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
  373. mindspore/profiler/parser/ascend_hccl_generator.py +249 -12
  374. mindspore/profiler/parser/ascend_msprof_exporter.py +150 -255
  375. mindspore/profiler/parser/ascend_msprof_generator.py +204 -17
  376. mindspore/profiler/parser/ascend_op_generator.py +6 -6
  377. mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
  378. mindspore/profiler/parser/ascend_timeline_generator.py +14 -187
  379. mindspore/profiler/parser/base_timeline_generator.py +10 -8
  380. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +16 -12
  381. mindspore/profiler/parser/flops_parser.py +15 -11
  382. mindspore/profiler/parser/framework_parser.py +38 -22
  383. mindspore/profiler/parser/hccl_parser.py +16 -12
  384. mindspore/profiler/parser/integrator.py +22 -11
  385. mindspore/profiler/parser/memory_usage_parser.py +2 -2
  386. mindspore/profiler/parser/minddata_analyzer.py +12 -14
  387. mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
  388. mindspore/profiler/parser/msadvisor_parser.py +8 -4
  389. mindspore/profiler/parser/op_intermediate_parser.py +5 -2
  390. mindspore/profiler/parser/optime_parser.py +1 -1
  391. mindspore/profiler/parser/profiler_info.py +21 -2
  392. mindspore/profiler/parser/step_trace_parser.py +11 -14
  393. mindspore/profiler/profiling.py +179 -89
  394. mindspore/rewrite/api/node.py +102 -19
  395. mindspore/rewrite/api/node_type.py +5 -1
  396. mindspore/rewrite/api/pattern_engine.py +1 -1
  397. mindspore/rewrite/api/scoped_value.py +9 -17
  398. mindspore/rewrite/api/symbol_tree.py +131 -47
  399. mindspore/rewrite/ast_helpers/__init__.py +2 -1
  400. mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
  401. mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
  402. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
  403. mindspore/rewrite/common/rewrite_elog.py +5 -1
  404. mindspore/rewrite/namer.py +33 -24
  405. mindspore/rewrite/namespace.py +14 -5
  406. mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
  407. mindspore/rewrite/node/call_function.py +79 -0
  408. mindspore/rewrite/node/cell_container.py +135 -0
  409. mindspore/rewrite/node/control_flow.py +88 -0
  410. mindspore/rewrite/{node.py → node/node.py} +273 -234
  411. mindspore/rewrite/node/node_manager.py +254 -0
  412. mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
  413. mindspore/rewrite/parsers/arguments_parser.py +22 -21
  414. mindspore/rewrite/parsers/assign_parser.py +216 -221
  415. mindspore/rewrite/parsers/attribute_parser.py +9 -7
  416. mindspore/rewrite/parsers/class_def_parser.py +174 -113
  417. mindspore/rewrite/parsers/constant_parser.py +9 -6
  418. mindspore/rewrite/parsers/container_parser.py +9 -7
  419. mindspore/rewrite/parsers/for_parser.py +42 -21
  420. mindspore/rewrite/parsers/function_def_parser.py +24 -16
  421. mindspore/rewrite/parsers/if_parser.py +28 -24
  422. mindspore/rewrite/parsers/module_parser.py +196 -25
  423. mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
  424. mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
  425. mindspore/rewrite/parsers/return_parser.py +6 -6
  426. mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
  427. mindspore/rewrite/sparsify/utils.py +1 -1
  428. mindspore/rewrite/symbol_tree.py +523 -578
  429. mindspore/rewrite/symbol_tree_builder.py +9 -193
  430. mindspore/rewrite/symbol_tree_dumper.py +2 -2
  431. mindspore/run_check/_check_version.py +6 -4
  432. mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
  433. mindspore/safeguard/rewrite_obfuscation.py +541 -0
  434. mindspore/scipy/linalg.py +1 -1
  435. mindspore/scipy/ops.py +55 -5
  436. mindspore/scipy/optimize/__init__.py +3 -2
  437. mindspore/scipy/optimize/linear_sum_assignment.py +38 -33
  438. mindspore/scipy/optimize/minimize.py +7 -3
  439. mindspore/train/_utils.py +7 -3
  440. mindspore/train/amp.py +323 -123
  441. mindspore/train/anf_ir_pb2.py +14 -2
  442. mindspore/train/callback/_backup_and_restore.py +2 -12
  443. mindspore/train/callback/_callback.py +29 -4
  444. mindspore/train/callback/_checkpoint.py +23 -8
  445. mindspore/train/callback/_early_stop.py +2 -2
  446. mindspore/train/callback/_landscape.py +4 -4
  447. mindspore/train/callback/_loss_monitor.py +2 -2
  448. mindspore/train/callback/_on_request_exit.py +2 -2
  449. mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
  450. mindspore/train/callback/_summary_collector.py +15 -8
  451. mindspore/train/callback/_time_monitor.py +58 -5
  452. mindspore/train/data_sink.py +5 -11
  453. mindspore/train/dataset_helper.py +84 -57
  454. mindspore/train/loss_scale_manager.py +2 -2
  455. mindspore/train/metrics/__init__.py +3 -3
  456. mindspore/train/metrics/cosine_similarity.py +1 -1
  457. mindspore/train/metrics/hausdorff_distance.py +3 -2
  458. mindspore/train/metrics/mean_surface_distance.py +3 -2
  459. mindspore/train/metrics/metric.py +39 -19
  460. mindspore/train/metrics/roc.py +2 -2
  461. mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
  462. mindspore/train/mind_ir_pb2.py +85 -36
  463. mindspore/train/model.py +187 -47
  464. mindspore/train/serialization.py +487 -161
  465. mindspore/train/summary/_summary_adapter.py +1 -1
  466. mindspore/train/summary/_writer_pool.py +3 -2
  467. mindspore/train/summary/summary_record.py +37 -17
  468. mindspore/train/train_thor/convert_utils.py +3 -3
  469. mindspore/train/train_thor/dataset_helper.py +1 -1
  470. mindspore/version.py +1 -1
  471. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/METADATA +8 -8
  472. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/RECORD +476 -527
  473. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/entry_points.txt +0 -1
  474. mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
  475. mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
  476. mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
  477. mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
  478. mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
  479. mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
  480. mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
  481. mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
  482. mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
  483. mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
  484. mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
  485. mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
  486. mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
  487. mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
  488. mindspore/_akg/akg/tvm/rpc/base.py +0 -182
  489. mindspore/_akg/akg/tvm/rpc/client.py +0 -436
  490. mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
  491. mindspore/_akg/akg/tvm/rpc/server.py +0 -413
  492. mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
  493. mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
  494. mindspore/_extends/graph_kernel/expander.py +0 -80
  495. mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
  496. mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
  497. mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
  498. mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
  499. mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
  500. mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
  501. mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
  502. mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
  503. mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
  504. mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
  505. mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
  506. mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
  507. mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
  508. mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
  509. mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
  510. mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
  511. mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
  512. mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
  513. mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
  514. mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
  515. mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
  516. mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
  517. mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
  518. mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
  519. mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
  520. mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
  521. mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
  522. mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
  523. mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
  524. mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
  525. mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
  526. mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
  527. mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
  528. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
  529. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
  530. mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
  531. mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
  532. mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
  533. mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
  534. mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
  535. mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
  536. mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
  537. mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
  538. mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
  539. mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
  540. mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
  541. mindspore/dataset/datapreprocess/__init__.py +0 -20
  542. mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
  543. mindspore/include/api/net.h +0 -142
  544. mindspore/nn/lr_scheduler.py +0 -262
  545. mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
  546. mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
  547. mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
  548. mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
  549. mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
  550. mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +0 -350
  551. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +0 -409
  552. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +0 -578
  553. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +0 -199
  554. mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +0 -446
  555. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/__init__.py +0 -0
  556. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/sparse_tiling.py +0 -45
  557. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/strategy.py +0 -67
  558. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +0 -62
  559. mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
  560. mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
  561. mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
  562. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
  563. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  564. mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
  565. mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
  566. mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
  567. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  568. mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
  569. mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
  570. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
  571. mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
  572. mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
  573. mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
  574. mindspore/rewrite/node_visitor.py +0 -44
  575. /mindspore/{ops/_op_impl/_custom_op/flash_attention → _akg/akg/utils/ascend_profilier}/__init__.py +0 -0
  576. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/WHEEL +0 -0
  577. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/top_level.txt +0 -0
@@ -24,11 +24,11 @@ from mindspore.common import mutable
24
24
  import mindspore.common._monad as monad
25
25
  from mindspore.common.sparse_tensor import RowTensorInner
26
26
  from mindspore.ops.composite.base import _append, _insert, _pop, _list_clear, _reverse, \
27
- _extend, _dict_clear, _haskey, _update, _fromkeys
27
+ _extend, _dict_setitem, _dict_clear, _haskey, _update, _fromkeys
28
28
 
29
29
  from ... import _checkparam as validator
30
- from ..._checkparam import check_is_number, check_reshape_shp, prepare_shape_for_squeeze, \
31
- check_axis_in_range, check_axis_valid, check_and_canonicalize_axes
30
+ from ..._checkparam import check_is_number, check_reshape_shp, check_axis_in_range, \
31
+ check_axis_valid, check_and_canonicalize_axes
32
32
  from ...ops import functional as F
33
33
  from ...ops import operations as P
34
34
  from ...ops import composite
@@ -58,7 +58,6 @@ size_op_ = P.Size()
58
58
  _format = Format()
59
59
  _reduce_sum_default = P.ReduceSum()
60
60
  _reduce_sum_keepdims = P.ReduceSum(True)
61
- _mean_keepdims = P.ReduceMean(True)
62
61
  _csr_mm = _csr_ops.CSRMM()
63
62
 
64
63
  itemsize_map = {mstype.bool_: 1, mstype.int8: 1, mstype.uint8: 1,
@@ -92,10 +91,7 @@ def mean(x, axis=None, keep_dims=False):
92
91
  >>> print(output)
93
92
  2.0
94
93
  """
95
- if axis is None:
96
- axis = ()
97
- reduce_mean = P.ReduceMean(keep_dims)
98
- return reduce_mean(x, axis)
94
+ return F.mean(x, axis, keep_dims)
99
95
 
100
96
 
101
97
  def ndimension(x):
@@ -176,11 +172,7 @@ def all_(x, axis=(), keep_dims=False):
176
172
  Returns:
177
173
  Tensor, has the same data type as x.
178
174
  """
179
-
180
- if axis is None:
181
- axis = ()
182
- reduce_all = P.ReduceAll(keep_dims)
183
- return reduce_all(x, axis)
175
+ return F.all(x, axis, keep_dims)
184
176
 
185
177
 
186
178
  def angle(x):
@@ -816,12 +808,7 @@ def squeeze(x, axis=None):
816
808
  >>> print(x.shape)
817
809
  (2, 2)
818
810
  """
819
- shape = F.shape(x)
820
- if axis is None:
821
- return F.squeeze(x)
822
- # yield squeezed shape based on the axes
823
- new_shape = prepare_shape_for_squeeze(shape, axis)
824
- return F.reshape(x, new_shape)
811
+ return F.squeeze(x, axis)
825
812
 
826
813
 
827
814
  def unbind(input, dim=0):
@@ -856,17 +843,7 @@ def argmax(x, axis=None, keepdims=False):
856
843
  >>> print(a.argmax())
857
844
  5
858
845
  """
859
- is_axis_none = False
860
- if axis is None:
861
- x = ravel(x)
862
- axis = 0
863
- is_axis_none = True
864
- if x.dtype == mstype.bool_:
865
- x = x.astype(mstype.int32)
866
- out = P.Argmax(axis, mstype.int64)(x)
867
- if keepdims and not is_axis_none:
868
- out = expand_dims(out, axis)
869
- return out
846
+ return F.argmax(x, axis, keepdims)
870
847
 
871
848
 
872
849
  def argmin(x, axis=None, keepdims=False):
@@ -1443,8 +1420,9 @@ def diagonal(x, offset=0, axis1=0, axis2=1):
1443
1420
 
1444
1421
  e = F.eye(n, m, dtype)
1445
1422
  if offset >= m or offset <= -n:
1446
- e = F.fill(dtype, (n, m), 0)
1447
- elif offset != 0:
1423
+ zero_shape = shape[:-2] + (0,)
1424
+ return F.zeros(zero_shape, dtype)
1425
+ if offset != 0:
1448
1426
  e = e.astype(mstype.float32)
1449
1427
  if offset > 0:
1450
1428
  e_left = F.fill(dtype, (n, offset), 0)
@@ -1730,6 +1708,22 @@ def take(x, indices, axis=None, mode='clip'):
1730
1708
  return res.reshape(shape_out)
1731
1709
 
1732
1710
 
1711
+ def ms_type(input, dtype=None):
1712
+ r"""
1713
+ Change the dtype of the Tensor to the `dtype` . Return the type if `dtype` is None.
1714
+ """
1715
+ if dtype is None:
1716
+ return str(input.dtype)
1717
+ return input.astype(dtype)
1718
+
1719
+
1720
+ def type_as(input, other):
1721
+ r"""
1722
+ Change the dtype of `input` to the dtype of `other`.
1723
+ """
1724
+ return input.astype(other.dtype)
1725
+
1726
+
1733
1727
  def _infer_out_shape(*shapes):
1734
1728
  """
1735
1729
  Returns shape of output after broadcasting. Raises ValueError if shapes cannot be broadcast.
@@ -1737,8 +1731,8 @@ def _infer_out_shape(*shapes):
1737
1731
  shape_out = list()
1738
1732
  max_len = ms_max([len(it) for it in shapes])
1739
1733
  for i in range(max_len):
1740
- items = [it[i-(max_len-len(it))] if i - (max_len - len(it))
1741
- >= 0 else 1 for it in shapes]
1734
+ items = [it[i - (max_len - len(it))] if i - (max_len - len(it))
1735
+ >= 0 else 1 for it in shapes]
1742
1736
  max_size = 0 if 0 in items else ms_max(items)
1743
1737
  shape_out.append(max_size)
1744
1738
  return tuple(shape_out)
@@ -1849,12 +1843,14 @@ def searchsorted(x, v, side='left', sorter=None):
1849
1843
  >>> print(x.searchsorted(3))
1850
1844
  2
1851
1845
  """
1846
+
1852
1847
  def get_log2_size(size):
1853
1848
  """Get log2 size"""
1854
1849
  log2_res = F.log2(F.cast(size, mstype.float32))
1855
1850
  ceil_res = F.ceil(log2_res)
1856
1851
  cast_res = F.cast(ceil_res, mstype.int64)
1857
1852
  return cast_res
1853
+
1858
1854
  if side not in ('left', 'right'):
1859
1855
  const_utils.raise_value_error('invalid value for keyword "side"')
1860
1856
  a = x.astype(mstype.float32)
@@ -1892,8 +1888,6 @@ def fill(x, value):
1892
1888
  const_utils.raise_type_error("If None is used as value, the original Tensor's dtype must be float.")
1893
1889
  value = nan_tensor
1894
1890
  return F.tile(value, x.shape).astype(x.dtype)
1895
- if not isinstance(value, (int, float, bool)):
1896
- const_utils.raise_type_error("input value must be a scalar.")
1897
1891
  return F.fill(x.dtype, x.shape, value)
1898
1892
 
1899
1893
 
@@ -2009,7 +2003,7 @@ def var(x, axis=None, ddof=0, keepdims=False):
2009
2003
  axis = ()
2010
2004
  else:
2011
2005
  axis = check_and_canonicalize_axes(axis, x.ndim)
2012
- x_mean = _mean_keepdims(x, axis)
2006
+ x_mean = F.mean(x, axis, True)
2013
2007
  x_sub = F.tensor_sub(x, x_mean)
2014
2008
  x_pow = F.tensor_pow(x_sub, 2)
2015
2009
  if keepdims:
@@ -2117,27 +2111,14 @@ def sum(input, axis=None, dtype=None, keepdims=False, initial=None): # pylint:
2117
2111
  >>> print(input_x.sum(axis=1))
2118
2112
  [10. 35.]
2119
2113
  """
2120
- input_x = input.astype(mstype.int32) if input.dtype == mstype.bool_ else input
2121
- dtype = input_x.dtype if dtype is None else dtype
2122
- dtype = check_astype_dtype_const(dtype)
2123
- if not isinstance(keepdims, int):
2124
- const_utils.raise_type_error("integer argument expected")
2125
2114
  if initial is not None and not isinstance(initial, (int, float, bool)):
2126
- const_utils.raise_type_error("initial argument should be a scalar.")
2127
- if axis is None:
2128
- axis = ()
2129
- else:
2130
- axis = check_and_canonicalize_axes(axis, input.ndim)
2131
-
2132
- if not check_type_support(input_x.dtype, 'GPU', (mstype.float64, mstype.float32, mstype.float16)):
2133
- input_x = input_x.astype(mstype.float32)
2134
- if keepdims:
2135
- res = _reduce_sum_keepdims(input_x, axis)
2136
- else:
2137
- res = _reduce_sum_default(input_x, axis)
2115
+ raise TypeError(f"For Tensor.sum, initial must be int, float or bool, but got {type(initial)}.")
2116
+ res = F.sum(input, axis, keepdims)
2138
2117
  if initial is not None:
2139
2118
  res += initial
2140
- return res.astype(dtype)
2119
+ if dtype is not None:
2120
+ res = res.astype(dtype)
2121
+ return res
2141
2122
 
2142
2123
 
2143
2124
  @_primexpr
@@ -2363,17 +2344,27 @@ def itemset(data, *args):
2363
2344
 
2364
2345
  def ms_iter(xs):
2365
2346
  """Implementation of `iter`."""
2366
- return xs.__ms_iter__()
2347
+ return xs.__ms_iter__
2367
2348
 
2368
2349
 
2369
2350
  def ms_next(it):
2370
2351
  """Implementation of `next`."""
2371
- return it.__ms_next__()
2352
+ return it.__ms_next__
2372
2353
 
2373
2354
 
2374
2355
  def hasnext(it):
2375
2356
  """Implementation of `hasnext`."""
2376
- return it.__ms_hasnext__()
2357
+ return it.__ms_hasnext__
2358
+
2359
+
2360
+ def str_next(xs):
2361
+ """Next string."""
2362
+ return xs[0], xs[1:]
2363
+
2364
+
2365
+ def str_hasnext(xs):
2366
+ """Whether the string is empty or not."""
2367
+ return len(xs) > 0
2377
2368
 
2378
2369
 
2379
2370
  @constexpr
@@ -2389,13 +2380,9 @@ def str_func(*data):
2389
2380
  if data_len == 0:
2390
2381
  return ''
2391
2382
  data = data[0]
2392
- if isinstance(data, (CSRTensor, COOTensor, RowTensorInner)):
2393
- const_utils.raise_type_error(
2394
- "str() does not support sparse tensor input.")
2395
- if not F.isconstant(data):
2396
- const_utils.raise_type_error(
2397
- "str() does not support non-constant input.")
2398
- return cast_to_str(data)
2383
+ if F.isconstant(data):
2384
+ return cast_to_str(data)
2385
+ return data.__str__()
2399
2386
 
2400
2387
 
2401
2388
  @constexpr
@@ -2514,17 +2501,15 @@ def tuple_func(*data):
2514
2501
  """Implementation of `tuple`."""
2515
2502
  data_len = len(data)
2516
2503
  if data_len >= 2:
2517
- const_utils.raise_type_error("tuple() requires 0 or 1 arguments.")
2504
+ raise TypeError("tuple() requires 0 or 1 arguments.")
2518
2505
  if data_len == 0:
2519
2506
  return F.make_tuple()
2520
2507
  data = data[0]
2521
2508
  if isinstance(data, (CSRTensor, COOTensor, RowTensorInner)):
2522
- const_utils.raise_type_error(
2523
- "tuple() does not support single sparse tensor input.")
2509
+ raise TypeError("tuple() does not support single sparse tensor input.")
2524
2510
  if not isinstance(data, Tensor) and not hasattr(data, "__ms_iter__"):
2525
2511
  data_type = F.typeof(data)
2526
- const_utils.raise_type_error(
2527
- str(data_type) + " object is not iterable.")
2512
+ raise TypeError(str(data_type) + " object is not iterable.")
2528
2513
  if isinstance(data, dict):
2529
2514
  data = data.keys()
2530
2515
  if isinstance(data, (tuple, list)) and F.is_sequence_shape_unknown(data):
@@ -2792,26 +2777,6 @@ def ms_len(data):
2792
2777
  return data.__len__()
2793
2778
 
2794
2779
 
2795
- @constexpr
2796
- def python_len_with_check(data):
2797
- """Return the result of python built-in len function with iterable check"""
2798
- if not hasattr(data, "__iter__"):
2799
- raise TypeError(str(type(data)) +
2800
- " object is not iterable in graph mode.")
2801
- return len(data)
2802
-
2803
-
2804
- def ms_len_with_iterable_check(data):
2805
- """Implementation of `len` with iterable check, used in len of condition."""
2806
- if not isinstance(data, Tensor) and F.isconstant(data):
2807
- return python_len_with_check(data)
2808
- if not hasattr(data, "__len__"):
2809
- type_str = str(F.typeof(data))
2810
- const_utils.raise_type_error(
2811
- type_str + " object is not iterable in graph mode.")
2812
- return data.__len__()
2813
-
2814
-
2815
2780
  def floor(x):
2816
2781
  """Rounds a tensor down to the closest integer element-wise."""
2817
2782
  return x.__floor__()
@@ -2864,14 +2829,12 @@ def enumerate_(x, start=0):
2864
2829
  x_type = F.typeof(x)
2865
2830
  ret = ()
2866
2831
  op_name = "enumerate"
2867
- if check_is_tuple_or_list_or_tensor(x_type, op_name, "first input") and \
2868
- check_is_const_int(start, op_name, "start"):
2832
+ if isinstance(x, (int, float, bool)):
2833
+ raise TypeError(f"For 'enumerate', the 'first input' should be tuple or list or tensor, but got {type(x)}.")
2834
+ if check_is_const_int(start, op_name, "start"):
2869
2835
  if check_is_tensor(x_type):
2870
2836
  for i in range(x.shape[0]):
2871
2837
  ret += ((start + i, x[i]),)
2872
- elif F.is_sequence_shape_unknown(x):
2873
- const_utils.raise_value_error(
2874
- "For 'enumerate', the dynamic length input is unsupported in graph mode")
2875
2838
  else:
2876
2839
  ret = zip(range(start, start + len(x)), x)
2877
2840
  return ret
@@ -2941,6 +2904,13 @@ def to_coo(x):
2941
2904
  return F.dense_to_sparse_coo(x)
2942
2905
 
2943
2906
 
2907
+ def tolist(x):
2908
+ """
2909
+ Convert a Tensor to List, if the input is Tensor scalar, Python scalar will be returned.
2910
+ """
2911
+ return x.asnumpy().tolist()
2912
+
2913
+
2944
2914
  @constexpr
2945
2915
  def check_select_condition(cond_type):
2946
2916
  """
@@ -3296,16 +3266,6 @@ def check_is_tensor(x):
3296
3266
  return False
3297
3267
 
3298
3268
 
3299
- @constexpr
3300
- def check_is_tuple_or_list_or_tensor(x, op_name, arg_name):
3301
- """check whether x is list or tuple or tensor."""
3302
- if isinstance(x, (mstype.List, mstype.Tuple, mstype.TensorType)):
3303
- return True
3304
- raise TypeError(
3305
- f"For '{op_name}', the '{arg_name}' should be tuple or list or tensor, but got {x}.")
3306
-
3307
-
3308
- @constexpr
3309
3269
  def check_is_const_int(x, op_name, arg_name):
3310
3270
  """check whether x is const int."""
3311
3271
  if x is None:
@@ -3652,6 +3612,11 @@ def dict_get(self_, key_index, default_value=None):
3652
3612
  return F.dict_getitem(self_, key_index)
3653
3613
 
3654
3614
 
3615
+ def dict_setitem(self_, key, target):
3616
+ """Dictionary setitem"""
3617
+ return _dict_setitem(self_, key, target)
3618
+
3619
+
3655
3620
  def dict_clear(self_):
3656
3621
  """Clear the dict"""
3657
3622
  return _dict_clear(self_)
@@ -3902,6 +3867,13 @@ def cos(x):
3902
3867
  return F.cos(x)
3903
3868
 
3904
3869
 
3870
+ def count_nonzero(x, axis=(), keep_dims=False, dtype=mstype.int32):
3871
+ r"""
3872
+ For details, please refer to :func:`mindspore.ops.count_nonzero`.
3873
+ """
3874
+ return F.count_nonzero(x, axis, keep_dims, dtype)
3875
+
3876
+
3905
3877
  def cov(x, *, correction=1, fweights=None, aweights=None):
3906
3878
  r"""
3907
3879
  For details, please refer to :func:`mindspore.ops.cov`.
@@ -4180,7 +4152,8 @@ def expand(input, size):
4180
4152
  r"""
4181
4153
  Returns a new view of the self tensor with singleton dimensions expanded to a larger size.
4182
4154
  """
4183
- return F.expand(input, size)
4155
+ size = P.TensorToTuple()(size)
4156
+ return F.broadcast_to(input, size)
4184
4157
 
4185
4158
 
4186
4159
  def cumprod(input, dim, dtype=None):
@@ -4202,6 +4175,13 @@ def div(input, value, *, rounding_mode=None):
4202
4175
  return F.div(input, value, rounding_mode=rounding_mode)
4203
4176
 
4204
4177
 
4178
+ def eq(input, other):
4179
+ r"""
4180
+ Computes the equivalence between the tensor `input` and the given input tensor `other` element-wise.
4181
+ """
4182
+ return F.equal(input, other)
4183
+
4184
+
4205
4185
  def equal(x, y):
4206
4186
  r"""
4207
4187
  Computes the equivalence between the tensor `x` and the given input tensor `y` element-wise.
@@ -1,6 +1,6 @@
1
1
  # This is the Python adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
2
2
  #
3
- # Copyright 2020-2022 Huawei Technologies Co., Ltd
3
+ # Copyright 2020-2023 Huawei Technologies Co., Ltd
4
4
  #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
@@ -15,7 +15,8 @@
15
15
  """kernel build server"""
16
16
  import os
17
17
  from mindspore import log as logger
18
- from mindspore._extends.parallel_compile.akg_compiler.akg_process import create_akg_parallel_process
18
+ from mindspore._extends.parallel_compile.akg_compiler.akg_process import create_akg_parallel_process, \
19
+ create_akg_v2_parallel_process
19
20
 
20
21
 
21
22
  class Messager:
@@ -124,8 +125,8 @@ class Messager:
124
125
  raise NotImplementedError
125
126
 
126
127
 
127
- class AkgBuilder():
128
- """Akg building wrapper"""
128
+ class AkgBuilderBase():
129
+ """Base Class for kernel compiler building wrapper"""
129
130
 
130
131
  def __init__(self, platform):
131
132
  self.platform = platform
@@ -133,8 +134,9 @@ class AkgBuilder():
133
134
  self.akg_processor = None
134
135
 
135
136
  def create(self, process_num, waitime):
136
- """ Create akg processor"""
137
- self.akg_processor = create_akg_parallel_process(process_num, waitime, self.platform)
137
+ """ Create compiler processor"""
138
+ del process_num, waitime
139
+ raise NotImplementedError
138
140
 
139
141
  def accept_json(self, json):
140
142
  """ Accept json"""
@@ -145,7 +147,7 @@ class AkgBuilder():
145
147
  return self.akg_processor.compile(self.attrs)
146
148
 
147
149
  def handle(self, messager, arg):
148
- """Handle message about akg"""
150
+ """Handle message about compiler"""
149
151
  if arg == 'AKG/START':
150
152
  messager.send_ack()
151
153
  process_num_str = messager.get_message()
@@ -172,7 +174,23 @@ class AkgBuilder():
172
174
  messager.send_ack(False)
173
175
  break
174
176
  else:
175
- raise RuntimeError("Unknown message type: %s" % arg)
177
+ raise RuntimeError(f"Unknown message type: {arg}")
178
+
179
+
180
+ class AkgBuilder(AkgBuilderBase):
181
+ """Akg building wrapper"""
182
+
183
+ def create(self, process_num, waitime):
184
+ """ Create akg processor"""
185
+ self.akg_processor = create_akg_parallel_process(process_num, waitime, self.platform)
186
+
187
+
188
+ class AkgV2Builder(AkgBuilderBase):
189
+ """Akg V2 building wrapper"""
190
+
191
+ def create(self, process_num, waitime):
192
+ """ Create akg v2 processor"""
193
+ self.akg_processor = create_akg_v2_parallel_process(process_num, waitime, self.platform)
176
194
 
177
195
 
178
196
  def get_logger():
@@ -0,0 +1,55 @@
1
+ # Copyright 2023 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
+ """kernel build server for akg v2 kernels"""
16
+ import sys
17
+ import warnings
18
+ from mindspore._extends.remote.kernel_build_server import Messager, get_logger, AkgV2Builder
19
+
20
+
21
+ class AkgV2Messager(Messager):
22
+ '''
23
+ Default Messager for akg v2 kernels.
24
+ It works as a server, communicating with c++ client.
25
+ '''
26
+
27
+ def __init__(self, fdin, fdout):
28
+ super().__init__(fdin, fdout)
29
+ get_logger().info("[TRACE] AKG V2 Messager init...")
30
+ self.akg_v2_builder = AkgV2Builder("default")
31
+
32
+ def handle(self):
33
+ """
34
+ Communicate with remote client.
35
+ Reference protocol between them at PR#4063
36
+ """
37
+ arg = self.get_message()
38
+ if "AKG" in arg:
39
+ self.akg_v2_builder.handle(self, arg)
40
+ else:
41
+ self.send_ack(False)
42
+ self.exit()
43
+
44
+ def exit(self):
45
+ get_logger().info("[TRACE] AKG V2 Messager Exit...")
46
+ exit()
47
+
48
+
49
+ if __name__ == '__main__':
50
+ warnings.simplefilter("ignore")
51
+ if len(sys.argv) != 3:
52
+ raise Exception(f"Incorrect argv: {sys.argv}")
53
+ get_logger().debug(f"[TRACE] argv: {str(sys.argv)}")
54
+ messager = AkgV2Messager(int(sys.argv[1]), int(sys.argv[2]))
55
+ messager.run()
@@ -0,0 +1,43 @@
1
+ # Copyright 2023 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
+ """install custom op files"""
16
+
17
+ import os
18
+ import platform
19
+ import importlib.util
20
+ from mindspore import log as logger
21
+
22
+
23
+ def _install_custom():
24
+ """install custom op files"""
25
+ if platform.system() != "Linux":
26
+ return
27
+ custom_op_path = os.environ.get("MS_DEV_CUSTOM_OPP_PATH")
28
+ if not custom_op_path:
29
+ return
30
+ if not os.path.isdir(custom_op_path):
31
+ logger.warning("The path set in env 'MS_DEV_CUSTOM_OPP_PATH' is not a directory: '{}'".format(custom_op_path))
32
+ else:
33
+ for file_name in os.listdir(custom_op_path):
34
+ file_path = os.path.join(custom_op_path, file_name)
35
+ if os.path.isfile(file_path) and file_name.endswith(".py") and file_name != "__init__.py":
36
+ logger.info("start import file: '{}'".format(file_path))
37
+ mod_spec = importlib.util.spec_from_file_location(os.path.splitext(file_name)[0], file_path)
38
+ mod = importlib.util.module_from_spec(mod_spec)
39
+ mod_spec.loader.exec_module(mod)
40
+ os.environ.pop("MS_DEV_CUSTOM_OPP_PATH")
41
+
42
+
43
+ _install_custom()