mindspore 2.1.0__cp38-none-any.whl → 2.2.10__cp38-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 (569) 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-aarch64-linux-gnu.so +0 -0
  32. mindspore/_c_expression.cpython-38-aarch64-linux-gnu.so +0 -0
  33. mindspore/_c_mindrecord.cpython-38-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 +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-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 +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/libmindspore_ascend.so.1 +0 -0
  196. mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
  197. mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
  198. mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
  199. mindspore/nn/__init__.py +0 -2
  200. mindspore/nn/cell.py +313 -74
  201. mindspore/nn/dynamic_lr.py +21 -21
  202. mindspore/nn/layer/activation.py +22 -30
  203. mindspore/nn/layer/basic.py +15 -13
  204. mindspore/nn/layer/channel_shuffle.py +1 -1
  205. mindspore/nn/layer/container.py +271 -9
  206. mindspore/nn/layer/conv.py +323 -204
  207. mindspore/nn/layer/dense.py +8 -5
  208. mindspore/nn/layer/embedding.py +33 -27
  209. mindspore/nn/layer/flash_attention.py +141 -88
  210. mindspore/nn/layer/image.py +8 -6
  211. mindspore/nn/layer/math.py +16 -25
  212. mindspore/nn/layer/normalization.py +107 -66
  213. mindspore/nn/layer/padding.py +1 -1
  214. mindspore/nn/layer/pooling.py +131 -109
  215. mindspore/nn/layer/rnn_cells.py +27 -22
  216. mindspore/nn/layer/rnns.py +13 -16
  217. mindspore/nn/layer/thor_layer.py +1 -1
  218. mindspore/nn/layer/transformer.py +221 -154
  219. mindspore/nn/learning_rate_schedule.py +9 -1
  220. mindspore/nn/loss/loss.py +235 -174
  221. mindspore/nn/optim/ada_grad.py +2 -1
  222. mindspore/nn/optim/adadelta.py +1 -0
  223. mindspore/nn/optim/adafactor.py +2 -1
  224. mindspore/nn/optim/adam.py +7 -4
  225. mindspore/nn/optim/adamax.py +3 -2
  226. mindspore/nn/optim/adasum.py +2 -2
  227. mindspore/nn/optim/asgd.py +2 -3
  228. mindspore/nn/optim/ftrl.py +6 -5
  229. mindspore/nn/optim/lamb.py +7 -4
  230. mindspore/nn/optim/lars.py +1 -1
  231. mindspore/nn/optim/lazyadam.py +5 -3
  232. mindspore/nn/optim/momentum.py +2 -1
  233. mindspore/nn/optim/optimizer.py +53 -4
  234. mindspore/nn/optim/proximal_ada_grad.py +3 -4
  235. mindspore/nn/optim/rmsprop.py +4 -3
  236. mindspore/nn/optim/rprop.py +23 -12
  237. mindspore/nn/optim/sgd.py +26 -11
  238. mindspore/nn/optim/thor.py +9 -7
  239. mindspore/nn/probability/bijector/bijector.py +5 -5
  240. mindspore/nn/probability/bijector/power_transform.py +27 -27
  241. mindspore/nn/probability/bijector/softplus.py +3 -3
  242. mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
  243. mindspore/nn/probability/distribution/bernoulli.py +5 -5
  244. mindspore/nn/probability/distribution/beta.py +3 -3
  245. mindspore/nn/probability/distribution/categorical.py +7 -7
  246. mindspore/nn/probability/distribution/cauchy.py +0 -1
  247. mindspore/nn/probability/distribution/distribution.py +3 -3
  248. mindspore/nn/probability/distribution/gamma.py +3 -3
  249. mindspore/nn/probability/distribution/geometric.py +4 -4
  250. mindspore/nn/probability/distribution/gumbel.py +4 -4
  251. mindspore/nn/probability/distribution/log_normal.py +2 -2
  252. mindspore/nn/probability/distribution/logistic.py +2 -2
  253. mindspore/nn/probability/distribution/poisson.py +4 -4
  254. mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
  255. mindspore/nn/probability/distribution/uniform.py +6 -6
  256. mindspore/nn/wrap/cell_wrapper.py +84 -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/_custom_op/flash_attention/attention.py +165 -109
  274. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +144 -86
  275. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +172 -187
  276. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +51 -57
  277. mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +6 -17
  278. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +1 -1
  279. mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
  280. mindspore/ops/_op_impl/aicpu/add.py +3 -3
  281. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
  282. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  283. mindspore/ops/_op_impl/aicpu/eps.py +32 -0
  284. mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
  285. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
  286. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
  287. mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
  288. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
  289. mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
  290. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
  291. mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
  292. mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
  293. mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
  294. mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
  295. mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
  296. mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
  297. mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
  298. mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
  299. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
  300. mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
  301. mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
  302. mindspore/ops/_op_impl/tbe/__init__.py +4 -4
  303. mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
  304. mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
  305. mindspore/ops/_primitive_cache.py +1 -1
  306. mindspore/ops/_tracefunc.py +45 -13
  307. mindspore/ops/_utils/utils.py +6 -1
  308. mindspore/ops/_vmap/vmap_array_ops.py +3 -3
  309. mindspore/ops/_vmap/vmap_base.py +3 -3
  310. mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
  311. mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
  312. mindspore/ops/_vmap/vmap_math_ops.py +5 -2
  313. mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
  314. mindspore/ops/arg_dtype_cast.py +54 -0
  315. mindspore/ops/composite/base.py +37 -10
  316. mindspore/ops/composite/math_ops.py +5 -4
  317. mindspore/ops/composite/multitype_ops/_compile_utils.py +275 -73
  318. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
  319. mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
  320. mindspore/ops/composite/multitype_ops/getitem_impl.py +42 -4
  321. mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
  322. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  323. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
  324. mindspore/ops/deprecated.py +304 -0
  325. mindspore/ops/function/__init__.py +4 -1
  326. mindspore/ops/function/array_func.py +174 -193
  327. mindspore/ops/function/clip_func.py +81 -13
  328. mindspore/ops/function/debug_func.py +1 -1
  329. mindspore/ops/function/grad/grad_func.py +18 -9
  330. mindspore/ops/function/image_func.py +10 -4
  331. mindspore/ops/function/linalg_func.py +5 -5
  332. mindspore/ops/function/math_func.py +575 -386
  333. mindspore/ops/function/nn_func.py +568 -260
  334. mindspore/ops/function/random_func.py +88 -57
  335. mindspore/ops/function/sparse_func.py +1 -1
  336. mindspore/ops/function/sparse_unary_func.py +14 -12
  337. mindspore/ops/function/vmap_func.py +6 -5
  338. mindspore/ops/functional.py +15 -10
  339. mindspore/ops/op_info_register.py +244 -25
  340. mindspore/ops/operations/__init__.py +28 -19
  341. mindspore/ops/operations/_grad_ops.py +72 -7
  342. mindspore/ops/operations/_inner_ops.py +350 -17
  343. mindspore/ops/operations/_quant_ops.py +4 -8
  344. mindspore/ops/operations/_sequence_ops.py +42 -0
  345. mindspore/ops/operations/array_ops.py +68 -282
  346. mindspore/ops/operations/comm_ops.py +107 -59
  347. mindspore/ops/operations/custom_ops.py +94 -70
  348. mindspore/ops/operations/debug_ops.py +8 -4
  349. mindspore/ops/operations/image_ops.py +18 -12
  350. mindspore/ops/operations/inner_ops.py +26 -3
  351. mindspore/ops/operations/math_ops.py +189 -141
  352. mindspore/ops/operations/nn_ops.py +794 -489
  353. mindspore/ops/operations/other_ops.py +0 -22
  354. mindspore/ops/operations/random_ops.py +53 -111
  355. mindspore/ops/operations/sparse_ops.py +3 -1
  356. mindspore/ops/primitive.py +24 -18
  357. mindspore/parallel/_auto_parallel_context.py +68 -8
  358. mindspore/parallel/_cost_model_context.py +2 -2
  359. mindspore/parallel/_offload_context.py +17 -3
  360. mindspore/parallel/_parallel_serialization.py +12 -5
  361. mindspore/parallel/_ps_context.py +12 -0
  362. mindspore/parallel/_tensor.py +18 -13
  363. mindspore/parallel/_transformer/layers.py +5 -3
  364. mindspore/parallel/_transformer/loss.py +1 -0
  365. mindspore/parallel/_transformer/moe.py +2 -2
  366. mindspore/parallel/_transformer/op_parallel_config.py +12 -1
  367. mindspore/parallel/_transformer/transformer.py +23 -3
  368. mindspore/parallel/_utils.py +11 -7
  369. mindspore/parallel/algo_parameter_config.py +85 -5
  370. mindspore/parallel/checkpoint_transform.py +19 -12
  371. mindspore/parallel/shard.py +21 -14
  372. mindspore/profiler/common/struct_type.py +3 -3
  373. mindspore/profiler/common/util.py +4 -2
  374. mindspore/profiler/envprofiling.py +1 -1
  375. mindspore/profiler/parser/aicpu_data_parser.py +5 -3
  376. mindspore/profiler/parser/ascend_flops_generator.py +2 -2
  377. mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
  378. mindspore/profiler/parser/ascend_hccl_generator.py +249 -12
  379. mindspore/profiler/parser/ascend_msprof_exporter.py +150 -255
  380. mindspore/profiler/parser/ascend_msprof_generator.py +204 -17
  381. mindspore/profiler/parser/ascend_op_generator.py +6 -6
  382. mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
  383. mindspore/profiler/parser/ascend_timeline_generator.py +14 -187
  384. mindspore/profiler/parser/base_timeline_generator.py +10 -8
  385. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +16 -12
  386. mindspore/profiler/parser/flops_parser.py +15 -11
  387. mindspore/profiler/parser/framework_parser.py +38 -22
  388. mindspore/profiler/parser/hccl_parser.py +16 -12
  389. mindspore/profiler/parser/integrator.py +22 -11
  390. mindspore/profiler/parser/memory_usage_parser.py +2 -2
  391. mindspore/profiler/parser/minddata_analyzer.py +12 -14
  392. mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
  393. mindspore/profiler/parser/msadvisor_parser.py +8 -4
  394. mindspore/profiler/parser/op_intermediate_parser.py +5 -2
  395. mindspore/profiler/parser/optime_parser.py +1 -1
  396. mindspore/profiler/parser/profiler_info.py +21 -2
  397. mindspore/profiler/parser/step_trace_parser.py +11 -14
  398. mindspore/profiler/profiling.py +179 -89
  399. mindspore/rewrite/api/node.py +102 -19
  400. mindspore/rewrite/api/node_type.py +5 -1
  401. mindspore/rewrite/api/pattern_engine.py +1 -1
  402. mindspore/rewrite/api/scoped_value.py +9 -17
  403. mindspore/rewrite/api/symbol_tree.py +131 -47
  404. mindspore/rewrite/ast_helpers/__init__.py +2 -1
  405. mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
  406. mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
  407. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
  408. mindspore/rewrite/common/rewrite_elog.py +5 -1
  409. mindspore/rewrite/namer.py +33 -24
  410. mindspore/rewrite/namespace.py +14 -5
  411. mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
  412. mindspore/rewrite/node/call_function.py +79 -0
  413. mindspore/rewrite/node/cell_container.py +135 -0
  414. mindspore/rewrite/node/control_flow.py +88 -0
  415. mindspore/rewrite/{node.py → node/node.py} +273 -234
  416. mindspore/rewrite/node/node_manager.py +254 -0
  417. mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
  418. mindspore/rewrite/parsers/arguments_parser.py +22 -21
  419. mindspore/rewrite/parsers/assign_parser.py +216 -221
  420. mindspore/rewrite/parsers/attribute_parser.py +9 -7
  421. mindspore/rewrite/parsers/class_def_parser.py +174 -113
  422. mindspore/rewrite/parsers/constant_parser.py +9 -6
  423. mindspore/rewrite/parsers/container_parser.py +9 -7
  424. mindspore/rewrite/parsers/for_parser.py +36 -15
  425. mindspore/rewrite/parsers/function_def_parser.py +24 -16
  426. mindspore/rewrite/parsers/if_parser.py +28 -24
  427. mindspore/rewrite/parsers/module_parser.py +196 -25
  428. mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
  429. mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
  430. mindspore/rewrite/parsers/return_parser.py +6 -6
  431. mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
  432. mindspore/rewrite/sparsify/utils.py +1 -1
  433. mindspore/rewrite/symbol_tree.py +523 -578
  434. mindspore/rewrite/symbol_tree_builder.py +9 -193
  435. mindspore/rewrite/symbol_tree_dumper.py +2 -2
  436. mindspore/run_check/_check_version.py +6 -4
  437. mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
  438. mindspore/safeguard/rewrite_obfuscation.py +541 -0
  439. mindspore/scipy/linalg.py +1 -1
  440. mindspore/scipy/optimize/minimize.py +7 -3
  441. mindspore/train/_utils.py +7 -3
  442. mindspore/train/amp.py +323 -123
  443. mindspore/train/anf_ir_pb2.py +14 -2
  444. mindspore/train/callback/_backup_and_restore.py +2 -12
  445. mindspore/train/callback/_callback.py +29 -4
  446. mindspore/train/callback/_checkpoint.py +23 -8
  447. mindspore/train/callback/_early_stop.py +2 -2
  448. mindspore/train/callback/_landscape.py +4 -4
  449. mindspore/train/callback/_loss_monitor.py +2 -2
  450. mindspore/train/callback/_on_request_exit.py +2 -2
  451. mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
  452. mindspore/train/callback/_summary_collector.py +15 -8
  453. mindspore/train/callback/_time_monitor.py +58 -5
  454. mindspore/train/data_sink.py +5 -11
  455. mindspore/train/dataset_helper.py +84 -57
  456. mindspore/train/loss_scale_manager.py +2 -2
  457. mindspore/train/metrics/__init__.py +3 -3
  458. mindspore/train/metrics/cosine_similarity.py +1 -1
  459. mindspore/train/metrics/hausdorff_distance.py +3 -2
  460. mindspore/train/metrics/mean_surface_distance.py +3 -2
  461. mindspore/train/metrics/metric.py +39 -19
  462. mindspore/train/metrics/roc.py +2 -2
  463. mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
  464. mindspore/train/mind_ir_pb2.py +85 -36
  465. mindspore/train/model.py +187 -47
  466. mindspore/train/serialization.py +487 -161
  467. mindspore/train/summary/_summary_adapter.py +1 -1
  468. mindspore/train/summary/_writer_pool.py +3 -2
  469. mindspore/train/summary/summary_record.py +37 -17
  470. mindspore/train/train_thor/convert_utils.py +3 -3
  471. mindspore/train/train_thor/dataset_helper.py +1 -1
  472. mindspore/version.py +1 -1
  473. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/METADATA +6 -7
  474. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/RECORD +477 -517
  475. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/entry_points.txt +0 -1
  476. mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
  477. mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
  478. mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
  479. mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
  480. mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
  481. mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
  482. mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
  483. mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
  484. mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
  485. mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
  486. mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
  487. mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
  488. mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
  489. mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
  490. mindspore/_akg/akg/tvm/rpc/base.py +0 -182
  491. mindspore/_akg/akg/tvm/rpc/client.py +0 -436
  492. mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
  493. mindspore/_akg/akg/tvm/rpc/server.py +0 -413
  494. mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
  495. mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
  496. mindspore/_extends/graph_kernel/expander.py +0 -80
  497. mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
  498. mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
  499. mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
  500. mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
  501. mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
  502. mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
  503. mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
  504. mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
  505. mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
  506. mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
  507. mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
  508. mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
  509. mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
  510. mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
  511. mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
  512. mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
  513. mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
  514. mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
  515. mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
  516. mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
  517. mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
  518. mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
  519. mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
  520. mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
  521. mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
  522. mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
  523. mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
  524. mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
  525. mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
  526. mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
  527. mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
  528. mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
  529. mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
  530. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
  531. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
  532. mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
  533. mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
  534. mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
  535. mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
  536. mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
  537. mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
  538. mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
  539. mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
  540. mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
  541. mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
  542. mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
  543. mindspore/dataset/datapreprocess/__init__.py +0 -20
  544. mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
  545. mindspore/include/api/net.h +0 -142
  546. mindspore/nn/lr_scheduler.py +0 -262
  547. mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
  548. mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
  549. mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
  550. mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
  551. mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
  552. mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
  553. mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
  554. mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
  555. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
  556. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  557. mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
  558. mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
  559. mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
  560. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  561. mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
  562. mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
  563. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
  564. mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
  565. mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
  566. mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
  567. mindspore/rewrite/node_visitor.py +0 -44
  568. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/WHEEL +0 -0
  569. {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/top_level.txt +0 -0
@@ -23,13 +23,12 @@ from .parser import (Parser, create_instance, is_supported_create_instance_type,
23
23
  get_ast_type, get_node_type, get_args, get_args_default_values, get_ast_namespace_symbol,
24
24
  get_operation_symbol, get_operation_namespace_symbol, get_parse_method_of_class, get_scope_name,
25
25
  eval_script, get_script_id_attrs, expand_expr_statement, is_class_member_of_self, parse_cb,
26
- convert_to_ms_tensor, get_object_description, get_class_attr_namespace_symbol, get_ms_class_name,
27
- is_class_type, check_obj_bool, python_isinstance, ms_isinstance, convert_to_ms_csrtensor,
28
- convert_to_ms_cootensor, convert_class_to_function, convert_cell_list_to_sequence, is_cell_list,
29
- get_obj_from_sequence, get_type, is_class_member_recursive, merge_global_params, get_global_params,
30
- get_adapter_tensor_attr, get_obj_defined_from_obj_type,
31
- is_from_third_party_library, get_const_abs, get_const_round,
32
- get_const_len, is_adapter_tensor_class, is_adapter_parameter_class)
26
+ convert_to_ms_tensor, get_object_description, get_ms_class_name, is_class_type, check_obj_bool,
27
+ python_isinstance, ms_isinstance, convert_to_ms_csrtensor, convert_to_ms_cootensor,
28
+ convert_class_to_function, convert_cell_list_to_sequence, is_cell_list, get_obj_from_sequence,
29
+ get_type, is_class_member_recursive, get_global_params, get_adapter_tensor_attr,
30
+ get_obj_defined_from_obj_type, is_from_third_party_library, get_const_abs, get_const_round,
31
+ get_const_len, is_adapter_tensor_class, is_adapter_parameter_class, convert_to_namedtuple)
33
32
 
