mindspore 2.1.0__cp39-none-any.whl → 2.2.10__cp39-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.
- mindspore/.commit_id +1 -1
- mindspore/__init__.py +4 -1
- mindspore/_akg/akg/build_module.py +5 -6
- mindspore/_akg/akg/composite/build_module.py +46 -19
- mindspore/_akg/akg/composite/split_stitch.py +10 -11
- mindspore/_akg/akg/ms/info_version_adapt.py +67 -1
- mindspore/_akg/akg/tvm/api.py +4 -3
- mindspore/_akg/akg/tvm/autotvm/__init__.py +1 -2
- mindspore/_akg/akg/tvm/autotvm/graph_tuner/base_graph_tuner.py +1 -5
- mindspore/_akg/akg/tvm/autotvm/measure/__init__.py +1 -1
- mindspore/_akg/akg/tvm/autotvm/measure/measure.py +1 -10
- mindspore/_akg/akg/tvm/autotvm/measure/measure_methods.py +1 -372
- mindspore/_akg/akg/tvm/build_module.py +16 -1
- mindspore/_akg/akg/tvm/contrib/graph_runtime.py +0 -53
- mindspore/_akg/akg/tvm/hybrid/parser.py +7 -6
- mindspore/_akg/akg/tvm/ir_builder.py +1 -1
- mindspore/_akg/akg/tvm/module.py +1 -2
- mindspore/_akg/akg/tvm/stmt.py +2 -2
- mindspore/_akg/akg/utils/ascend_profilier/__init__.py +0 -0
- mindspore/_akg/akg/utils/ascend_profilier/cann_file_parser.py +76 -0
- mindspore/_akg/akg/utils/ascend_profilier/file_manager.py +56 -0
- mindspore/_akg/akg/utils/ascend_profilier/op_summary_bean.py +23 -0
- mindspore/_akg/akg/utils/ascend_profilier/op_summary_headers.py +8 -0
- mindspore/_akg/akg/utils/ascend_profilier/op_summary_parser.py +42 -0
- mindspore/_akg/akg/utils/ascend_profilier/path_manager.py +65 -0
- mindspore/_akg/akg/utils/composite_op_helper.py +9 -10
- mindspore/_akg/akg/utils/kernel_exec.py +98 -274
- mindspore/_akg/akg/utils/result_analysis.py +4 -24
- mindspore/_akg/akg/utils/tbe_codegen_utils.py +219 -0
- mindspore/_akg/akg/utils/util.py +38 -0
- mindspore/_c_dataengine.cpython-39-aarch64-linux-gnu.so +0 -0
- mindspore/_c_expression.cpython-39-aarch64-linux-gnu.so +0 -0
- mindspore/_c_mindrecord.cpython-39-aarch64-linux-gnu.so +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -1
- mindspore/_checkparam.py +23 -29
- mindspore/_extends/graph_kernel/__init__.py +0 -1
- mindspore/_extends/graph_kernel/model/graph_split.py +84 -76
- mindspore/_extends/graph_kernel/model/model_builder.py +9 -50
- mindspore/_extends/graph_kernel/splitter.py +4 -11
- mindspore/_extends/parallel_compile/akg_compiler/akg_process.py +122 -15
- mindspore/_extends/parallel_compile/akg_compiler/build_tbe_kernel.py +84 -67
- mindspore/_extends/parallel_compile/akg_compiler/tbe_topi.py +4 -2
- mindspore/_extends/parallel_compile/akg_compiler/util.py +10 -7
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_adapter.py +2 -2
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_helper.py +6 -5
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job.py +1 -1
- mindspore/_extends/parallel_compile/tbe_compiler/tbe_job_manager.py +1 -1
- mindspore/_extends/parse/__init__.py +12 -15
- mindspore/_extends/parse/namespace.py +7 -33
- mindspore/_extends/parse/parser.py +61 -71
- mindspore/_extends/parse/resources.py +1 -1
- mindspore/_extends/parse/standard_method.py +74 -104
- mindspore/_extends/parse/trope.py +1 -1
- mindspore/_extends/remote/kernel_build_server.py +25 -7
- mindspore/_extends/remote/kernel_build_server_akg_v2.py +55 -0
- mindspore/_install_custom.py +43 -0
- mindspore/_mindspore_offline_debug.cpython-39-aarch64-linux-gnu.so +0 -0
- mindspore/amp.py +47 -11
- mindspore/bin/cache_admin +0 -0
- mindspore/bin/cache_server +0 -0
- mindspore/boost/boost.py +1 -8
- mindspore/boost/boost_cell_wrapper.py +3 -2
- mindspore/boost/grad_accumulation.py +1 -1
- mindspore/boost/group_loss_scale_manager.py +8 -7
- mindspore/common/__init__.py +5 -3
- mindspore/common/_jit_fallback_utils.py +6 -0
- mindspore/common/_register_for_adapter.py +2 -0
- mindspore/common/_register_for_tensor.py +2 -2
- mindspore/common/_stub_tensor.py +13 -0
- mindspore/common/_utils.py +13 -0
- mindspore/common/api.py +174 -259
- mindspore/common/auto_dynamic_shape.py +494 -0
- mindspore/common/dtype.py +18 -11
- mindspore/common/dump.py +6 -4
- mindspore/common/initializer.py +14 -14
- mindspore/common/jit_config.py +33 -15
- mindspore/common/lazy_inline.py +126 -7
- mindspore/common/mindir_util.py +101 -0
- mindspore/common/parameter.py +51 -41
- mindspore/common/seed.py +4 -4
- mindspore/common/sparse_tensor.py +13 -14
- mindspore/common/tensor.py +243 -165
- mindspore/communication/__init__.py +7 -4
- mindspore/communication/_comm_helper.py +83 -4
- mindspore/communication/management.py +152 -84
- mindspore/config/op_info.config +14 -3
- mindspore/config/super_bar_config.json +4 -2
- mindspore/context.py +152 -61
- mindspore/dataset/__init__.py +5 -5
- mindspore/dataset/audio/__init__.py +2 -2
- mindspore/dataset/audio/transforms.py +52 -52
- mindspore/dataset/callback/ds_callback.py +16 -2
- mindspore/dataset/core/config.py +68 -51
- mindspore/dataset/engine/cache_client.py +28 -5
- mindspore/dataset/engine/datasets.py +250 -112
- mindspore/dataset/engine/datasets_audio.py +43 -211
- mindspore/dataset/engine/datasets_standard_format.py +16 -35
- mindspore/dataset/engine/datasets_text.py +43 -67
- mindspore/dataset/engine/datasets_user_defined.py +86 -100
- mindspore/dataset/engine/datasets_vision.py +219 -1029
- mindspore/dataset/engine/iterators.py +11 -4
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +4 -0
- mindspore/dataset/engine/obs/util.py +3 -0
- mindspore/dataset/engine/samplers.py +1 -1
- mindspore/dataset/engine/validators.py +19 -5
- mindspore/dataset/text/__init__.py +3 -3
- mindspore/dataset/text/transforms.py +101 -127
- mindspore/dataset/text/utils.py +205 -138
- mindspore/dataset/transforms/__init__.py +1 -1
- mindspore/dataset/transforms/py_transforms_util.py +40 -12
- mindspore/dataset/transforms/transforms.py +95 -40
- mindspore/dataset/utils/browse_dataset.py +8 -2
- mindspore/dataset/utils/line_reader.py +17 -19
- mindspore/dataset/vision/__init__.py +3 -3
- mindspore/dataset/vision/c_transforms.py +6 -3
- mindspore/dataset/vision/transforms.py +409 -287
- mindspore/dataset/vision/utils.py +13 -14
- mindspore/dataset/vision/validators.py +11 -1
- mindspore/experimental/map_parameter.py +14 -0
- mindspore/{nn/optim_ex → experimental/optim}/__init__.py +30 -29
- mindspore/{nn/optim_ex → experimental/optim}/adam.py +60 -67
- mindspore/{nn/optim_ex → experimental/optim}/adamw.py +181 -203
- mindspore/experimental/optim/lr_scheduler.py +1427 -0
- mindspore/{nn/optim_ex → experimental/optim}/optimizer.py +252 -259
- mindspore/{nn/optim_ex → experimental/optim}/sgd.py +147 -152
- mindspore/gen_ops.py +273 -0
- mindspore/include/OWNERS +0 -1
- mindspore/include/api/data_type.h +2 -1
- mindspore/include/api/graph.h +0 -15
- mindspore/include/api/kernel.h +2 -0
- mindspore/include/api/kernel_api.h +37 -12
- mindspore/include/api/model.h +17 -14
- mindspore/include/api/status.h +8 -3
- mindspore/include/api/types.h +37 -4
- mindspore/include/c_api/ms/abstract.h +67 -0
- mindspore/include/c_api/ms/attribute.h +197 -0
- mindspore/include/c_api/ms/base/handle_types.h +43 -0
- mindspore/include/c_api/ms/base/macros.h +32 -0
- mindspore/include/c_api/ms/base/status.h +33 -0
- mindspore/include/c_api/ms/base/types.h +282 -0
- mindspore/include/c_api/ms/context.h +102 -0
- mindspore/include/c_api/ms/graph.h +160 -0
- mindspore/include/c_api/ms/node.h +606 -0
- mindspore/include/c_api/ms/tensor.h +161 -0
- mindspore/include/c_api/ms/value.h +84 -0
- mindspore/include/dataset/constants.h +6 -5
- mindspore/include/dataset/execute.h +23 -13
- mindspore/include/dataset/text.h +26 -26
- mindspore/include/dataset/transforms.h +13 -13
- mindspore/include/dataset/vision.h +60 -60
- mindspore/include/dataset/vision_ascend.h +5 -6
- mindspore/include/dataset/vision_lite.h +17 -17
- mindspore/include/mindapi/base/type_id.h +1 -0
- mindspore/include/mindapi/base/types.h +1 -0
- mindspore/lib/libdnnl.so.2 +0 -0
- mindspore/lib/libjemalloc.so.2 +0 -0
- mindspore/lib/libmindspore.so +0 -0
- mindspore/lib/libmindspore_backend.so +0 -0
- mindspore/lib/libmindspore_common.so +0 -0
- mindspore/lib/libmindspore_core.so +0 -0
- mindspore/lib/libmindspore_glog.so.0 +0 -0
- mindspore/lib/libmindspore_gpr.so.15 +0 -0
- mindspore/lib/libmindspore_grpc++.so.1 +0 -0
- mindspore/lib/libmindspore_grpc.so.15 +0 -0
- mindspore/lib/libmindspore_shared_lib.so +0 -0
- mindspore/lib/libnnacl.so +0 -0
- mindspore/lib/libopencv_core.so.4.5 +0 -0
- mindspore/lib/libopencv_imgcodecs.so.4.5 +0 -0
- mindspore/lib/libopencv_imgproc.so.4.5 +0 -0
- mindspore/lib/libps_cache.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310/aic-ascend310-ops-info.json +123 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend310p/aic-ascend310p-ops-info.json +123 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910/aic-ascend910-ops-info.json +158 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/config/ascend910b/aic-ascend910b-ops-info.json +37 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/ai_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_dsl.py +46 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/add_tik.py +51 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/kv_cache_mgr.py +241 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_impl/vector_core/tbe/custom_aicore_ops_impl/matmul_tik.py +212 -0
- mindspore/lib/plugin/ascend/custom_aicore_ops/op_proto/libop_proto.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_aicpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/aicpu_kernel/impl/libcust_cpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_impl/cpu/config/cust_aicpu_kernel.json +8928 -0
- mindspore/lib/plugin/ascend/custom_aicpu_ops/op_proto/libcust_op_proto.so +0 -0
- mindspore/lib/plugin/ascend/libakg.so +0 -0
- mindspore/lib/plugin/ascend/libascend_collective.so +0 -0
- mindspore/lib/plugin/ascend/libdvpp_utils.so +0 -0
- mindspore/lib/plugin/ascend/libhccl_plugin.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_aicpu_kernels.so +0 -0
- mindspore/lib/plugin/ascend/libmindspore_cpu_kernels.so +0 -0
- mindspore/lib/plugin/cpu/libakg.so +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.1 +0 -0
- mindspore/lib/plugin/libmindspore_ascend.so.2 +0 -0
- mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
- mindspore/mindrecord/tools/mnist_to_mr.py +2 -2
- mindspore/nn/__init__.py +0 -2
- mindspore/nn/cell.py +313 -74
- mindspore/nn/dynamic_lr.py +21 -21
- mindspore/nn/layer/activation.py +22 -30
- mindspore/nn/layer/basic.py +15 -13
- mindspore/nn/layer/channel_shuffle.py +1 -1
- mindspore/nn/layer/container.py +271 -9
- mindspore/nn/layer/conv.py +323 -204
- mindspore/nn/layer/dense.py +8 -5
- mindspore/nn/layer/embedding.py +33 -27
- mindspore/nn/layer/flash_attention.py +141 -88
- mindspore/nn/layer/image.py +8 -6
- mindspore/nn/layer/math.py +16 -25
- mindspore/nn/layer/normalization.py +107 -66
- mindspore/nn/layer/padding.py +1 -1
- mindspore/nn/layer/pooling.py +131 -109
- mindspore/nn/layer/rnn_cells.py +27 -22
- mindspore/nn/layer/rnns.py +13 -16
- mindspore/nn/layer/thor_layer.py +1 -1
- mindspore/nn/layer/transformer.py +221 -154
- mindspore/nn/learning_rate_schedule.py +9 -1
- mindspore/nn/loss/loss.py +235 -174
- mindspore/nn/optim/ada_grad.py +2 -1
- mindspore/nn/optim/adadelta.py +1 -0
- mindspore/nn/optim/adafactor.py +2 -1
- mindspore/nn/optim/adam.py +7 -4
- mindspore/nn/optim/adamax.py +3 -2
- mindspore/nn/optim/adasum.py +2 -2
- mindspore/nn/optim/asgd.py +2 -3
- mindspore/nn/optim/ftrl.py +6 -5
- mindspore/nn/optim/lamb.py +7 -4
- mindspore/nn/optim/lars.py +1 -1
- mindspore/nn/optim/lazyadam.py +5 -3
- mindspore/nn/optim/momentum.py +2 -1
- mindspore/nn/optim/optimizer.py +53 -4
- mindspore/nn/optim/proximal_ada_grad.py +3 -4
- mindspore/nn/optim/rmsprop.py +4 -3
- mindspore/nn/optim/rprop.py +23 -12
- mindspore/nn/optim/sgd.py +26 -11
- mindspore/nn/optim/thor.py +9 -7
- mindspore/nn/probability/bijector/bijector.py +5 -5
- mindspore/nn/probability/bijector/power_transform.py +27 -27
- mindspore/nn/probability/bijector/softplus.py +3 -3
- mindspore/nn/probability/distribution/_utils/custom_ops.py +3 -3
- mindspore/nn/probability/distribution/bernoulli.py +5 -5
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +7 -7
- mindspore/nn/probability/distribution/cauchy.py +0 -1
- mindspore/nn/probability/distribution/distribution.py +3 -3
- mindspore/nn/probability/distribution/gamma.py +3 -3
- mindspore/nn/probability/distribution/geometric.py +4 -4
- mindspore/nn/probability/distribution/gumbel.py +4 -4
- mindspore/nn/probability/distribution/log_normal.py +2 -2
- mindspore/nn/probability/distribution/logistic.py +2 -2
- mindspore/nn/probability/distribution/poisson.py +4 -4
- mindspore/nn/probability/distribution/transformed_distribution.py +3 -3
- mindspore/nn/probability/distribution/uniform.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +84 -34
- mindspore/nn/wrap/grad_reducer.py +8 -5
- mindspore/nn/wrap/loss_scale.py +105 -42
- mindspore/numpy/array_creations.py +1 -2
- mindspore/numpy/array_ops.py +3 -2
- mindspore/numpy/utils_const.py +5 -5
- mindspore/offline_debug/convert_async.py +2 -2
- mindspore/ops/_grad_experimental/__init__.py +0 -5
- mindspore/ops/_grad_experimental/grad_array_ops.py +2 -3
- mindspore/ops/_grad_experimental/grad_comm_ops.py +15 -2
- mindspore/ops/_grad_experimental/grad_debug_ops.py +0 -37
- mindspore/ops/_grad_experimental/grad_implementations.py +11 -1
- mindspore/ops/_grad_experimental/grad_inner_ops.py +2 -216
- mindspore/ops/_grad_experimental/grad_math_ops.py +19 -199
- mindspore/ops/_grad_experimental/grad_sparse.py +15 -0
- mindspore/ops/_grad_experimental/grad_sparse_ops.py +3 -3
- mindspore/ops/_op_impl/_custom_op/dsd_back_impl.py +1 -1
- mindspore/ops/_op_impl/_custom_op/flash_attention/attention.py +165 -109
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_bwd.py +144 -86
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_fwd.py +172 -187
- mindspore/ops/_op_impl/_custom_op/flash_attention/flash_attention_impl.py +51 -57
- mindspore/ops/_op_impl/_custom_op/flash_attention/tik_ops_utils.py +6 -17
- mindspore/ops/_op_impl/_custom_op/flash_attention/tiling_strategy/wukong_tiling.py +1 -1
- mindspore/ops/_op_impl/aicpu/__init__.py +14 -2
- mindspore/ops/_op_impl/aicpu/add.py +3 -3
- mindspore/ops/_op_impl/aicpu/bias_add_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/count_nonzero.py +43 -0
- mindspore/ops/_op_impl/aicpu/eps.py +32 -0
- mindspore/ops/_op_impl/aicpu/gamma.py +2 -2
- mindspore/ops/_op_impl/aicpu/log_uniform_candidate_sampler.py +6 -3
- mindspore/ops/_op_impl/aicpu/lu_unpack_grad.py +0 -1
- mindspore/ops/_op_impl/aicpu/multinomial.py +3 -3
- mindspore/ops/_op_impl/aicpu/parameterized_truncated_normal.py +15 -7
- mindspore/ops/_op_impl/aicpu/random_categorical.py +39 -19
- mindspore/ops/_op_impl/aicpu/random_choice_with_mask.py +5 -2
- mindspore/ops/_op_impl/aicpu/random_poisson.py +103 -52
- mindspore/ops/_op_impl/aicpu/random_shuffle.py +17 -15
- mindspore/ops/_op_impl/aicpu/{sparseaddmm.py → sparse_addmm.py} +2 -2
- mindspore/ops/_op_impl/aicpu/{sparsesparsemaximum.py → sparse_sparse_maximum.py} +4 -4
- mindspore/ops/_op_impl/aicpu/standard_laplace.py +5 -5
- mindspore/ops/_op_impl/aicpu/standard_normal.py +5 -5
- mindspore/ops/_op_impl/aicpu/truncated_normal.py +9 -7
- mindspore/ops/_op_impl/aicpu/uniform.py +5 -3
- mindspore/ops/_op_impl/aicpu/uniform_candidate_sampler.py +8 -4
- mindspore/ops/_op_impl/aicpu/uniform_int.py +5 -5
- mindspore/ops/_op_impl/aicpu/uniform_real.py +4 -4
- mindspore/ops/_op_impl/tbe/__init__.py +4 -4
- mindspore/ops/_op_impl/tbe/inplace_index_add.py +7 -3
- mindspore/ops/_op_impl/tbe/trans_data_ds.py +2 -0
- mindspore/ops/_primitive_cache.py +1 -1
- mindspore/ops/_tracefunc.py +45 -13
- mindspore/ops/_utils/utils.py +6 -1
- mindspore/ops/_vmap/vmap_array_ops.py +3 -3
- mindspore/ops/_vmap/vmap_base.py +3 -3
- mindspore/ops/_vmap/vmap_convolution_ops.py +1 -1
- mindspore/ops/_vmap/vmap_grad_math_ops.py +6 -4
- mindspore/ops/_vmap/vmap_math_ops.py +5 -2
- mindspore/ops/_vmap/vmap_nn_ops.py +61 -7
- mindspore/ops/arg_dtype_cast.py +54 -0
- mindspore/ops/composite/base.py +37 -10
- mindspore/ops/composite/math_ops.py +5 -4
- mindspore/ops/composite/multitype_ops/_compile_utils.py +275 -73
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +16 -9
- mindspore/ops/composite/multitype_ops/add_impl.py +43 -4
- mindspore/ops/composite/multitype_ops/getitem_impl.py +42 -4
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +6 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +9 -0
- mindspore/ops/deprecated.py +304 -0
- mindspore/ops/function/__init__.py +4 -1
- mindspore/ops/function/array_func.py +174 -193
- mindspore/ops/function/clip_func.py +81 -13
- mindspore/ops/function/debug_func.py +1 -1
- mindspore/ops/function/grad/grad_func.py +18 -9
- mindspore/ops/function/image_func.py +10 -4
- mindspore/ops/function/linalg_func.py +5 -5
- mindspore/ops/function/math_func.py +575 -386
- mindspore/ops/function/nn_func.py +568 -260
- mindspore/ops/function/random_func.py +88 -57
- mindspore/ops/function/sparse_func.py +1 -1
- mindspore/ops/function/sparse_unary_func.py +14 -12
- mindspore/ops/function/vmap_func.py +6 -5
- mindspore/ops/functional.py +15 -10
- mindspore/ops/op_info_register.py +244 -25
- mindspore/ops/operations/__init__.py +28 -19
- mindspore/ops/operations/_grad_ops.py +72 -7
- mindspore/ops/operations/_inner_ops.py +350 -17
- mindspore/ops/operations/_quant_ops.py +4 -8
- mindspore/ops/operations/_sequence_ops.py +42 -0
- mindspore/ops/operations/array_ops.py +68 -282
- mindspore/ops/operations/comm_ops.py +107 -59
- mindspore/ops/operations/custom_ops.py +94 -70
- mindspore/ops/operations/debug_ops.py +8 -4
- mindspore/ops/operations/image_ops.py +18 -12
- mindspore/ops/operations/inner_ops.py +26 -3
- mindspore/ops/operations/math_ops.py +189 -141
- mindspore/ops/operations/nn_ops.py +794 -489
- mindspore/ops/operations/other_ops.py +0 -22
- mindspore/ops/operations/random_ops.py +53 -111
- mindspore/ops/operations/sparse_ops.py +3 -1
- mindspore/ops/primitive.py +24 -18
- mindspore/parallel/_auto_parallel_context.py +68 -8
- mindspore/parallel/_cost_model_context.py +2 -2
- mindspore/parallel/_offload_context.py +17 -3
- mindspore/parallel/_parallel_serialization.py +12 -5
- mindspore/parallel/_ps_context.py +12 -0
- mindspore/parallel/_tensor.py +18 -13
- mindspore/parallel/_transformer/layers.py +5 -3
- mindspore/parallel/_transformer/loss.py +1 -0
- mindspore/parallel/_transformer/moe.py +2 -2
- mindspore/parallel/_transformer/op_parallel_config.py +12 -1
- mindspore/parallel/_transformer/transformer.py +23 -3
- mindspore/parallel/_utils.py +11 -7
- mindspore/parallel/algo_parameter_config.py +85 -5
- mindspore/parallel/checkpoint_transform.py +19 -12
- mindspore/parallel/shard.py +21 -14
- mindspore/profiler/common/struct_type.py +3 -3
- mindspore/profiler/common/util.py +4 -2
- mindspore/profiler/envprofiling.py +1 -1
- mindspore/profiler/parser/aicpu_data_parser.py +5 -3
- mindspore/profiler/parser/ascend_flops_generator.py +2 -2
- mindspore/profiler/parser/ascend_fpbp_generator.py +1 -1
- mindspore/profiler/parser/ascend_hccl_generator.py +249 -12
- mindspore/profiler/parser/ascend_msprof_exporter.py +150 -255
- mindspore/profiler/parser/ascend_msprof_generator.py +204 -17
- mindspore/profiler/parser/ascend_op_generator.py +6 -6
- mindspore/profiler/parser/ascend_steptrace_generator.py +6 -4
- mindspore/profiler/parser/ascend_timeline_generator.py +14 -187
- mindspore/profiler/parser/base_timeline_generator.py +10 -8
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +16 -12
- mindspore/profiler/parser/flops_parser.py +15 -11
- mindspore/profiler/parser/framework_parser.py +38 -22
- mindspore/profiler/parser/hccl_parser.py +16 -12
- mindspore/profiler/parser/integrator.py +22 -11
- mindspore/profiler/parser/memory_usage_parser.py +2 -2
- mindspore/profiler/parser/minddata_analyzer.py +12 -14
- mindspore/profiler/parser/minddata_pipeline_parser.py +1 -1
- mindspore/profiler/parser/msadvisor_parser.py +8 -4
- mindspore/profiler/parser/op_intermediate_parser.py +5 -2
- mindspore/profiler/parser/optime_parser.py +1 -1
- mindspore/profiler/parser/profiler_info.py +21 -2
- mindspore/profiler/parser/step_trace_parser.py +11 -14
- mindspore/profiler/profiling.py +179 -89
- mindspore/rewrite/api/node.py +102 -19
- mindspore/rewrite/api/node_type.py +5 -1
- mindspore/rewrite/api/pattern_engine.py +1 -1
- mindspore/rewrite/api/scoped_value.py +9 -17
- mindspore/rewrite/api/symbol_tree.py +131 -47
- mindspore/rewrite/ast_helpers/__init__.py +2 -1
- mindspore/rewrite/ast_helpers/ast_finder.py +129 -0
- mindspore/rewrite/ast_helpers/ast_modifier.py +116 -104
- mindspore/rewrite/ast_transformers/flatten_recursive_stmt.py +93 -46
- mindspore/rewrite/common/rewrite_elog.py +5 -1
- mindspore/rewrite/namer.py +33 -24
- mindspore/rewrite/namespace.py +14 -5
- mindspore/{_extends/graph_kernel/expanders/complex → rewrite/node}/__init__.py +9 -9
- mindspore/rewrite/node/call_function.py +79 -0
- mindspore/rewrite/node/cell_container.py +135 -0
- mindspore/rewrite/node/control_flow.py +88 -0
- mindspore/rewrite/{node.py → node/node.py} +273 -234
- mindspore/rewrite/node/node_manager.py +254 -0
- mindspore/rewrite/{topological_manager.py → node/node_topological_manager.py} +13 -46
- mindspore/rewrite/parsers/arguments_parser.py +22 -21
- mindspore/rewrite/parsers/assign_parser.py +216 -221
- mindspore/rewrite/parsers/attribute_parser.py +9 -7
- mindspore/rewrite/parsers/class_def_parser.py +174 -113
- mindspore/rewrite/parsers/constant_parser.py +9 -6
- mindspore/rewrite/parsers/container_parser.py +9 -7
- mindspore/rewrite/parsers/for_parser.py +36 -15
- mindspore/rewrite/parsers/function_def_parser.py +24 -16
- mindspore/rewrite/parsers/if_parser.py +28 -24
- mindspore/rewrite/parsers/module_parser.py +196 -25
- mindspore/rewrite/{parser.py → parsers/parser.py} +4 -2
- mindspore/rewrite/{parser_register.py → parsers/parser_register.py} +1 -1
- mindspore/rewrite/parsers/return_parser.py +6 -6
- mindspore/rewrite/sparsify/sparse_transformer.py +12 -3
- mindspore/rewrite/sparsify/utils.py +1 -1
- mindspore/rewrite/symbol_tree.py +523 -578
- mindspore/rewrite/symbol_tree_builder.py +9 -193
- mindspore/rewrite/symbol_tree_dumper.py +2 -2
- mindspore/run_check/_check_version.py +6 -4
- mindspore/{ops/bprop_mindir → safeguard}/__init__.py +4 -3
- mindspore/safeguard/rewrite_obfuscation.py +541 -0
- mindspore/scipy/linalg.py +1 -1
- mindspore/scipy/optimize/minimize.py +7 -3
- mindspore/train/_utils.py +7 -3
- mindspore/train/amp.py +323 -123
- mindspore/train/anf_ir_pb2.py +14 -2
- mindspore/train/callback/_backup_and_restore.py +2 -12
- mindspore/train/callback/_callback.py +29 -4
- mindspore/train/callback/_checkpoint.py +23 -8
- mindspore/train/callback/_early_stop.py +2 -2
- mindspore/train/callback/_landscape.py +4 -4
- mindspore/train/callback/_loss_monitor.py +2 -2
- mindspore/train/callback/_on_request_exit.py +2 -2
- mindspore/train/callback/_reduce_lr_on_plateau.py +3 -4
- mindspore/train/callback/_summary_collector.py +15 -8
- mindspore/train/callback/_time_monitor.py +58 -5
- mindspore/train/data_sink.py +5 -11
- mindspore/train/dataset_helper.py +84 -57
- mindspore/train/loss_scale_manager.py +2 -2
- mindspore/train/metrics/__init__.py +3 -3
- mindspore/train/metrics/cosine_similarity.py +1 -1
- mindspore/train/metrics/hausdorff_distance.py +3 -2
- mindspore/train/metrics/mean_surface_distance.py +3 -2
- mindspore/train/metrics/metric.py +39 -19
- mindspore/train/metrics/roc.py +2 -2
- mindspore/train/metrics/root_mean_square_surface_distance.py +4 -3
- mindspore/train/mind_ir_pb2.py +85 -36
- mindspore/train/model.py +187 -47
- mindspore/train/serialization.py +487 -161
- mindspore/train/summary/_summary_adapter.py +1 -1
- mindspore/train/summary/_writer_pool.py +3 -2
- mindspore/train/summary/summary_record.py +37 -17
- mindspore/train/train_thor/convert_utils.py +3 -3
- mindspore/train/train_thor/dataset_helper.py +1 -1
- mindspore/version.py +1 -1
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/METADATA +6 -7
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/RECORD +477 -517
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/entry_points.txt +0 -1
- mindspore/_akg/akg/tvm/contrib/debugger/__init__.py +0 -16
- mindspore/_akg/akg/tvm/contrib/debugger/debug_result.py +0 -274
- mindspore/_akg/akg/tvm/contrib/debugger/debug_runtime.py +0 -259
- mindspore/_akg/akg/tvm/contrib/peak.py +0 -341
- mindspore/_akg/akg/tvm/contrib/rpc.py +0 -25
- mindspore/_akg/akg/tvm/contrib/xcode.py +0 -257
- mindspore/_akg/akg/tvm/exec/__init__.py +0 -17
- mindspore/_akg/akg/tvm/exec/autotvm_log_editor.py +0 -60
- mindspore/_akg/akg/tvm/exec/measure_peak.py +0 -48
- mindspore/_akg/akg/tvm/exec/query_rpc_tracker.py +0 -48
- mindspore/_akg/akg/tvm/exec/rpc_proxy.py +0 -98
- mindspore/_akg/akg/tvm/exec/rpc_server.py +0 -88
- mindspore/_akg/akg/tvm/exec/rpc_tracker.py +0 -62
- mindspore/_akg/akg/tvm/rpc/__init__.py +0 -29
- mindspore/_akg/akg/tvm/rpc/base.py +0 -182
- mindspore/_akg/akg/tvm/rpc/client.py +0 -436
- mindspore/_akg/akg/tvm/rpc/proxy.py +0 -595
- mindspore/_akg/akg/tvm/rpc/server.py +0 -413
- mindspore/_akg/akg/tvm/rpc/tornado_util.py +0 -121
- mindspore/_akg/akg/tvm/rpc/tracker.py +0 -431
- mindspore/_extends/graph_kernel/expander.py +0 -80
- mindspore/_extends/graph_kernel/expanders/__init__.py +0 -54
- mindspore/_extends/graph_kernel/expanders/_utils.py +0 -269
- mindspore/_extends/graph_kernel/expanders/addn.py +0 -33
- mindspore/_extends/graph_kernel/expanders/batchnorm.py +0 -152
- mindspore/_extends/graph_kernel/expanders/batchnorm_grad.py +0 -105
- mindspore/_extends/graph_kernel/expanders/clip_by_norm_no_div_sum.py +0 -33
- mindspore/_extends/graph_kernel/expanders/complex/abs.py +0 -30
- mindspore/_extends/graph_kernel/expanders/complex/add.py +0 -44
- mindspore/_extends/graph_kernel/expanders/complex/div.py +0 -62
- mindspore/_extends/graph_kernel/expanders/complex/mul.py +0 -52
- mindspore/_extends/graph_kernel/expanders/complex/real_div.py +0 -62
- mindspore/_extends/graph_kernel/expanders/complex/sub.py +0 -45
- mindspore/_extends/graph_kernel/expanders/conv2d.py +0 -200
- mindspore/_extends/graph_kernel/expanders/dropout_grad.py +0 -30
- mindspore/_extends/graph_kernel/expanders/equal_count.py +0 -50
- mindspore/_extends/graph_kernel/expanders/erfc.py +0 -35
- mindspore/_extends/graph_kernel/expanders/expand_dims.py +0 -50
- mindspore/_extends/graph_kernel/expanders/fused_adam.py +0 -44
- mindspore/_extends/graph_kernel/expanders/fused_adam_weight_decay.py +0 -47
- mindspore/_extends/graph_kernel/expanders/fused_mul_add.py +0 -28
- mindspore/_extends/graph_kernel/expanders/gelu_grad.py +0 -70
- mindspore/_extends/graph_kernel/expanders/gkdropout.py +0 -40
- mindspore/_extends/graph_kernel/expanders/identity.py +0 -25
- mindspore/_extends/graph_kernel/expanders/layernorm.py +0 -93
- mindspore/_extends/graph_kernel/expanders/layernorm_grad.py +0 -113
- mindspore/_extends/graph_kernel/expanders/logsoftmax.py +0 -46
- mindspore/_extends/graph_kernel/expanders/logsoftmax_grad.py +0 -36
- mindspore/_extends/graph_kernel/expanders/matmul.py +0 -80
- mindspore/_extends/graph_kernel/expanders/maximum_grad.py +0 -59
- mindspore/_extends/graph_kernel/expanders/minimum_grad.py +0 -80
- mindspore/_extends/graph_kernel/expanders/oneslike.py +0 -26
- mindspore/_extends/graph_kernel/expanders/reduce_mean.py +0 -43
- mindspore/_extends/graph_kernel/expanders/relu_grad.py +0 -32
- mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits.py +0 -41
- mindspore/_extends/graph_kernel/expanders/sigmoid_cross_entropy_with_logits_grad.py +0 -35
- mindspore/_extends/graph_kernel/expanders/sigmoid_grad.py +0 -31
- mindspore/_extends/graph_kernel/expanders/slice.py +0 -35
- mindspore/_extends/graph_kernel/expanders/softmax_cross_entropy_with_logits.py +0 -42
- mindspore/_extends/graph_kernel/expanders/softmax_grad_ext.py +0 -41
- mindspore/_extends/graph_kernel/expanders/softsign.py +0 -28
- mindspore/_extends/graph_kernel/expanders/sqrt_grad.py +0 -29
- mindspore/_extends/graph_kernel/expanders/square_sum_all.py +0 -44
- mindspore/_extends/graph_kernel/expanders/square_sum_v1.py +0 -37
- mindspore/_extends/graph_kernel/expanders/squared_difference.py +0 -43
- mindspore/_extends/graph_kernel/expanders/tanh_grad.py +0 -31
- mindspore/_extends/graph_kernel/model/op_infer.py +0 -506
- mindspore/dataset/datapreprocess/__init__.py +0 -20
- mindspore/dataset/datapreprocess/preprocess_imagenet_validate_dataset.py +0 -54
- mindspore/include/api/net.h +0 -142
- mindspore/nn/lr_scheduler.py +0 -262
- mindspore/ops/_grad_experimental/grad_image_ops.py +0 -248
- mindspore/ops/_grad_experimental/grad_linalg_ops.py +0 -181
- mindspore/ops/_grad_experimental/grad_other_ops.py +0 -72
- mindspore/ops/_grad_experimental/grad_scalar_ops.py +0 -112
- mindspore/ops/_grad_experimental/grad_sequence_ops.py +0 -351
- mindspore/ops/bprop_mindir/BNTrainingReduce_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Broadcast_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Depend_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/DepthwiseConv2dNative_bprop.mindir +0 -138
- mindspore/ops/bprop_mindir/EmbeddingLookup_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Load_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/ScatterNonAliasingAdd_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SparseGatherV2_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/SparseSoftmaxCrossEntropyWithLogits_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Switch_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TransShape_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/TupleGetItem_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Unique_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/Unstack_bprop.mindir +0 -0
- mindspore/ops/bprop_mindir/generate_mindir.py +0 -114
- mindspore/rewrite/node_visitor.py +0 -44
- {mindspore-2.1.0.dist-info → mindspore-2.2.10.dist-info}/WHEEL +0 -0
- {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,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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', '
|
|
41
|
-
'
|
|
42
|
-
'
|
|
43
|
-
'
|
|
44
|
-
'
|
|
45
|
-
'
|
|
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-
|
|
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__
|
|
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
|
-
|
|
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
|
|
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
|
|
125
|
-
memoryview, property,
|
|
126
|
+
compile, eval, exec
|
|
126
127
|
)
|
|
127
128
|
|
|
128
129
|
_modules_from_mindspore = (
|
|
129
|
-
"mindspore",
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"
|
|
133
|
-
"
|
|
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.
|
|
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
|
|
800
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
"""
|
|
969
|
+
"""Get absolute value of const object."""
|
|
987
970
|
return abs(obj)
|
|
988
971
|
|
|
989
972
|
|
|
990
973
|
def get_const_round(obj):
|
|
991
|
-
"""
|
|
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
|
-
"""
|
|
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
|
-
|
|
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-
|
|
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.
|