mindspore 2.1.0__cp38-none-any.whl → 2.2.11__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 (578) 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-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 +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-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 +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.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 +8998 -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 +61 -95
  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/__init__.py +4 -2
  257. mindspore/nn/wrap/cell_wrapper.py +87 -34
  258. mindspore/nn/wrap/grad_reducer.py +8 -5
  259. mindspore/nn/wrap/loss_scale.py +105 -42
  260. mindspore/numpy/array_creations.py +1 -2
  261. mindspore/numpy/array_ops.py +3 -2
  262. mindspore/numpy/utils_const.py +5 -5
  263. mindspore/offline_debug/convert_async.py +2 -2
  264. mindspore/ops/_grad_experimental/__init__.py +0 -5
  265. mindspore/ops/_grad_experimental/grad_array_ops.py +2 -3
  266. mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
  267. mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
  268. mindspore/ops/_grad_experimental/grad_implementations.py +11 -1
  269. mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
  270. mindspore/ops/_grad_experimental/grad_math_ops.py +19 -199
  271. mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
  272. mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
  273. mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
  274. mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
  275. mindspore/ops/_op_impl/aicpu/add.py +3 -3
  276. mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
  277. mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
  278. mindspore/ops/_op_impl/{_custom_op/flash_attention/constants.py → aicpu/eps.py} +18 -27
  279. mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
  280. mindspore/ops/_op_impl/aicpu/linear_sum_assignment.py +21 -2
  281. mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
  282. mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
  283. mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
  284. mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
  285. mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
  286. mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
  287. mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
  288. mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
  289. mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
  290. mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
  291. mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
  292. mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
  293. mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
  294. mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
  295. mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
  296. mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
  297. mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
  298. mindspore/ops/_op_impl/tbe/__init__.py +4 -4
  299. mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
  300. mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
  301. mindspore/ops/_primitive_cache.py +1 -1
  302. mindspore/ops/_tracefunc.py +45 -13
  303. mindspore/ops/_utils/utils.py +6 -1
  304. mindspore/ops/_vmap/vmap_array_ops.py +3 -3
  305. mindspore/ops/_vmap/vmap_base.py +3 -3
  306. mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
  307. mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
  308. mindspore/ops/_vmap/vmap_math_ops.py +5 -2
  309. mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
  310. mindspore/ops/arg_dtype_cast.py +54 -0
  311. mindspore/ops/composite/base.py +37 -10
  312. mindspore/ops/composite/math_ops.py +5 -4
  313. mindspore/ops/composite/multitype_ops/_compile_utils.py +275 -73
  314. mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
  315. mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
  316. mindspore/ops/composite/multitype_ops/getitem_impl.py +42 -4
  317. mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
  318. mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
  319. mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
  320. mindspore/ops/deprecated.py +304 -0
  321. mindspore/ops/function/__init__.py +4 -1
  322. mindspore/ops/function/array_func.py +174 -193
  323. mindspore/ops/function/clip_func.py +81 -13
  324. mindspore/ops/function/debug_func.py +1 -1
  325. mindspore/ops/function/grad/grad_func.py +18 -9
  326. mindspore/ops/function/image_func.py +10 -4
  327. mindspore/ops/function/linalg_func.py +5 -5
  328. mindspore/ops/function/math_func.py +575 -386
  329. mindspore/ops/function/nn_func.py +568 -260
  330. mindspore/ops/function/random_func.py +88 -57
  331. mindspore/ops/function/sparse_func.py +1 -1
  332. mindspore/ops/function/sparse_unary_func.py +14 -12
  333. mindspore/ops/function/vmap_func.py +6 -5
  334. mindspore/ops/functional.py +15 -10
  335. mindspore/ops/op_info_register.py +244 -25
  336. mindspore/ops/operations/__init__.py +31 -19
  337. mindspore/ops/operations/_grad_ops.py +71 -7
  338. mindspore/ops/operations/_inner_ops.py +350 -17
  339. mindspore/ops/operations/_quant_ops.py +4 -8
  340. mindspore/ops/operations/_sequence_ops.py +42 -0
  341. mindspore/ops/operations/array_ops.py +68 -282
  342. mindspore/ops/operations/comm_ops.py +107 -59
  343. mindspore/ops/operations/custom_ops.py +94 -70
  344. mindspore/ops/operations/debug_ops.py +8 -4
  345. mindspore/ops/operations/image_ops.py +18 -12
  346. mindspore/ops/operations/inner_ops.py +26 -3
  347. mindspore/ops/operations/math_ops.py +192 -144
  348. mindspore/ops/operations/nn_ops.py +857 -489
  349. mindspore/ops/operations/other_ops.py +0 -22
  350. mindspore/ops/operations/random_ops.py +53 -111
  351. mindspore/ops/operations/sparse_ops.py +3 -1
  352. mindspore/ops/primitive.py +24 -18
  353. mindspore/parallel/_auto_parallel_context.py +68 -8
  354. mindspore/parallel/_cost_model_context.py +2 -2
  355. mindspore/parallel/_offload_context.py +17 -3
  356. mindspore/parallel/_parallel_serialization.py +12 -5
  357. mindspore/parallel/_ps_context.py +12 -0
  358. mindspore/parallel/_tensor.py +18 -13
  359. mindspore/parallel/_transformer/layers.py +5 -3
  360. mindspore/parallel/_transformer/loss.py +1 -0
  361. mindspore/parallel/_transformer/moe.py +2 -2
  362. mindspore/parallel/_transformer/op_parallel_config.py +12 -1
  363. mindspore/parallel/_transformer/transformer.py +23 -3
  364. mindspore/parallel/_utils.py +11 -7
  365. mindspore/parallel/algo_parameter_config.py +85 -5
  366. mindspore/parallel/checkpoint_transform.py +19 -12
  367. mindspore/parallel/shard.py +21 -14
  368. mindspore/profiler/common/struct_type.py +3 -3
  369. mindspore/profiler/common/util.py +4 -2
  370. mindspore/profiler/envprofiling.py +1 -1
  371. mindspore/profiler/parser/aicpu_data_parser.py +5 -3
  372. mindspore/profiler/parser/ascend_flops_generator.py +2 -2
  373. mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
  374. mindspore/profiler/parser/ascend_hccl_generator.py +249 -12
  375. mindspore/profiler/parser/ascend_msprof_exporter.py +150 -255
  376. mindspore/profiler/parser/ascend_msprof_generator.py +204 -17
  377. mindspore/profiler/parser/ascend_op_generator.py +6 -6
  378. mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
  379. mindspore/profiler/parser/ascend_timeline_generator.py +14 -187
  380. mindspore/profiler/parser/base_timeline_generator.py +10 -8
  381. mindspore/profiler/parser/cpu_gpu_timeline_generator.py +16 -12
  382. mindspore/profiler/parser/flops_parser.py +15 -11
  383. mindspore/profiler/parser/framework_parser.py +38 -22
  384. mindspore/profiler/parser/hccl_parser.py +16 -12
  385. mindspore/profiler/parser/integrator.py +22 -11
  386. mindspore/profiler/parser/memory_usage_parser.py +2 -2
  387. mindspore/profiler/parser/minddata_analyzer.py +12 -14
  388. mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
  389. mindspore/profiler/parser/msadvisor_parser.py +8 -4
  390. mindspore/profiler/parser/op_intermediate_parser.py +5 -2
  391. mindspore/profiler/parser/optime_parser.py +1 -1
  392. mindspore/profiler/parser/profiler_info.py +21 -2
  393. mindspore/profiler/parser/step_trace_parser.py +11 -14
  394. mindspore/profiler/profiling.py +179 -89
  395. mindspore/rewrite/api/node.py +102 -19
  396. mindspore/rewrite/api/node_type.py +5 -1
  397. mindspore/rewrite/api/pattern_engine.py +1 -1
  398. mindspore/rewrite/api/scoped_value.py +9 -17
  399. mindspore/rewrite/api/symbol_tree.py +131 -47
  400. mindspore/rewrite/ast_helpers/__init__.py +2 -1
  401. mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
  402. mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
  403. mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
  404. mindspore/rewrite/common/rewrite_elog.py +5 -1
  405. mindspore/rewrite/namer.py +33 -24
  406. mindspore/rewrite/namespace.py +14 -5
  407. mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
  408. mindspore/rewrite/node/call_function.py +79 -0
  409. mindspore/rewrite/node/cell_container.py +135 -0
  410. mindspore/rewrite/node/control_flow.py +88 -0
  411. mindspore/rewrite/{node.py → node/node.py} +273 -234
  412. mindspore/rewrite/node/node_manager.py +254 -0
  413. mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
  414. mindspore/rewrite/parsers/arguments_parser.py +22 -21
  415. mindspore/rewrite/parsers/assign_parser.py +216 -221
  416. mindspore/rewrite/parsers/attribute_parser.py +9 -7
  417. mindspore/rewrite/parsers/class_def_parser.py +174 -113
  418. mindspore/rewrite/parsers/constant_parser.py +9 -6
  419. mindspore/rewrite/parsers/container_parser.py +9 -7
  420. mindspore/rewrite/parsers/for_parser.py +42 -21
  421. mindspore/rewrite/parsers/function_def_parser.py +24 -16
  422. mindspore/rewrite/parsers/if_parser.py +28 -24
  423. mindspore/rewrite/parsers/module_parser.py +196 -25
  424. mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
  425. mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
  426. mindspore/rewrite/parsers/return_parser.py +6 -6
  427. mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
  428. mindspore/rewrite/sparsify/utils.py +1 -1
  429. mindspore/rewrite/symbol_tree.py +523 -578
  430. mindspore/rewrite/symbol_tree_builder.py +9 -193
  431. mindspore/rewrite/symbol_tree_dumper.py +2 -2
  432. mindspore/run_check/_check_version.py +6 -4
  433. mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
  434. mindspore/safeguard/rewrite_obfuscation.py +541 -0
  435. mindspore/scipy/linalg.py +1 -1
  436. mindspore/scipy/ops.py +55 -5
  437. mindspore/scipy/optimize/__init__.py +3 -2
  438. mindspore/scipy/optimize/linear_sum_assignment.py +38 -33
  439. mindspore/scipy/optimize/minimize.py +7 -3
  440. mindspore/train/_utils.py +7 -3
  441. mindspore/train/amp.py +323 -123
  442. mindspore/train/anf_ir_pb2.py +14 -2
  443. mindspore/train/callback/_backup_and_restore.py +2 -12
  444. mindspore/train/callback/_callback.py +29 -4
  445. mindspore/train/callback/_checkpoint.py +23 -8
  446. mindspore/train/callback/_early_stop.py +2 -2
  447. mindspore/train/callback/_landscape.py +4 -4
  448. mindspore/train/callback/_loss_monitor.py +2 -2
  449. mindspore/train/callback/_on_request_exit.py +2 -2
  450. mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
  451. mindspore/train/callback/_summary_collector.py +15 -8
  452. mindspore/train/callback/_time_monitor.py +58 -5
  453. mindspore/train/data_sink.py +5 -11
  454. mindspore/train/dataset_helper.py +84 -57
  455. mindspore/train/loss_scale_manager.py +2 -2
  456. mindspore/train/metrics/__init__.py +3 -3
  457. mindspore/train/metrics/cosine_similarity.py +1 -1
  458. mindspore/train/metrics/hausdorff_distance.py +3 -2
  459. mindspore/train/metrics/mean_surface_distance.py +3 -2
  460. mindspore/train/metrics/metric.py +39 -19
  461. mindspore/train/metrics/roc.py +2 -2
  462. mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
  463. mindspore/train/mind_ir_pb2.py +85 -36
  464. mindspore/train/model.py +187 -47
  465. mindspore/train/serialization.py +487 -161
  466. mindspore/train/summary/_summary_adapter.py +1 -1
  467. mindspore/train/summary/_writer_pool.py +3 -2
  468. mindspore/train/summary/summary_record.py +37 -17
  469. mindspore/train/train_thor/convert_utils.py +3 -3
  470. mindspore/train/train_thor/dataset_helper.py +1 -1
  471. mindspore/version.py +1 -1
  472. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/METADATA +8 -8
  473. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/RECORD +477 -528
  474. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/entry_points.txt +0 -1
  475. mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
  476. mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
  477. mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
  478. mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
  479. mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
  480. mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
  481. mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
  482. mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
  483. mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
  484. mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
  485. mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
  486. mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
  487. mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
  488. mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
  489. mindspore/_akg/akg/tvm/rpc/base.py +0 -182
  490. mindspore/_akg/akg/tvm/rpc/client.py +0 -436
  491. mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
  492. mindspore/_akg/akg/tvm/rpc/server.py +0 -413
  493. mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
  494. mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
  495. mindspore/_extends/graph_kernel/expander.py +0 -80
  496. mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
  497. mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
  498. mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
  499. mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
  500. mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
  501. mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
  502. mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
  503. mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
  504. mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
  505. mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
  506. mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
  507. mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
  508. mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
  509. mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
  510. mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
  511. mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
  512. mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
  513. mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
  514. mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
  515. mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
  516. mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
  517. mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
  518. mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
  519. mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
  520. mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
  521. mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
  522. mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
  523. mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
  524. mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
  525. mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
  526. mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
  527. mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
  528. mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
  529. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
  530. mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
  531. mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
  532. mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
  533. mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
  534. mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
  535. mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
  536. mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
  537. mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
  538. mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
  539. mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
  540. mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
  541. mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
  542. mindspore/dataset/datapreprocess/__init__.py +0 -20
  543. mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
  544. mindspore/include/api/net.h +0 -142
  545. mindspore/nn/lr_scheduler.py +0 -262
  546. mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
  547. mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
  548. mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
  549. mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
  550. mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
  551. mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +0 -350
  552. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +0 -409
  553. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +0 -578
  554. mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +0 -199
  555. mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +0 -446
  556. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/__init__.py +0 -0
  557. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/sparse_tiling.py +0 -45
  558. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/strategy.py +0 -67
  559. mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +0 -62
  560. mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
  561. mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
  562. mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
  563. mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
  564. mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
  565. mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
  566. mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
  567. mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
  568. mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
  569. mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
  570. mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
  571. mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
  572. mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
  573. mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
  574. mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
  575. mindspore/rewrite/node_visitor.py +0 -44
  576. /mindspore/{ops/_op_impl/_custom_op/flash_attention → _akg/akg/utils/ascend_profilier}/__init__.py +0 -0
  577. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/WHEEL +0 -0
  578. {mindspore-2.1.0.dist-info → mindspore-2.2.11.dist-info}/top_level.txt +0 -0