34
33
  __all__ = ['Parser', 'create_instance', 'is_supported_create_instance_type', 'generate_scope', 'get_attr_from_object',
35
34
  'get_bprop_method_of_class', 'get_class_instance_type', 'get_class_member_namespace_symbol',
@@ -37,11 +36,9 @@ __all__ = ['Parser', 'create_instance', 'is_supported_create_instance_type', 'ge
37
36
  'get_ast_type', 'get_node_type', 'get_args', 'get_args_default_values', 'get_ast_namespace_symbol',
38
37
  'get_operation_symbol', 'get_operation_namespace_symbol', 'get_parse_method_of_class', 'get_scope_name',
39
38
  'eval_script', 'get_script_id_attrs', 'expand_expr_statement', 'is_class_member_of_self', 'parse_cb',
40
- 'resolve_symbol', 'convert_to_ms_tensor', 'get_object_description', 'get_class_attr_namespace_symbol',
41
- 'get_ms_class_name', 'is_class_type', 'check_obj_bool', 'python_isinstance', 'ms_isinstance',
42
- 'convert_to_ms_csrtensor', 'convert_to_ms_cootensor', 'convert_class_to_function',
43
- 'convert_cell_list_to_sequence', 'is_cell_list', 'get_obj_from_sequence', 'get_type',
44
- 'is_class_member_recursive', 'get_adapter_tensor_attr',
45
- 'get_obj_defined_from_obj_type', 'is_from_third_party_library',
46
- 'get_const_abs', 'get_const_round', 'get_const_len', 'is_adapter_tensor_class',
47
- 'is_adapter_parameter_class',]
39
+ 'resolve_symbol', 'convert_to_ms_tensor', 'get_object_description', 'get_ms_class_name', 'is_class_type',
40
+ 'check_obj_bool', 'python_isinstance', 'ms_isinstance', 'convert_to_ms_csrtensor', 'convert_to_ms_cootensor',
41
+ 'convert_class_to_function', 'convert_cell_list_to_sequence', 'is_cell_list', 'get_obj_from_sequence',
42
+ 'get_type', 'is_class_member_recursive', 'get_adapter_tensor_attr', 'get_obj_defined_from_obj_type',
43
+ 'is_from_third_party_library', 'get_const_abs', 'get_const_round', 'get_const_len',
44
+ 'is_adapter_tensor_class', 'is_adapter_parameter_class', 'convert_to_namedtuple',]
@@ -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.
@@ -30,6 +30,7 @@ class Namespace:
30
30
  name (str): The namespace's name.
31
31
  dicts (dict): A list of dict containing the namespace's variable.
32
32
  """
33
+
33
34
  def __init__(self, name, *dicts):
34
35
  self.name = name
35
36
  self.dicts = dicts
@@ -57,6 +58,7 @@ class CellNamespace(Namespace):
57
58
  Args:
58
59
  name (str): Valid module name, it can be imported.
59
60
  """
61
+
60
62
  def __init__(self, name):
61
63
  mod_dict = vars(__import__(name, fromlist=['_']))
62
64
  builtins_dict = vars(builtins)
@@ -79,6 +81,7 @@ class ClosureNamespace(Namespace):
79
81
  Args:
80
82
  fn (Function): A python function.
81
83
  """
84
+
82
85
  def __init__(self, fn):
83
86
  name = f'{fn.__module__}..<{fn.__name__}>'
84
87
  names = fn.__code__.co_freevars
@@ -101,6 +104,7 @@ class ClassMemberNamespace(Namespace):
101
104
  Args:
102
105
  obj (Object): A python class object.
103
106
  """
107
+
104
108
  def __init__(self, obj):
105
109
  self.__class_member_namespace__ = True
106
110
  label = f'{obj.__module__}..<{obj.__class__.__name__}::{id(obj)}>'
@@ -108,8 +112,6 @@ class ClassMemberNamespace(Namespace):
108
112
 