@@ -23,13 +23,13 @@ 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,
32
+ is_module_list)
33
33
 
34
34
  __all__ = ['Parser', 'create_instance', 'is_supported_create_instance_type', 'generate_scope', 'get_attr_from_object',
35
35
  'get_bprop_method_of_class', 'get_class_instance_type', 'get_class_member_namespace_symbol',
@@ -37,11 +37,9 @@ __all__ = ['Parser', 'create_instance', 'is_supported_create_instance_type', 'ge
37
37
  'get_ast_type', 'get_node_type', 'get_args', 'get_args_default_values', 'get_ast_namespace_symbol',
38
38
  'get_operation_symbol', 'get_operation_namespace_symbol', 'get_parse_method_of_class', 'get_scope_name',
39
39
  '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',]
40
+ 'resolve_symbol', 'convert_to_ms_tensor', 'get_object_description', 'get_ms_class_name', 'is_class_type',
41
+ 'check_obj_bool', 'python_isinstance', 'ms_isinstance', 'convert_to_ms_csrtensor', 'convert_to_ms_cootensor',
42
+ 'convert_class_to_function', 'convert_cell_list_to_sequence', 'is_cell_list', 'get_obj_from_sequence',
43
+ 'get_type', 'is_class_member_recursive', 'get_adapter_tensor_attr', 'get_obj_defined_from_obj_type',
44
+ 'is_from_third_party_library', 'get_const_abs', 'get_const_round', 'get_const_len',
45
+ 'is_adapter_tensor_class', 'is_adapter_parameter_class', 'convert_to_namedtuple', 'is_module_list']
@@ -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
 