109
113
  def __getitem__(self, name):
110
114
  d, = self.dicts
111
- if name == "self":
112
- return d
113
115
  if name == "namespace":
114
116
  return self
115
117
  try:
@@ -127,36 +129,8 @@ class ClassMemberNamespace(Namespace):
127
129
  logger.warning(f"The private attribute or method '{name}' is used in '{cls.__name__}'. " + \
128
130
  f"In graph mode, '{name}' will be adjusted to '{private_member}' for parsing.")
129
131
  return getattr(d, private_member)
130
- logger.info(f"'{cls.__name__ }' object has no attribute or method: '{name}', so will return None.")
132
+ logger.info(f"'{cls.__name__}' object has no attribute or method: '{name}', so will return None.")
131
133
  raise AttributeError(name)
132
134
 
133
-
134
- class ClassAttrNamespace(Namespace):
135
- """
136
- Namespace of a class.
137
-
138
- Args:
139
- obj (Object): A python class object.
140
- """
141
- def __init__(self, obj):
142
- name = f'{obj.__module__}..<{obj.__class__.__name__}::{id(obj)}>'
143
- super().__init__(name, obj)
144
-
145
135
  def __getattr__(self, name):
146
- d, = self.dicts
147
- try:
148
- if hasattr(d, name):
149
- return getattr(d, name)
150
- return d.__dict__[name]
151
- except ValueError:
152
- raise UnboundLocalError(name)
153
- except KeyError:
154
- # Class private attribute.
155
- cls = d.__class__
156
- if name.startswith("__"):
157
- private_attr = "_" + cls.__name__ + name
158
- if hasattr(d, private_attr):
159
- logger.warning(f"The private attribute or method '{name}' is used in '{cls.__name__}'. " + \
160
- f"In graph mode, '{name}' will be adjusted to '{private_attr}' for parsing.")
161
- return getattr(d, private_attr)
162
- raise AttributeError(f"'{cls.__name__ }' object has no attribute or method: '{name}'.")
136
+ return self.__getitem__(name)
@@ -24,6 +24,8 @@ import re
24
24
  import hashlib
25
25
  import inspect
26
26
  import types
27
+ from collections import namedtuple
28
+ from typing import NamedTuple
27
29
  from textwrap import dedent
28
30
  import numpy
29
31
 
@@ -42,7 +44,7 @@ from mindspore.common import mutable
42
44
  from mindspore.common._register_for_adapter import ms_adapter_registry
43
45
  from mindspore._checkparam import is_stub_tensor
44
46
  from mindspore.ops._tracefunc import _PackSourceBuilder
45
- from .namespace import Namespace, CellNamespace, ClosureNamespace, ClassMemberNamespace, ClassAttrNamespace
47
+ from .namespace import Namespace, CellNamespace, ClosureNamespace, ClassMemberNamespace
46
48
  from .resources import parse_object_map, ops_symbol_map, convert_object_map, convert_class_to_function_map, trope_ns
47
49
  from .resources import SYMBOL_UNDEFINE
48
50
  from ...common.api import _convert_python_data
@@ -121,43 +123,15 @@ _hybrid_type = (
121
123
 
122
124
  # Unsupported python builtin type in JIT Fallback.
123
125
  _fallback_unsupported_python_builtin_type = (
124
- compile, eval, exec, input, open, delattr, setattr, super, staticmethod, classmethod, __import__,
125
- memoryview, property,
126
+ compile, eval, exec
126
127
  )
127
128
 
128
129
  _modules_from_mindspore = (
129
- "mindspore", # https://gitee.com/mindspore/mindspore
130
- "msadapter", # https://openi.pcl.ac.cn/OpenI/MSAdapter
131
- "mindocr", # https://github.com/mindspore-lab/mindocr
132
- "mindyolo", # https://github.com/mindspore-lab/mindyolo
133
- "mindnlp", # https://github.com/mindspore-lab/mindnlp
134
- "mindcv", # https://github.com/mindspore-lab/mindcv
135
- "mindspore_rec", # https://github.com/mindspore-lab/mindrec
136
- "mindaudio", # https://github.com/mindspore-lab/mindaudio
137
- "mindone", # https://github.com/mindspore-lab/mindone
138
- "mindspore_rl", # https://github.com/mindspore-lab/mindrl
139
- "mindformers", # https://github.com/mindspore-lab/mindformers
140
- "mindpet", # https://github.com/mindspore-lab/mindpet
141
- "mindpose", # https://github.com/mindspore-lab/mindpose
142
- "mindface", # https://github.com/mindspore-lab/mindface
143
- "mindsearch", # https://github.com/mindspore-lab/mindsearch
144
- "mindinsight", # https://gitee.com/mindspore/mindinsight
145
- "mindelec", # https://gitee.com/mindspore/mindscience
146
- "mindflow", # https://gitee.com/mindspore/mindscience
147
- "mindsponge", # https://gitee.com/mindspore/mindscience
148
- "mindearth", # https://gitee.com/mindspore/mindscience
149
- "sciai", # https://gitee.com/mindspore/mindscience
150
- "mindquantum", # https://gitee.com/mindspore/mindquantum
151
- "mindarmour", # https://gitee.com/mindspore/mindarmour
152
- "mindpandas", # https://gitee.com/mindspore/mindpandas
153
- "mindvision", # https://gitee.com/mindspore/vision
154
- "mindspore_gl", # https://gitee.com/mindspore/graphlearning
155
- "mindspore_federated", # https://gitee.com/mindspore/federated
156
- "mindspore_gs", # https://gitee.com/mindspore/golden-stick
157
- "mindspore_serving", # https://gitee.com/mindspore/serving
158
- "mindspore_xai", # https://gitee.com/mindspore/xai
159
- "mindspore_hub", # https://gitee.com/mindspore/hub
160
- "ringmo_framework", # https://gitee.com/mindspore/ringmo-framework
130
+ "mindspore", "msadapter", "mindocr", "mindyolo", "mindnlp", "mindcv", "mindspore_rec", "mindaudio", "mindone",
131
+ "mindspore_rl", "mindformers", "mindpet", "mindpose", "mindface", "mindsearch", "mindinsight", "mindelec",
132
+ "mindflow", "mindsponge", "mindearth", "sciai", "mindquantum", "mindarmour", "mindpandas", "mindvision",
133
+ "mindspore_gl", "mindspore_federated", "mindspore_gs", "mindspore_serving", "mindspore_xai", "mindspore_hub",
134
+ "ringmo_framework", "troubleshooter", "mindtorch",
161
135
  )
162
136
 
163
137
  _global_params = {}
@@ -190,6 +164,7 @@ def get_attr_from_object(obj, attr_name=None):
190
164
  Returns:
191
165
  Object, obj's attr.
192
166
  """
167
+
193
168
  if obj is not None and attr_name is not None and hasattr(obj, attr_name):
194
169
  return getattr(obj, attr_name)
195
170
  return None
@@ -206,6 +181,7 @@ def get_parse_method_of_class(obj, parse_method=None):
206
181
  Returns:
207
182
  Function, obj's method.
208
183
  """
184
+
209
185
  method_name = None
210
186
  if parse_method is not None:
211
187
  method_name = parse_method
@@ -229,6 +205,7 @@ def get_bprop_method_of_class(obj, parse_method=None):
229
205
  Returns:
230
206
  Function, obj's method.
231
207
  """
208
+
232
209
  if isinstance(obj, nn.Cell):
233
210
  method_name = "bprop"
234
211
  return get_attr_from_object(obj, method_name)
@@ -475,11 +452,11 @@ def create_instance(cls_type, params=None):
475
452
  def convert_class_to_function(cls_str, cls_obj):
476
453
  """Convert class to function."""
477
454
  if issubclass(cls_obj, (Parameter, ops.MultitypeFuncGraph)):
478
- raise ValueError(f"Failed to compile in GRAPH_MODE because creating {cls_str} instances is not " \
479
- f"supported in 'construct' or @jit decorated function. Try to create {cls_str} " \
480
- f"instances external such as initialized in the method '__init__' before assigning. " \
481
- f"For more details, please refer to " \
482
- f"https://www.mindspore.cn/docs/zh-CN/r2.1/design/dynamic_graph_and_static_graph.html \n")
455
+ raise ValueError(f"Failed to compile in GRAPH_MODE because creating {cls_str} instances is not "
456
+ f"supported in 'construct' or @jit decorated function. Try to create {cls_str} "
457
+ f"instances external such as initialized in the method '__init__' before assigning. "
458
+ f"For more details, please refer to "
459
+ f"https://www.mindspore.cn/docs/zh-CN/r2.2/design/dynamic_graph_and_static_graph.html \n")
483
460
  return convert_class_to_function_map.get(cls_str)
484
461
 
485
462
 
@@ -545,14 +522,6 @@ def get_module_namespace(obj):
545
522
  return mod_namespace
546
523
 
547
524
 
548
- def get_class_attr_namespace_symbol(obj):
549
- """Get class namespace."""
550
- logger.debug("get class namespace, object: %r", obj)
551
- class_namespace = ClassAttrNamespace(obj)
552
- logger.debug("class namespace: %r", class_namespace)
553
- return class_namespace
554
-
555
-
556
525
  def get_class_member_namespace_symbol(obj):
557
526
  """Get obj class member type."""
558
527
  logger.debug("get class instance namespace, object: %r", obj)
@@ -583,6 +552,7 @@ def get_obj_defined_from_obj_type(obj_type):
583
552
  "List": list,
584
553
  "Tuple": tuple,
585
554
  "Dictionary": dict,
555
+ "NamedTuple": NamedTuple,
586
556
  }
587
557
 
588
558
  return obj_type_defined_map.get(obj_type)
@@ -637,6 +607,12 @@ def convert_to_ms_cootensor(data):
637
607
  return COOTensor(coo_tensor=data)
638
608
 
639
609
 
610
+ def convert_to_namedtuple(type_name, key_sequeue, value_sequeue):
611
+ """Convert C++ namedtuple to python object namedtuple."""
612
+ logger.debug(f"type_name: {type_name}, key_sequeue: {key_sequeue}, value_sequeue: {value_sequeue}")
613
+ return namedtuple(type_name, [*key_sequeue])(*value_sequeue)
614
+
615
+
640
616
  def get_object_description(obj, fname, fline):
641
617
  """Return method or funcition description for error report, include location, class name, etc."""
642
618
  if isinstance(obj, types.MethodType):
@@ -793,14 +769,24 @@ def _convert_stub_tensor(data):
793
769
  if is_stub_tensor(data):
794
770
  return data.stub_sync()
795
771
  if isinstance(data, tuple):
772
+ # Handle namedtuple since its type is tuple.
773
+ if hasattr(data, "_fields"):
774
+ type_name = data.__class__.__name__
775
+ data_dict = data._asdict()
776
+ fields = data_dict.keys()
777
+ return namedtuple(type_name, fields)(**_convert_stub_tensor(data_dict))
796
778
  return tuple(_convert_stub_tensor(x) for x in data)
797
779
  if isinstance(data, list):
798
780
  # Keep the list object not change.
799
- for _, input_data in enumerate(data):
800
- input_data = _convert_stub_tensor(input_data)
781
+ for i in range(len(data)):
782
+ data[i] = _convert_stub_tensor(data[i])
801
783
  return data
802
784
  if isinstance(data, dict):
803
- return dict((_convert_stub_tensor(key), _convert_stub_tensor(value)) for key, value in data.items())
785
+ # Keep the dict object not change.
786
+ keys = tuple(data.keys())
787
+ for key in keys:
788
+ data[_convert_stub_tensor(key)] = _convert_stub_tensor(data.pop(key))
789
+ return data
804
790
  return data
805
791
 
806
792
 
@@ -844,15 +830,9 @@ def get_script_id_attrs(script):
844
830
  return res
845
831
 
846
832
 
847
- def merge_global_params(global_dict):
848
- """Merge the global parameter."""
849
- logger.debug(f'merge global_dict: {global_dict}')
850
- _global_params.update(global_dict)
851
-
852
-
853
833
  def get_global_params():
854
834
  """Get the global parameter."""
855
- logger.debug(f'get global_dict: {_global_params}')
835
+ logger.debug(f"get global_dict: {_global_params}")
856
836
  return _global_params
857
837
 
858
838
 
@@ -877,8 +857,6 @@ class ThirdPartyLibraryChecker:
877
857
  4. Third-party libraries have 'site-packages' in their installation path.
878
858
  """
879
859
  def __init__(self):
880
- self.jit_modules = self.get_jit_modules()
881
- self.jit_ignore_modules = self.get_jit_ignore_modules()
882
860
  self.user_workspace_dir = self.get_top_level_module_path(os.getcwd())
883
861
  self.python_builtin_dir = os.path.abspath(os.path.dirname(os.__file__))
884
862
 
@@ -927,11 +905,13 @@ class ThirdPartyLibraryChecker:
927
905
  """Check if module is a third-party library."""
928
906
  module_leftmost_name = module.__name__.split('.')[0]
929
907
  # Modules in jit_ignore_modules are treated as third-party libraries, such as sys.builtin_module_names.
930
- if module_leftmost_name in self.jit_ignore_modules:
908
+ jit_ignore_modules = self.get_jit_ignore_modules()
909
+ if module_leftmost_name in jit_ignore_modules:
931
910
  logger.debug(f"Found third-party module '{module_leftmost_name}' in jit_ignore_modules.")
932
911
  return True
933
912
  # Modules in jit_modules require jit and they are considered to be in user workspace.
934
- if module_leftmost_name in self.jit_modules:
913
+ jit_modules = self.get_jit_modules()
914
+ if module_leftmost_name in jit_modules:
935
915
  logger.debug(f"Found user-defined module '{module_leftmost_name}' in jit_modules.")
936
916
  return False
937
917
  # A modules without __file__ attribute is considered to be in user workspace.
@@ -965,10 +945,13 @@ class ThirdPartyLibraryChecker:
965
945
  """Check if value is from a third-party library."""
966
946
  if inspect.ismodule(value):
967
947
  module = value
968
- elif inspect.isfunction(value) or inspect.ismethod(value):
948
+ elif (isinstance(value, types.FunctionType) and not hasattr(value, "__jit_function__")) or \
949
+ (isinstance(value, types.MethodType) and not hasattr(value.__func__, "__jit_function__")):
969
950
  if value in _convert_map():
970
951
  return False
971
952
  module = inspect.getmodule(value)
953
+ if module is None:
954
+ return False
972
955
  else:
973
956
  return False
974
957
  return self.get_module_source_location(module) == MODULE_FROM_THIRDPARTY
@@ -983,12 +966,12 @@ def is_from_third_party_library(value):
983
966
 
984
967
 
985
968
  def get_const_abs(obj):
986
- """get absolute value of const object."""
969
+ """Get absolute value of const object."""
987
970
  return abs(obj)
988
971
 
989
972
 
990
973
  def get_const_round(obj):
991
- """get round value of const object."""
974
+ """Get round value of const object."""
992
975
  if isinstance(obj, tuple):
993
976
  val = obj[0]
994
977
  point_num = obj[1]
@@ -997,7 +980,7 @@ def get_const_round(obj):
997
980
 
998
981
 
999
982
  def get_const_len(obj):
1000
- """get the length of const object."""
983
+ """Get the length of const object."""
1001
984
  return len(obj)
1002
985
 
1003
986
 
@@ -1051,6 +1034,8 @@ class Parser:
1051
1034
  if value == item:
1052
1035
  logger.debug(f"Found unsupported internal type: '{value}'.")
1053
1036
  return True
1037
+ if ms_adapter_registry.is_registered and value == ms_adapter_registry.tensor:
1038
+ return True
1054
1039
  return False
1055
1040
 
1056
1041
  @staticmethod
@@ -1161,7 +1146,11 @@ class Parser:
1161
1146
  """Get mindspore builtin namespace and symbol."""
1162
1147
  if var in self.closure_namespace:
1163
1148
  logger.debug(f"Found '{var}' in closure_namespace {self.closure_namespace.__str__()}.")
1164
- return self.closure_namespace, var
1149
+ try:
1150
+ value = self.closure_namespace[var]
1151
+ return self.closure_namespace, var, value
1152
+ except UnboundLocalError:
1153
+ return self.closure_namespace, var, None
1165
1154
  if var in self.global_namespace:
1166
1155
  logger.debug(f"Found '{var}' in global_namespace {self.global_namespace.__str__()}.")
1167
1156
  value = self.global_namespace[var]
@@ -1174,7 +1163,7 @@ class Parser:
1174
1163
  return support_info
1175
1164
 
1176
1165
  logger.debug(f"The name '{var}' is an undefined symbol.")
1177
- return None, None
1166
+ return None, None, None
1178
1167
 
1179
1168
  def check_third_party_library_side_effect(self, var, attr):
1180
1169
  """Check if value is from a third-party library."""
@@ -1192,11 +1181,12 @@ class Parser:
1192
1181
  "json": {"load", "loads", "dump", "dumps"},
1193
1182
  "pickle": {"load", "loads", "dump", "dumps"},
1194
1183
  "h5py": {"File", "Group", "Dataset"},
1195
- "os": {"listdir", "isfile", "exists", "isdir", "mkdir", "remove", "rmdir", "symlink"},
1184
+ "os": {"listdir", "isfile", "exists", "isdir", "mkdir", "remove", "rmdir", "symlink", "rename"},
1196
1185
  "shutil": {"copy", "copy2", "copytree", "move", "rmtree"},
1197
1186
  "pathlib": {"Path", "mkdir", "rmdir", "unlink", "rename", "symlink_to"},
1198
1187
  "glob": {"glob", "iglob"},
1199
- "zipfile": {"zipfile", "ZipFile", "write", "extractall"}}
1188
+ "zipfile": {"zipfile", "ZipFile", "write", "extractall"},
1189
+ "troubleshooter": {"save", "load"}}
1200
1190
  if var in self.global_namespace:
1201
1191
  logger.debug(f"Found '{var}' in global_namespace {self.global_namespace.__str__()}.")
1202
1192
  value = self.global_namespace[var]
@@ -1268,7 +1258,6 @@ class Parser:
1268
1258
  start_lineno += 1
1269
1259
  return comments
1270
1260
 
1271
-
1272
1261
  def get_source_code(self, start_lineno, start_colno, end_lineno, end_colno):
1273
1262
  """
1274
1263
  Get the script source at the location.
@@ -1282,6 +1271,7 @@ class Parser:
1282
1271
  Returns:
1283
1272
  str, the source string.
1284
1273
  """
1274
+
1285
1275
  if start_lineno == 0:
1286
1276
  logger.critical('start_lineno should not be 0')
1287
1277
 
@@ -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.