@@ -516,9 +493,14 @@ def is_cell_list(obj):
516
493
  return isinstance(obj, nn.CellList)
517
494
 
518
495
 
496
+ def is_module_list(obj):
497
+ """Check if obj is nn.ModuleList"""
498
+ return hasattr(obj, "__cell_as_list__") and not isinstance(obj, nn.CellList)
499
+
500
+
519
501
  def convert_cell_list_to_sequence(obj):
520
502
  """Convert nn.CellList to sequence."""
521
- if not isinstance(obj, nn.CellList):
503
+ if not hasattr(obj, "__cell_as_list__"):
522
504
  raise TypeError(f"Obj should be nn.CellList, but got {obj}")
523
505
  if not hasattr(obj, "_cells"):
524
506
  raise AttributeError(f"nn.CellList is missing _cells property.")
@@ -545,14 +527,6 @@ def get_module_namespace(obj):
545
527
  return mod_namespace
546
528
 
547
529
 
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
530
  def get_class_member_namespace_symbol(obj):
557
531
  """Get obj class member type."""
558
532
  logger.debug("get class instance namespace, object: %r", obj)
@@ -583,6 +557,7 @@ def get_obj_defined_from_obj_type(obj_type):
583
557
  "List": list,
584
558
  "Tuple": tuple,
585
559
  "Dictionary": dict,
560
+ "NamedTuple": NamedTuple,
586
561
  }
587
562
 
588
563
  return obj_type_defined_map.get(obj_type)
@@ -637,6 +612,12 @@ def convert_to_ms_cootensor(data):
637
612
  return COOTensor(coo_tensor=data)
638
613
 
639
614
 
615
+ def convert_to_namedtuple(type_name, key_sequeue, value_sequeue):
616
+ """Convert C++ namedtuple to python object namedtuple."""
617
+ logger.debug(f"type_name: {type_name}, key_sequeue: {key_sequeue}, value_sequeue: {value_sequeue}")
618
+ return namedtuple(type_name, [*key_sequeue])(*value_sequeue)
619
+
620
+
640
621
  def get_object_description(obj, fname, fline):
641
622
  """Return method or funcition description for error report, include location, class name, etc."""
642
623
  if isinstance(obj, types.MethodType):
@@ -793,14 +774,24 @@ def _convert_stub_tensor(data):
793
774
  if is_stub_tensor(data):
794
775
  return data.stub_sync()
795
776
  if isinstance(data, tuple):
777
+ # Handle namedtuple since its type is tuple.
778
+ if hasattr(data, "_fields"):
779
+ type_name = data.__class__.__name__
780
+ data_dict = data._asdict()
781
+ fields = data_dict.keys()
782
+ return namedtuple(type_name, fields)(**_convert_stub_tensor(data_dict))
796
783
  return tuple(_convert_stub_tensor(x) for x in data)
797
784
  if isinstance(data, list):
798
785
  # Keep the list object not change.
799
- for _, input_data in enumerate(data):
800
- input_data = _convert_stub_tensor(input_data)
786
+ for i in range(len(data)):
787
+ data[i] = _convert_stub_tensor(data[i])
801
788
  return data
802
789
  if isinstance(data, dict):
803
- return dict((_convert_stub_tensor(key), _convert_stub_tensor(value)) for key, value in data.items())
790
+ # Keep the dict object not change.
791
+ keys = tuple(data.keys())
792
+ for key in keys:
793
+ data[_convert_stub_tensor(key)] = _convert_stub_tensor(data.pop(key))
794
+ return data
804
795
  return data
805
796
 
806
797
 
@@ -844,15 +835,9 @@ def get_script_id_attrs(script):
844
835
  return res
845
836
 
846
837
 
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
838
  def get_global_params():
854
839
  """Get the global parameter."""
855
- logger.debug(f'get global_dict: {_global_params}')
840
+ logger.debug(f"get global_dict: {_global_params}")
856
841
  return _global_params
857
842
 
858
843
 
@@ -877,8 +862,6 @@ class ThirdPartyLibraryChecker:
877
862
  4. Third-party libraries have 'site-packages' in their installation path.
878
863
  """
879
864
  def __init__(self):
880
- self.jit_modules = self.get_jit_modules()
881
- self.jit_ignore_modules = self.get_jit_ignore_modules()
882
865
  self.user_workspace_dir = self.get_top_level_module_path(os.getcwd())
883
866
  self.python_builtin_dir = os.path.abspath(os.path.dirname(os.__file__))
884
867
 
@@ -927,11 +910,13 @@ class ThirdPartyLibraryChecker:
927
910
  """Check if module is a third-party library."""
928
911
  module_leftmost_name = module.__name__.split('.')[0]
929
912
  # 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:
913
+ jit_ignore_modules = self.get_jit_ignore_modules()
914
+ if module_leftmost_name in jit_ignore_modules:
931
915
  logger.debug(f"Found third-party module '{module_leftmost_name}' in jit_ignore_modules.")
932
916
  return True
933
917
  # Modules in jit_modules require jit and they are considered to be in user workspace.
934
- if module_leftmost_name in self.jit_modules:
918
+ jit_modules = self.get_jit_modules()
919
+ if module_leftmost_name in jit_modules:
935
920
  logger.debug(f"Found user-defined module '{module_leftmost_name}' in jit_modules.")
936
921
  return False
937
922
  # A modules without __file__ attribute is considered to be in user workspace.
@@ -965,10 +950,13 @@ class ThirdPartyLibraryChecker:
965
950
  """Check if value is from a third-party library."""
966
951
  if inspect.ismodule(value):
967
952
  module = value
968
- elif inspect.isfunction(value) or inspect.ismethod(value):
953
+ elif (isinstance(value, types.FunctionType) and not hasattr(value, "__jit_function__")) or \
954
+ (isinstance(value, types.MethodType) and not hasattr(value.__func__, "__jit_function__")):
969
955
  if value in _convert_map():
970
956
  return False
971
957
  module = inspect.getmodule(value)
958
+ if module is None:
959
+ return False
972
960
  else:
973
961
  return False
974
962
  return self.get_module_source_location(module) == MODULE_FROM_THIRDPARTY
@@ -983,12 +971,12 @@ def is_from_third_party_library(value):
983
971
 
984
972
 
985
973
  def get_const_abs(obj):
986
- """get absolute value of const object."""
974
+ """Get absolute value of const object."""
987
975
  return abs(obj)
988
976
 
989
977
 
990
978
  def get_const_round(obj):
991
- """get round value of const object."""
979
+ """Get round value of const object."""
992
980
  if isinstance(obj, tuple):
993
981
  val = obj[0]
994
982
  point_num = obj[1]
@@ -997,7 +985,7 @@ def get_const_round(obj):
997
985
 
998
986
 
999
987
  def get_const_len(obj):
1000
- """get the length of const object."""
988
+ """Get the length of const object."""
1001
989
  return len(obj)
1002
990
 
1003
991
 
@@ -1051,6 +1039,8 @@ class Parser:
1051
1039
  if value == item:
1052
1040
  logger.debug(f"Found unsupported internal type: '{value}'.")
1053
1041
  return True
1042
+ if ms_adapter_registry.is_registered and value == ms_adapter_registry.tensor:
1043
+ return True
1054
1044
  return False
1055
1045
 
1056
1046
  @staticmethod
@@ -1161,7 +1151,11 @@ class Parser:
1161
1151
  """Get mindspore builtin namespace and symbol."""
1162
1152
  if var in self.closure_namespace:
1163
1153
  logger.debug(f"Found '{var}' in closure_namespace {self.closure_namespace.__str__()}.")
1164
- return self.closure_namespace, var
1154
+ try:
1155
+ value = self.closure_namespace[var]
1156
+ return self.closure_namespace, var, value
1157
+ except UnboundLocalError:
1158
+ return self.closure_namespace, var, None
1165
1159
  if var in self.global_namespace:
1166
1160
  logger.debug(f"Found '{var}' in global_namespace {self.global_namespace.__str__()}.")
1167
1161
  value = self.global_namespace[var]
@@ -1174,7 +1168,7 @@ class Parser:
1174
1168
  return support_info
1175
1169
 
1176
1170
  logger.debug(f"The name '{var}' is an undefined symbol.")
1177
- return None, None
1171
+ return None, None, None
1178
1172
 
1179
1173
  def check_third_party_library_side_effect(self, var, attr):
1180
1174
  """Check if value is from a third-party library."""
@@ -1192,11 +1186,12 @@ class Parser:
1192
1186
  "json": {"load", "loads", "dump", "dumps"},
1193
1187
  "pickle": {"load", "loads", "dump", "dumps"},
1194
1188
  "h5py": {"File", "Group", "Dataset"},
1195
- "os": {"listdir", "isfile", "exists", "isdir", "mkdir", "remove", "rmdir", "symlink"},
1189
+ "os": {"listdir", "isfile", "exists", "isdir", "mkdir", "remove", "rmdir", "symlink", "rename"},
1196
1190
  "shutil": {"copy", "copy2", "copytree", "move", "rmtree"},
1197
1191
  "pathlib": {"Path", "mkdir", "rmdir", "unlink", "rename", "symlink_to"},
1198
1192
  "glob": {"glob", "iglob"},
1199
- "zipfile": {"zipfile", "ZipFile", "write", "extractall"}}
1193
+ "zipfile": {"zipfile", "ZipFile", "write", "extractall"},
1194
+ "troubleshooter": {"save", "load"}}
1200
1195
  if var in self.global_namespace:
1201
1196
  logger.debug(f"Found '{var}' in global_namespace {self.global_namespace.__str__()}.")
1202
1197
  value = self.global_namespace[var]
@@ -1268,7 +1263,6 @@ class Parser:
1268
1263
  start_lineno += 1
1269
1264
  return comments
1270
1265
 
1271
-
1272
1266
  def get_source_code(self, start_lineno, start_colno, end_lineno, end_colno):
1273
1267
  """
1274
1268
  Get the script source at the location.
@@ -1282,6 +1276,7 @@ class Parser:
1282
1276
  Returns:
1283
1277
  str, the source string.
1284
1278
  """
1279
+
1285
1280
  if start_lineno == 0:
1286
1281
  logger.critical('start_lineno should not be 0')
1287
1282
 
@@ -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.