mindspore 2.5.0__cp310-cp310-win_amd64.whl → 2.6.0__cp310-cp310-win_amd64.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/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/__init__.py +6 -4
- mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -0
- mindspore/_checkparam.py +3 -33
- mindspore/_deprecated/__init__.py +17 -0
- mindspore/_deprecated/jit.py +198 -0
- mindspore/_extends/builtin_operations.py +1 -1
- mindspore/_extends/parse/__init__.py +6 -7
- mindspore/_extends/parse/compile_config.py +19 -0
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +22 -3
- mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
- mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
- mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
- mindspore/_extends/parse/parser.py +25 -194
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +109 -75
- mindspore/_extends/pijit/__init__.py +2 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +16 -11
- mindspore/_extends/pijit/tensor_func_list.py +27 -0
- mindspore/_extends/utils.py +1 -1
- mindspore/amp.py +4 -4
- mindspore/atlprov.dll +0 -0
- mindspore/avcodec-59.dll +0 -0
- mindspore/avdevice-59.dll +0 -0
- mindspore/avfilter-8.dll +0 -0
- mindspore/avformat-59.dll +0 -0
- mindspore/avutil-57.dll +0 -0
- mindspore/boost/__init__.py +2 -2
- mindspore/boost/base.py +3 -7
- mindspore/boost/boost_cell_wrapper.py +2 -2
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +4 -3
- mindspore/common/_grad_function.py +56 -0
- mindspore/common/_pijit_context.py +14 -5
- mindspore/common/_register_for_tensor.py +1 -1
- mindspore/common/_stub_tensor.py +5 -10
- mindspore/common/_tensor_cpp_method.py +1 -1
- mindspore/common/_tensor_docs.py +2014 -3386
- mindspore/common/api.py +386 -355
- mindspore/common/auto_dynamic_shape.py +41 -44
- mindspore/common/dtype.py +5 -2
- mindspore/common/dump.py +7 -5
- mindspore/common/file_system.py +3 -0
- mindspore/common/generator.py +3 -0
- mindspore/common/hook_handle.py +5 -3
- mindspore/common/initializer.py +10 -6
- mindspore/common/jit_begin_end.py +94 -0
- mindspore/common/jit_config.py +6 -1
- mindspore/common/jit_context.py +76 -0
- mindspore/common/jit_trace.py +378 -0
- mindspore/common/lazy_inline.py +2 -2
- mindspore/common/mutable.py +5 -4
- mindspore/common/parameter.py +106 -39
- mindspore/common/seed.py +2 -2
- mindspore/common/sparse_tensor.py +23 -17
- mindspore/common/tensor.py +332 -714
- mindspore/communication/__init__.py +7 -5
- mindspore/communication/_comm_helper.py +47 -2
- mindspore/communication/comm_func.py +70 -53
- mindspore/communication/management.py +83 -17
- mindspore/context.py +228 -571
- mindspore/dataset/__init__.py +44 -20
- mindspore/dataset/audio/__init__.py +2 -8
- mindspore/dataset/audio/transforms.py +3 -17
- mindspore/dataset/core/config.py +3 -3
- mindspore/dataset/engine/cache_client.py +1 -1
- mindspore/dataset/engine/datasets.py +102 -120
- mindspore/dataset/engine/datasets_audio.py +22 -22
- mindspore/dataset/engine/datasets_standard_format.py +43 -24
- mindspore/dataset/engine/datasets_text.py +78 -85
- mindspore/dataset/engine/datasets_user_defined.py +109 -77
- mindspore/dataset/engine/datasets_vision.py +111 -108
- mindspore/dataset/engine/iterators.py +5 -3
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
- mindspore/dataset/engine/samplers.py +279 -57
- mindspore/dataset/engine/serializer_deserializer.py +2 -1
- mindspore/dataset/engine/validators.py +10 -0
- mindspore/dataset/text/__init__.py +7 -6
- mindspore/dataset/text/transforms.py +6 -5
- mindspore/dataset/text/utils.py +3 -3
- mindspore/dataset/transforms/__init__.py +0 -9
- mindspore/dataset/transforms/transforms.py +3 -3
- mindspore/dataset/utils/browse_dataset.py +1 -1
- mindspore/dataset/vision/__init__.py +2 -9
- mindspore/dataset/vision/transforms.py +202 -158
- mindspore/dataset/vision/utils.py +7 -5
- mindspore/device_context/ascend/op_debug.py +60 -1
- mindspore/device_context/ascend/op_tuning.py +0 -4
- mindspore/device_manager.py +39 -3
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/es/embedding_service.py +35 -27
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +0 -2
- mindspore/experimental/map_parameter.py +4 -4
- mindspore/experimental/optim/adadelta.py +22 -26
- mindspore/experimental/optim/adagrad.py +4 -4
- mindspore/experimental/optim/adam.py +4 -0
- mindspore/experimental/optim/adamax.py +4 -4
- mindspore/experimental/optim/adamw.py +4 -0
- mindspore/experimental/optim/asgd.py +1 -1
- mindspore/experimental/optim/lr_scheduler.py +40 -22
- mindspore/experimental/optim/radam.py +5 -5
- mindspore/experimental/optim/rprop.py +1 -1
- mindspore/experimental/optim/sgd.py +1 -1
- mindspore/hal/contiguous_tensors_handle.py +6 -10
- mindspore/hal/device.py +55 -81
- mindspore/hal/event.py +38 -55
- mindspore/hal/memory.py +115 -147
- mindspore/hal/stream.py +81 -125
- mindspore/include/dataset/constants.h +7 -4
- mindspore/include/dataset/execute.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +40 -2
- mindspore/mindrecord/__init__.py +20 -7
- mindspore/mindspore_backend_common.dll +0 -0
- mindspore/mindspore_backend_manager.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_dump.dll +0 -0
- mindspore/mindspore_frontend.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_memory_pool.dll +0 -0
- mindspore/mindspore_ms_backend.dll +0 -0
- mindspore/mindspore_ops.dll +0 -0
- mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
- mindspore/mindspore_ops_kernel_common.dll +0 -0
- mindspore/mindspore_profiler.dll +0 -0
- mindspore/mindspore_pyboost.dll +0 -0
- mindspore/mindspore_pynative.dll +0 -0
- mindspore/mindspore_res_manager.dll +0 -0
- mindspore/mindspore_runtime_pipeline.dll +0 -0
- mindspore/mint/__init__.py +133 -702
- mindspore/mint/distributed/__init__.py +5 -1
- mindspore/mint/distributed/distributed.py +198 -113
- mindspore/mint/linalg/__init__.py +2 -0
- mindspore/mint/nn/__init__.py +280 -18
- mindspore/mint/nn/functional.py +282 -64
- mindspore/mint/nn/layer/__init__.py +4 -0
- mindspore/mint/nn/layer/_functions.py +7 -3
- mindspore/mint/nn/layer/activation.py +120 -13
- mindspore/mint/nn/layer/conv.py +234 -28
- mindspore/mint/nn/layer/normalization.py +15 -16
- mindspore/mint/nn/layer/padding.py +1 -1
- mindspore/mint/nn/layer/pooling.py +66 -1
- mindspore/mint/optim/__init__.py +2 -1
- mindspore/mint/optim/sgd.py +171 -0
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1253 -179
- mindspore/nn/layer/activation.py +23 -21
- mindspore/nn/layer/basic.py +22 -16
- mindspore/nn/layer/container.py +1 -1
- mindspore/nn/layer/conv.py +53 -42
- mindspore/nn/layer/embedding.py +9 -8
- mindspore/nn/layer/normalization.py +48 -42
- mindspore/nn/layer/pooling.py +75 -31
- mindspore/nn/layer/transformer.py +11 -10
- mindspore/nn/learning_rate_schedule.py +4 -2
- mindspore/nn/loss/loss.py +27 -19
- mindspore/nn/optim/ada_grad.py +6 -5
- mindspore/nn/optim/adadelta.py +9 -7
- mindspore/nn/optim/adafactor.py +1 -1
- mindspore/nn/optim/adam.py +18 -14
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +3 -1
- mindspore/nn/optim/ftrl.py +11 -9
- mindspore/nn/optim/lamb.py +1 -1
- mindspore/nn/optim/lazyadam.py +12 -10
- mindspore/nn/optim/momentum.py +7 -6
- mindspore/nn/optim/optimizer.py +2 -2
- mindspore/nn/optim/proximal_ada_grad.py +12 -10
- mindspore/nn/optim/rmsprop.py +13 -12
- mindspore/nn/optim/rprop.py +9 -7
- mindspore/nn/optim/sgd.py +9 -6
- mindspore/nn/optim/tft_wrapper.py +5 -2
- mindspore/nn/probability/bijector/bijector.py +17 -11
- mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
- mindspore/nn/probability/bijector/invert.py +2 -2
- mindspore/nn/probability/bijector/scalar_affine.py +3 -3
- mindspore/nn/probability/bijector/softplus.py +3 -2
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +1 -1
- mindspore/nn/probability/distribution/cauchy.py +4 -2
- mindspore/nn/probability/distribution/exponential.py +6 -7
- mindspore/nn/probability/distribution/gamma.py +2 -2
- mindspore/nn/probability/distribution/gumbel.py +2 -2
- mindspore/nn/probability/distribution/half_normal.py +5 -3
- mindspore/nn/probability/distribution/logistic.py +5 -3
- mindspore/nn/probability/distribution/poisson.py +1 -1
- mindspore/nn/probability/distribution/uniform.py +5 -3
- mindspore/nn/reinforcement/_tensors_queue.py +1 -1
- mindspore/nn/reinforcement/tensor_array.py +1 -1
- mindspore/nn/wrap/__init__.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +178 -117
- mindspore/nn/wrap/grad_reducer.py +45 -36
- mindspore/nn/wrap/loss_scale.py +3 -3
- mindspore/numpy/array_creations.py +3 -3
- mindspore/numpy/array_ops.py +1 -1
- mindspore/numpy/utils.py +1 -2
- mindspore/numpy/utils_const.py +1 -2
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +3 -2
- mindspore/ops/_grad_experimental/grad_comm_ops.py +18 -3
- mindspore/ops/_grad_experimental/grad_debug_ops.py +8 -1
- mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
- mindspore/ops/_register_for_op.py +0 -11
- mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
- mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -4
- mindspore/ops/_vmap/vmap_array_ops.py +32 -6
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +2 -1
- mindspore/ops/_vmap/vmap_math_ops.py +4 -7
- mindspore/ops/_vmap/vmap_nn_ops.py +9 -8
- mindspore/ops/auto_generate/__init__.py +4 -3
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +127 -52
- mindspore/ops/auto_generate/gen_extend_func.py +286 -208
- mindspore/ops/auto_generate/gen_ops_def.py +2783 -2335
- mindspore/ops/auto_generate/gen_ops_prim.py +8992 -2686
- mindspore/ops/auto_generate/pyboost_inner_prim.py +106 -76
- mindspore/ops/composite/__init__.py +2 -1
- mindspore/ops/composite/base.py +19 -24
- mindspore/ops/composite/math_ops.py +6 -16
- mindspore/ops/composite/multitype_ops/__init__.py +5 -2
- mindspore/ops/composite/multitype_ops/_compile_utils.py +4 -5
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
- mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
- mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
- mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
- mindspore/ops/composite/multitype_ops/pow_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
- mindspore/ops/function/__init__.py +28 -2
- mindspore/ops/function/_add_attr_func.py +58 -0
- mindspore/ops/function/array_func.py +1631 -2347
- mindspore/ops/function/clip_func.py +38 -45
- mindspore/ops/function/debug_func.py +36 -44
- mindspore/ops/function/grad/__init__.py +1 -0
- mindspore/ops/function/grad/grad_func.py +104 -71
- mindspore/ops/function/image_func.py +1 -1
- mindspore/ops/function/linalg_func.py +46 -78
- mindspore/ops/function/math_func.py +3024 -3855
- mindspore/ops/function/nn_func.py +678 -274
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +17 -30
- mindspore/ops/function/random_func.py +216 -361
- mindspore/ops/function/reshard_func.py +4 -70
- mindspore/ops/function/sparse_func.py +3 -3
- mindspore/ops/function/sparse_unary_func.py +5 -5
- mindspore/ops/function/spectral_func.py +25 -58
- mindspore/ops/function/vmap_func.py +26 -18
- mindspore/ops/functional.py +8 -5
- mindspore/ops/functional_overload.py +655 -4
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +21 -14
- mindspore/ops/operations/_custom_ops_utils.py +235 -0
- mindspore/ops/operations/_grad_ops.py +1 -10
- mindspore/ops/operations/_inner_ops.py +5 -76
- mindspore/ops/operations/_ms_kernel.py +4 -10
- mindspore/ops/operations/_rl_inner_ops.py +1 -1
- mindspore/ops/operations/_scalar_ops.py +3 -2
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/_tensor_array.py +1 -1
- mindspore/ops/operations/array_ops.py +39 -24
- mindspore/ops/operations/comm_ops.py +150 -107
- mindspore/ops/operations/custom_ops.py +287 -32
- mindspore/ops/operations/debug_ops.py +119 -16
- mindspore/ops/operations/inner_ops.py +1 -1
- mindspore/ops/operations/linalg_ops.py +1 -58
- mindspore/ops/operations/manually_defined/_inner.py +1 -1
- mindspore/ops/operations/manually_defined/ops_def.py +746 -79
- mindspore/ops/operations/math_ops.py +21 -18
- mindspore/ops/operations/nn_ops.py +67 -224
- mindspore/ops/operations/other_ops.py +62 -9
- mindspore/ops/operations/random_ops.py +13 -7
- mindspore/ops/operations/reshard_ops.py +1 -1
- mindspore/ops/operations/sparse_ops.py +2 -2
- mindspore/ops/primitive.py +43 -32
- mindspore/ops/tensor_method.py +243 -17
- mindspore/ops_generate/__init__.py +0 -5
- mindspore/ops_generate/aclnn/__init__.py +0 -0
- mindspore/ops_generate/{aclnn_kernel_register_auto_cc_generator.py → aclnn/aclnn_kernel_register_auto_cc_generator.py} +43 -18
- mindspore/ops_generate/{gen_aclnn_implement.py → aclnn/gen_aclnn_implement.py} +49 -51
- mindspore/ops_generate/api/__init__.py +0 -0
- mindspore/ops_generate/{add_tensor_docs_generator.py → api/add_tensor_docs_generator.py} +9 -7
- mindspore/ops_generate/{cpp_create_prim_instance_helper_generator.py → api/cpp_create_prim_instance_helper_generator.py} +6 -9
- mindspore/ops_generate/{functional_map_cpp_generator.py → api/functional_map_cpp_generator.py} +25 -12
- mindspore/ops_generate/{functional_overload_py_generator.py → api/functional_overload_py_generator.py} +8 -6
- mindspore/ops_generate/{functions_cc_generator.py → api/functions_cc_generator.py} +14 -10
- mindspore/ops_generate/api/gen_api.py +103 -0
- mindspore/ops_generate/{op_api_proto.py → api/op_api_proto.py} +98 -69
- mindspore/ops_generate/{tensor_func_reg_cpp_generator.py → api/tensor_func_reg_cpp_generator.py} +82 -43
- mindspore/ops_generate/common/__init__.py +0 -0
- mindspore/ops_generate/common/gen_constants.py +91 -0
- mindspore/ops_generate/{gen_utils.py → common/gen_utils.py} +72 -19
- mindspore/ops_generate/{op_proto.py → common/op_proto.py} +64 -1
- mindspore/ops_generate/{template.py → common/template.py} +96 -84
- mindspore/ops_generate/gen_ops.py +23 -325
- mindspore/ops_generate/op_def/__init__.py +0 -0
- mindspore/ops_generate/op_def/gen_op_def.py +90 -0
- mindspore/ops_generate/{lite_ops_cpp_generator.py → op_def/lite_ops_cpp_generator.py} +47 -11
- mindspore/ops_generate/{ops_def_cc_generator.py → op_def/ops_def_cc_generator.py} +18 -10
- mindspore/ops_generate/{ops_def_h_generator.py → op_def/ops_def_h_generator.py} +5 -5
- mindspore/ops_generate/{ops_name_h_generator.py → op_def/ops_name_h_generator.py} +30 -15
- mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
- mindspore/ops_generate/op_def_py/__init__.py +0 -0
- mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
- mindspore/ops_generate/{op_def_py_generator.py → op_def_py/op_def_py_generator.py} +6 -5
- mindspore/ops_generate/{op_prim_py_generator.py → op_def_py/op_prim_py_generator.py} +24 -15
- mindspore/ops_generate/pyboost/__init__.py +0 -0
- mindspore/ops_generate/{auto_grad_impl_cc_generator.py → pyboost/auto_grad_impl_cc_generator.py} +11 -7
- mindspore/ops_generate/{auto_grad_reg_cc_generator.py → pyboost/auto_grad_reg_cc_generator.py} +7 -7
- mindspore/ops_generate/{gen_pyboost_func.py → pyboost/gen_pyboost_func.py} +40 -16
- mindspore/ops_generate/{op_template_parser.py → pyboost/op_template_parser.py} +105 -24
- mindspore/ops_generate/{pyboost_functions_cpp_generator.py → pyboost/pyboost_functions_cpp_generator.py} +55 -18
- mindspore/ops_generate/{pyboost_functions_h_generator.py → pyboost/pyboost_functions_h_generator.py} +42 -10
- mindspore/ops_generate/{pyboost_functions_py_generator.py → pyboost/pyboost_functions_py_generator.py} +6 -6
- mindspore/ops_generate/{pyboost_grad_function_cpp_generator.py → pyboost/pyboost_grad_function_cpp_generator.py} +11 -10
- mindspore/ops_generate/{pyboost_inner_prim_generator.py → pyboost/pyboost_inner_prim_generator.py} +8 -7
- mindspore/ops_generate/{pyboost_native_grad_functions_generator.py → pyboost/pyboost_native_grad_functions_generator.py} +14 -10
- mindspore/ops_generate/{pyboost_op_cpp_code_generator.py → pyboost/pyboost_op_cpp_code_generator.py} +140 -53
- mindspore/ops_generate/{pyboost_overload_functions_cpp_generator.py → pyboost/pyboost_overload_functions_cpp_generator.py} +28 -15
- mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +88 -4
- mindspore/ops_generate/resources/__init__.py +0 -0
- mindspore/ops_generate/resources/resource_list.py +30 -0
- mindspore/ops_generate/resources/resource_loader.py +36 -0
- mindspore/ops_generate/resources/resource_manager.py +64 -0
- mindspore/ops_generate/resources/yaml_loader.py +88 -0
- mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
- mindspore/parallel/__init__.py +6 -2
- mindspore/parallel/_auto_parallel_context.py +140 -12
- mindspore/parallel/_cell_wrapper.py +132 -15
- mindspore/parallel/_parallel_serialization.py +95 -4
- mindspore/parallel/_ps_context.py +1 -1
- mindspore/parallel/_recovery_context.py +7 -2
- mindspore/parallel/_tensor.py +142 -18
- mindspore/parallel/_utils.py +198 -25
- mindspore/parallel/algo_parameter_config.py +3 -3
- mindspore/parallel/auto_parallel.py +732 -0
- mindspore/parallel/checkpoint_convert.py +159 -0
- mindspore/parallel/checkpoint_transform.py +658 -37
- mindspore/parallel/cluster/process_entity/_api.py +151 -19
- mindspore/parallel/cluster/run.py +1 -1
- mindspore/parallel/function/__init__.py +24 -0
- mindspore/parallel/function/reshard_func.py +258 -0
- mindspore/parallel/nn/__init__.py +25 -0
- mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
- mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
- mindspore/parallel/parameter_broadcast.py +24 -13
- mindspore/parallel/shard.py +137 -62
- mindspore/parallel/transform_safetensors.py +288 -95
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +9 -5
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +6 -2
- mindspore/profiler/analysis/parser/ms_framework_parser.py +4 -4
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -4
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +25 -0
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +241 -86
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +41 -2
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +33 -35
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +7 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +8 -3
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +141 -30
- mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +5 -6
- mindspore/profiler/common/ascend_msprof_exporter.py +5 -4
- mindspore/profiler/common/constant.py +12 -0
- mindspore/profiler/common/msprof_cmd_tool.py +42 -23
- mindspore/profiler/common/path_manager.py +24 -0
- mindspore/profiler/common/profiler_context.py +26 -2
- mindspore/profiler/common/profiler_meta_data.py +74 -0
- mindspore/profiler/common/profiler_parameters.py +59 -18
- mindspore/profiler/common/profiler_path_manager.py +66 -7
- mindspore/profiler/dynamic_profiler.py +112 -79
- mindspore/profiler/envprofiler.py +26 -1
- mindspore/profiler/experimental_config.py +197 -0
- mindspore/profiler/mstx.py +57 -14
- mindspore/profiler/platform/npu_profiler.py +33 -7
- mindspore/profiler/profiler.py +541 -45
- mindspore/profiler/profiler_action_controller.py +1 -1
- mindspore/profiler/profiler_interface.py +4 -0
- mindspore/profiler/schedule.py +57 -22
- mindspore/rewrite/api/node.py +15 -13
- mindspore/rewrite/api/symbol_tree.py +1 -1
- mindspore/run_check/_check_version.py +25 -14
- mindspore/run_check/run_check.py +1 -1
- mindspore/runtime/__init__.py +2 -2
- mindspore/runtime/executor.py +40 -11
- mindspore/runtime/memory.py +37 -13
- mindspore/safeguard/rewrite_obfuscation.py +12 -9
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +43 -9
- mindspore/train/amp.py +1 -1
- mindspore/train/callback/__init__.py +2 -2
- mindspore/train/callback/_callback.py +2 -16
- mindspore/train/callback/_checkpoint.py +24 -40
- mindspore/train/callback/_cluster_monitor.py +14 -18
- mindspore/train/callback/_flops_collector.py +2 -3
- mindspore/train/callback/_history.py +7 -4
- mindspore/train/callback/_lambda_callback.py +2 -2
- mindspore/train/callback/_landscape.py +0 -3
- mindspore/train/callback/_loss_monitor.py +2 -1
- mindspore/train/callback/_on_request_exit.py +6 -5
- mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
- mindspore/train/callback/_summary_collector.py +8 -13
- mindspore/train/callback/_time_monitor.py +2 -1
- mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +204 -105
- mindspore/train/data_sink.py +25 -2
- mindspore/train/dataset_helper.py +4 -5
- mindspore/train/loss_scale_manager.py +8 -7
- mindspore/train/metrics/accuracy.py +3 -3
- mindspore/train/metrics/confusion_matrix.py +9 -9
- mindspore/train/metrics/error.py +3 -3
- mindspore/train/metrics/hausdorff_distance.py +4 -4
- mindspore/train/metrics/mean_surface_distance.py +3 -3
- mindspore/train/metrics/metric.py +0 -12
- mindspore/train/metrics/occlusion_sensitivity.py +4 -2
- mindspore/train/metrics/precision.py +8 -6
- mindspore/train/metrics/recall.py +9 -9
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +19 -12
- mindspore/train/model.py +262 -127
- mindspore/train/serialization.py +246 -988
- mindspore/train/summary/_summary_adapter.py +2 -2
- mindspore/train/summary/summary_record.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +3 -2
- mindspore/utils/dryrun.py +4 -2
- mindspore/utils/hooks.py +81 -0
- mindspore/utils/runtime_execution_order_check.py +2 -0
- mindspore/utils/utils.py +138 -4
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/METADATA +2 -1
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/RECORD +485 -440
- mindspore/_install_custom.py +0 -43
- mindspore/common/_register_for_adapter.py +0 -74
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -136
- mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
- mindspore/ops_generate/gen_constants.py +0 -190
- mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
- mindspore/ops_generate/ops_primitive_h_generator.py +0 -81
- /mindspore/ops_generate/{base_generator.py → common/base_generator.py} +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
mindspore/.commit_id
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__commit_id__ = ''[sha1]:
|
|
1
|
+
__commit_id__ = ''[sha1]:6cd05491,[branch]:(HEAD->r2.6,origin/r2.6)''
|
|
Binary file
|
mindspore/Newtonsoft.Json.dll
CHANGED
|
Binary file
|
mindspore/__init__.py
CHANGED
|
@@ -22,7 +22,7 @@ from mindspore.common import *
|
|
|
22
22
|
from mindspore.common import _tensor_docs
|
|
23
23
|
del _tensor_docs
|
|
24
24
|
from mindspore.mindrecord import *
|
|
25
|
-
from mindspore.ops import _op_impl, grad, value_and_grad, vjp, jvp, jacfwd, jacrev, vmap, get_grad, constexpr
|
|
25
|
+
from mindspore.ops import _op_impl, grad, value_and_grad, vjp, jvp, jacfwd, jacrev, vmap, get_grad, constexpr
|
|
26
26
|
from mindspore.train import *
|
|
27
27
|
from mindspore.log import *
|
|
28
28
|
from mindspore.utils import *
|
|
@@ -35,14 +35,16 @@ from mindspore.version import __version__
|
|
|
35
35
|
from mindspore.profiler import Profiler, EnvProfiler
|
|
36
36
|
from mindspore.parallel import set_algo_parameters, get_algo_parameters, reset_algo_parameters, \
|
|
37
37
|
rank_list_for_transform, transform_checkpoint_by_rank, transform_checkpoints, merge_pipeline_strategys, shard, \
|
|
38
|
-
Layout, sync_pipeline_shared_parameters, parameter_broadcast, load_segmented_checkpoints, unified_safetensors
|
|
38
|
+
Layout, sync_pipeline_shared_parameters, parameter_broadcast, load_segmented_checkpoints, unified_safetensors, \
|
|
39
|
+
load_distributed_checkpoint, merge_sliced_parameter, restore_group_info_list, \
|
|
40
|
+
build_searched_strategy
|
|
41
|
+
from mindspore.parallel.function import reshard
|
|
39
42
|
from mindspore.rewrite import SymbolTree, ScopedValue, Node, NodeType
|
|
40
43
|
from mindspore.safeguard import obfuscate_ckpt, load_obf_params_into_net
|
|
41
44
|
from mindspore._check_jit_forbidden_api import get_obj_module_and_name_info, is_jit_forbidden_module, \
|
|
42
45
|
is_invalid_or_jit_forbidden_method
|
|
43
|
-
from mindspore import _install_custom
|
|
44
46
|
from mindspore import mint
|
|
45
|
-
from mindspore.
|
|
47
|
+
from mindspore.ops._utils import arg_handler, arg_dtype_cast
|
|
46
48
|
|
|
47
49
|
__all__ = ["run_check"]
|
|
48
50
|
__all__.extend(__version__)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -81,6 +81,9 @@ def get_obj_module_and_name_info(obj):
|
|
|
81
81
|
return None
|
|
82
82
|
if isinstance(obj, (types.FunctionType, types.MethodType)):
|
|
83
83
|
return obj.__module__, obj.__qualname__, "method or function"
|
|
84
|
+
if isinstance(obj, types.BuiltinMethodType):
|
|
85
|
+
class_name_and_method_name = obj.__qualname__.split('.')
|
|
86
|
+
return class_name_and_method_name[0], obj.__qualname__, "method or function"
|
|
84
87
|
return obj.__module__, obj.__name__, "class"
|
|
85
88
|
|
|
86
89
|
|
mindspore/_checkparam.py
CHANGED
|
@@ -27,7 +27,7 @@ import numpy as np
|
|
|
27
27
|
from mindspore import context
|
|
28
28
|
from mindspore import log as logger
|
|
29
29
|
from mindspore.common import dtype as mstype
|
|
30
|
-
from mindspore._c_expression import
|
|
30
|
+
from mindspore._c_expression import TensorPy as Tensor_
|
|
31
31
|
|
|
32
32
|
EQ = 1 # ==
|
|
33
33
|
NE = 2 # !=
|
|
@@ -1252,7 +1252,7 @@ def check_symbolic_shape(dynamic_inputs, actual_inputs):
|
|
|
1252
1252
|
for index, (dyn_input, net_input) in enumerate(zip(dyn_inputs, net_inputs)):
|
|
1253
1253
|
if isinstance(dyn_input, (tuple, list)):
|
|
1254
1254
|
run_check(dyn_input, net_input)
|
|
1255
|
-
elif hasattr(dyn_input, "symbolic_shape"):
|
|
1255
|
+
elif hasattr(dyn_input, "symbolic_shape") and getattr(dyn_input, "symbolic_shape") is not None:
|
|
1256
1256
|
_check_symbol(dyn_input, net_input, index, symbolic_shape_data)
|
|
1257
1257
|
|
|
1258
1258
|
run_check(dynamic_inputs, actual_inputs)
|
|
@@ -1371,7 +1371,7 @@ def args_type_check(*type_args, **type_kwargs):
|
|
|
1371
1371
|
return type_check
|
|
1372
1372
|
|
|
1373
1373
|
|
|
1374
|
-
def check_hook_fn(
|
|
1374
|
+
def check_hook_fn(hook_fn):
|
|
1375
1375
|
"""Check hook fn"""
|
|
1376
1376
|
if not isinstance(hook_fn, (FunctionType, MethodType)):
|
|
1377
1377
|
raise TypeError(f"When using 'hook_type(hook_fn)', the type of 'hook_fn' must be python "
|
|
@@ -1380,35 +1380,5 @@ def check_hook_fn(hook_type, hook_fn):
|
|
|
1380
1380
|
if hook_fn.__code__.co_name == "staging_specialize":
|
|
1381
1381
|
raise TypeError(f"Decorating hook function {hook_fn.__name__} with '@jit' is not supported.")
|
|
1382
1382
|
|
|
1383
|
-
tensor_hook_func_args_num = 1
|
|
1384
|
-
pre_hook_func_args_num = 2
|
|
1385
|
-
forward_hook_and_backward_hook_func_args_num = 3
|
|
1386
|
-
# Real args number, exclude class method self param
|
|
1387
|
-
hook_fn_args_num = len(inspect.signature(hook_fn).parameters)
|
|
1388
|
-
|
|
1389
|
-
if hook_type == "register_hook" and hook_fn_args_num != tensor_hook_func_args_num:
|
|
1390
|
-
raise TypeError(f"Tensor hook function {hook_fn.__name__} arg num should be {tensor_hook_func_args_num}, but "
|
|
1391
|
-
f"got {hook_fn_args_num}")
|
|
1392
|
-
|
|
1393
|
-
if hook_type == "register_forward_pre_hook" and hook_fn_args_num != pre_hook_func_args_num:
|
|
1394
|
-
raise TypeError(f"forward_pre_hook function {hook_fn.__name__} args num should be {pre_hook_func_args_num}, "
|
|
1395
|
-
f"but got {hook_fn_args_num}")
|
|
1396
|
-
|
|
1397
|
-
if (hook_type == "register_forward_hook" and
|
|
1398
|
-
hook_fn_args_num != forward_hook_and_backward_hook_func_args_num):
|
|
1399
|
-
raise TypeError(f"forward_hook function {hook_fn.__name__} args num should be "
|
|
1400
|
-
f"{forward_hook_and_backward_hook_func_args_num}, but got {hook_fn_args_num}")
|
|
1401
|
-
|
|
1402
|
-
if hook_type == "register_backward_pre_hook" and hook_fn_args_num != pre_hook_func_args_num:
|
|
1403
|
-
raise TypeError(f"backward_pre_hook function {hook_fn.__name__} args num should be {pre_hook_func_args_num},"
|
|
1404
|
-
f" but got {hook_fn_args_num}")
|
|
1405
|
-
|
|
1406
|
-
if (hook_type == "register_backward_hook" and
|
|
1407
|
-
hook_fn_args_num != forward_hook_and_backward_hook_func_args_num):
|
|
1408
|
-
raise TypeError(f"backward_hook function {hook_fn.__name__} args num should be "
|
|
1409
|
-
f"{forward_hook_and_backward_hook_func_args_num}, but got {hook_fn_args_num}")
|
|
1410
|
-
|
|
1411
|
-
return True
|
|
1412
|
-
|
|
1413
1383
|
|
|
1414
1384
|
_set_record = {}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Copyright 2024 Huawei Technologies Co., Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
# ============================================================================
|
|
15
|
+
"""Store the deprecated api temporarily."""
|
|
16
|
+
from __future__ import absolute_import
|
|
17
|
+
from mindspore._deprecated.jit import jit
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
# Copyright 2024 Huawei Technologies Co., Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
# ============================================================================
|
|
15
|
+
"""Store the deprecated api temporarily."""
|
|
16
|
+
from __future__ import absolute_import
|
|
17
|
+
|
|
18
|
+
import os
|
|
19
|
+
import types
|
|
20
|
+
import time
|
|
21
|
+
from functools import wraps
|
|
22
|
+
from mindspore import log as logger
|
|
23
|
+
from mindspore.common.tensor import Tensor as PythonTensor
|
|
24
|
+
from mindspore.common.api import _get_jit_hash, _process_dyn_args, _handle_func_args, _JitExecutor
|
|
25
|
+
from mindspore.parallel._utils import _is_pynative_parallel
|
|
26
|
+
from mindspore._c_expression.amp import get_curr_amp_strategy
|
|
27
|
+
from mindspore.common._pijit_context import PIJitCaptureContext
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
_PYNATIVE_PARALLEL_FUNC_NAME = "after_shard"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def jit(fn=None, mode="PSJit", input_signature=None, hash_args=None, jit_config=None, compile_once=False):
|
|
34
|
+
"""
|
|
35
|
+
Create a callable MindSpore graph from a Python function.
|
|
36
|
+
|
|
37
|
+
This allows the MindSpore runtime to apply optimizations based on graph.
|
|
38
|
+
|
|
39
|
+
Note:
|
|
40
|
+
- If `input_signature` is specified, each input of `fn` must be a Tensor. And the input arguments for `fn`
|
|
41
|
+
will not accept `**kwargs`.
|
|
42
|
+
- It is not supported to run a function with decoration @jit(mode=“PIJit”)
|
|
43
|
+
in static graph mode, in which case the decoration @jit(mode=“PIJit”) is considered invalid.
|
|
44
|
+
- Calls to functions with decorated @jit(mode=“PIJit”) inside functions
|
|
45
|
+
decorated with @jit(mode=“PIJit”) are not supported,
|
|
46
|
+
and the decoration @jit(mode=“PIJit”) is considered invalid.
|
|
47
|
+
|
|
48
|
+
Args:
|
|
49
|
+
fn (Function): The Python function that will be run as a graph. Default: ``None`` .
|
|
50
|
+
mode (str): The type of jit used, the value of mode should be ``PIJit`` or ``PSJit``. Default: ``PSJit`` .
|
|
51
|
+
|
|
52
|
+
- PSJit:
|
|
53
|
+
Parse python ast to build graph.
|
|
54
|
+
- PIJit:
|
|
55
|
+
Parse python bytecode to build graph at runtime.
|
|
56
|
+
|
|
57
|
+
input_signature (Union[Tuple, List, Dict, Tensor]): The Tensor which describes the input arguments. The
|
|
58
|
+
shape and dtype of the Tensor will be supplied to this function. If `input_signature` is specified, the
|
|
59
|
+
input parameters of `fn` cannot accept `**kwargs`, and the shape and dtype of actual inputs should keep the
|
|
60
|
+
same as `input_signature`. Otherwise, TypeError will be raised. There are two mode for `input_signature`:
|
|
61
|
+
|
|
62
|
+
- Full mode: Arguments is a Tuple, List or a Tensor, and they will be used as all compile inputs
|
|
63
|
+
for graph-compiling.
|
|
64
|
+
- Incremental mode: Argument is a Dict, and they will set to some of the graph inputs, which will be
|
|
65
|
+
substituted into the input at the corresponding position for graph-compiling.
|
|
66
|
+
|
|
67
|
+
Default: ``None`` .
|
|
68
|
+
|
|
69
|
+
hash_args (Union[Object, List or Tuple of Objects]): The local free variables used inside `fn`,
|
|
70
|
+
like functions or objects of class defined outside `fn`. Calling `fn` again with change of `hash_args`
|
|
71
|
+
will trigger recompilation. Default: ``None`` .
|
|
72
|
+
jit_config (JitConfig): Jit config for compile. Default: ``None`` .
|
|
73
|
+
compile_once(bool): ``True``: The function would be compiled once when it was created many times.
|
|
74
|
+
But it may be wrong if the free variables were changed. ``False`` : It would be recompiled when
|
|
75
|
+
it was created again.
|
|
76
|
+
Default: ``False`` .
|
|
77
|
+
|
|
78
|
+
Returns:
|
|
79
|
+
Function, if `fn` is not None, returns a callable function that will execute the compiled function; If `fn` is
|
|
80
|
+
None, returns a decorator and when this decorator invokes with a single `fn` argument, the callable function is
|
|
81
|
+
equal to the case when `fn` is not None.
|
|
82
|
+
|
|
83
|
+
Supported Platforms:
|
|
84
|
+
``Ascend`` ``GPU`` ``CPU``
|
|
85
|
+
|
|
86
|
+
Examples:
|
|
87
|
+
>>> import numpy as np
|
|
88
|
+
>>> from mindspore import Tensor
|
|
89
|
+
>>> from mindspore import ops
|
|
90
|
+
>>> import mindspore._deprecated.jit as jit
|
|
91
|
+
...
|
|
92
|
+
>>> x = Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))
|
|
93
|
+
>>> y = Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))
|
|
94
|
+
...
|
|
95
|
+
>>> # create a callable MindSpore graph by calling decorator @jit
|
|
96
|
+
>>> def tensor_add(x, y):
|
|
97
|
+
... z = x + y
|
|
98
|
+
... return z
|
|
99
|
+
...
|
|
100
|
+
>>> tensor_add_graph = jit(fn=tensor_add)
|
|
101
|
+
>>> out = tensor_add_graph(x, y)
|
|
102
|
+
...
|
|
103
|
+
>>> # create a callable MindSpore graph through decorator @jit
|
|
104
|
+
>>> @jit
|
|
105
|
+
... def tensor_add_with_dec(x, y):
|
|
106
|
+
... z = x + y
|
|
107
|
+
... return z
|
|
108
|
+
...
|
|
109
|
+
>>> out = tensor_add_with_dec(x, y)
|
|
110
|
+
...
|
|
111
|
+
>>> # create a callable MindSpore graph through decorator @jit with input_signature parameter
|
|
112
|
+
>>> @jit(input_signature=(Tensor(np.ones([1, 1, 3, 3]).astype(np.float32)),
|
|
113
|
+
... Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))))
|
|
114
|
+
... def tensor_add_with_sig(x, y):
|
|
115
|
+
... z = x + y
|
|
116
|
+
... return z
|
|
117
|
+
...
|
|
118
|
+
>>> out = tensor_add_with_sig(x, y)
|
|
119
|
+
...
|
|
120
|
+
>>> @jit(input_signature={"y": Tensor(np.ones([1, 1, 3, 3]).astype(np.float32))})
|
|
121
|
+
... def tensor_add_with_sig_1(x, y):
|
|
122
|
+
... z = x + y
|
|
123
|
+
... return z
|
|
124
|
+
...
|
|
125
|
+
>>> out1 = tensor_add_with_sig_1(x, y)
|
|
126
|
+
...
|
|
127
|
+
... # Set hash_args as fn, otherwise cache of compiled closure_fn will not be reused.
|
|
128
|
+
... # While fn differs during calling again, recompilation will be triggered.
|
|
129
|
+
>>> def func(x):
|
|
130
|
+
... return ops.exp(x)
|
|
131
|
+
...
|
|
132
|
+
>>> def closure_fn(x, fn):
|
|
133
|
+
... @jit(hash_args=fn)
|
|
134
|
+
... def inner_fn(a):
|
|
135
|
+
... return fn(a)
|
|
136
|
+
... return inner_fn(x)
|
|
137
|
+
...
|
|
138
|
+
>>> inputs = Tensor(np.ones([10, 10, 10]).astype(np.float32))
|
|
139
|
+
>>> for i in range(10):
|
|
140
|
+
... closure_fn(inputs, func)
|
|
141
|
+
...
|
|
142
|
+
... # Set compile_once = True, otherwise the train_step will be compiled again.
|
|
143
|
+
>>> def train(x):
|
|
144
|
+
... @jit(compile_once = True)
|
|
145
|
+
... def train_step(x):
|
|
146
|
+
... return ops.exp(x)
|
|
147
|
+
... for i in range(10):
|
|
148
|
+
... train_step(x)
|
|
149
|
+
...
|
|
150
|
+
>>> inputs = Tensor(np.ones([10, 10, 10]).astype(np.float32))
|
|
151
|
+
>>> for i in range(10):
|
|
152
|
+
... train(inputs)
|
|
153
|
+
"""
|
|
154
|
+
|
|
155
|
+
def wrap_mindspore(func):
|
|
156
|
+
if not isinstance(compile_once, bool):
|
|
157
|
+
logger.warning(f"The parameter `compile_once` of jit should be a bool, "
|
|
158
|
+
f"but got {type(compile_once)}.")
|
|
159
|
+
if hash_args:
|
|
160
|
+
hash_obj = _get_jit_hash(hash_args)
|
|
161
|
+
elif compile_once:
|
|
162
|
+
hash_obj = 0
|
|
163
|
+
else:
|
|
164
|
+
hash_obj = int(time.time() * 1e9)
|
|
165
|
+
|
|
166
|
+
dyn_args = _process_dyn_args(func, input_signature)
|
|
167
|
+
|
|
168
|
+
@wraps(func)
|
|
169
|
+
def staging_specialize(*args, **kwargs):
|
|
170
|
+
if os.getenv("MS_JIT") == '0':
|
|
171
|
+
return func(*args, **kwargs)
|
|
172
|
+
|
|
173
|
+
args, kwargs = _handle_func_args(func, *args, **kwargs)
|
|
174
|
+
|
|
175
|
+
process_obj = None
|
|
176
|
+
if args and not isinstance(args[0], PythonTensor) and hasattr(args[0], func.__name__):
|
|
177
|
+
process_obj = args[0]
|
|
178
|
+
# only the function or cell instance wrapped by shard will fall into this branch
|
|
179
|
+
if _is_pynative_parallel() and func.__name__ == _PYNATIVE_PARALLEL_FUNC_NAME:
|
|
180
|
+
process_obj = hash_args
|
|
181
|
+
# Handle auto mixed precision strategy.
|
|
182
|
+
if not hasattr(func, "amp_strategy"):
|
|
183
|
+
if isinstance(func, types.MethodType):
|
|
184
|
+
setattr(func.__func__, "amp_strategy", get_curr_amp_strategy())
|
|
185
|
+
else:
|
|
186
|
+
setattr(func, "amp_strategy", get_curr_amp_strategy())
|
|
187
|
+
out = _JitExecutor(func, hash_obj, dyn_args, process_obj, jit_config)(*args, **kwargs)
|
|
188
|
+
return out
|
|
189
|
+
|
|
190
|
+
return staging_specialize
|
|
191
|
+
|
|
192
|
+
wrap_func = wrap_mindspore
|
|
193
|
+
if mode == "PIJit":
|
|
194
|
+
wrap_func = PIJitCaptureContext(jit_config, input_signature)
|
|
195
|
+
|
|
196
|
+
if fn is not None:
|
|
197
|
+
return wrap_func(fn)
|
|
198
|
+
return wrap_func
|
|
@@ -20,7 +20,7 @@ from mindspore.ops import composite as C
|
|
|
20
20
|
from mindspore.common.tensor import Tensor
|
|
21
21
|
import mindspore.common.dtype as mstype
|
|
22
22
|
from mindspore.common.dtype import dtype_to_nptype, get_py_obj_dtype
|
|
23
|
-
from mindspore._c_expression import
|
|
23
|
+
from mindspore._c_expression import TensorPy as CTensor
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
def ScalarAdd(x, y):
|
|
@@ -27,10 +27,10 @@ from .parser import (Parser, create_instance, is_supported_create_instance_type,
|
|
|
27
27
|
is_class_type, check_obj_bool, python_isinstance, ms_isinstance, convert_to_ms_csrtensor,
|
|
28
28
|
convert_to_ms_cootensor, convert_class_to_function, convert_cell_list_to_sequence, is_cell_list,
|
|
29
29
|
get_obj_from_sequence, get_type, is_class_member_recursive, get_global_params,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
get_obj_defined_from_obj_type, is_from_third_party_library, get_const_abs, get_const_round,
|
|
31
|
+
get_const_len, convert_to_namedtuple, check_attrs, generate_lambda_object,
|
|
32
|
+
check_is_subclass, check_attr_is_property, get_method_info, can_constant_fold,
|
|
33
|
+
convert_to_mutable)
|
|
34
34
|
|
|
35
35
|
__all__ = ['Parser', 'create_instance', 'is_supported_create_instance_type', 'generate_scope', 'get_attr_from_object',
|
|
36
36
|
'get_bprop_method_of_class', 'get_class_instance_type', 'get_class_member_namespace_symbol',
|
|
@@ -42,8 +42,7 @@ __all__ = ['Parser', 'create_instance', 'is_supported_create_instance_type', 'ge
|
|
|
42
42
|
'get_ms_class_name', 'is_class_type', 'check_obj_bool', 'python_isinstance', 'ms_isinstance',
|
|
43
43
|
'convert_to_ms_csrtensor', 'convert_to_ms_cootensor', 'convert_class_to_function',
|
|
44
44
|
'convert_cell_list_to_sequence', 'is_cell_list', 'get_obj_from_sequence', 'get_type',
|
|
45
|
-
'is_class_member_recursive', '
|
|
45
|
+
'is_class_member_recursive', 'get_obj_defined_from_obj_type',
|
|
46
46
|
'is_from_third_party_library', 'get_const_abs', 'get_const_round', 'get_const_len', 'get_method_info',
|
|
47
|
-
'is_adapter_tensor_class', 'is_adapter_parameter_class', 'is_ms_tensor_method',
|
|
48
47
|
'convert_to_namedtuple', 'check_attrs', 'generate_lambda_object', 'check_is_subclass', 'check_attr_is_property',
|
|
49
|
-
'can_constant_fold']
|
|
48
|
+
'can_constant_fold', 'convert_to_mutable']
|
|
@@ -159,6 +159,14 @@ Value Range:
|
|
|
159
159
|
"""
|
|
160
160
|
AMP_ENABLE_ALL_FG = ''
|
|
161
161
|
|
|
162
|
+
"""
|
|
163
|
+
Name: DUMP_IR_META_DSL
|
|
164
|
+
Function: Whether to dump IR for meta op.
|
|
165
|
+
Value Range:
|
|
166
|
+
String. The name of the operator that needs to dump IR.
|
|
167
|
+
"""
|
|
168
|
+
DUMP_IR_META_DSL = ''
|
|
169
|
+
|
|
162
170
|
"""
|
|
163
171
|
Name: DUMP_IR_CONFIG
|
|
164
172
|
Function: Configuring the generation method of IR graphs.
|
|
@@ -316,6 +324,15 @@ Value Range:
|
|
|
316
324
|
"""
|
|
317
325
|
PYNATIVE_JIT_GRAD_MODE = ''
|
|
318
326
|
|
|
327
|
+
"""
|
|
328
|
+
Name: PIJIT_SUBGRAPH_BREAK_OPTIMIZE
|
|
329
|
+
Function: Whether to enable subgraph break optimization in PIJit.
|
|
330
|
+
Value Range:
|
|
331
|
+
0: Disable subgraph break optimization in PIJit.
|
|
332
|
+
Default: Enable.
|
|
333
|
+
"""
|
|
334
|
+
PIJIT_SUBGRAPH_BREAK_OPTIMIZE = ''
|
|
335
|
+
|
|
319
336
|
"""
|
|
320
337
|
Name: PUT_ALL_CNODE_INTO_ORDER_LIST
|
|
321
338
|
Function: Whether to put all CNode into order list in back prop.
|
|
@@ -341,6 +358,7 @@ __all__ = [
|
|
|
341
358
|
"BOOST_PARSE",
|
|
342
359
|
"GREED_PARSE",
|
|
343
360
|
"AMP_ENABLE_ALL_FG",
|
|
361
|
+
"DUMP_IR_META_DSL",
|
|
344
362
|
"DUMP_IR_CONFIG",
|
|
345
363
|
"TRAVERSE_SUBSTITUTIONS_MODE",
|
|
346
364
|
"PRE_LIFT",
|
|
@@ -359,5 +377,6 @@ __all__ = [
|
|
|
359
377
|
"GRAD_FOR_SCALAR",
|
|
360
378
|
"DEBUG_LEVEL",
|
|
361
379
|
"PYNATIVE_JIT_GRAD_MODE",
|
|
380
|
+
"PIJIT_SUBGRAPH_BREAK_OPTIMIZE",
|
|
362
381
|
"PUT_ALL_CNODE_INTO_ORDER_LIST",
|
|
363
382
|
]
|
|
@@ -97,7 +97,7 @@ deprecated_tensor_method_map = {
|
|
|
97
97
|
# 39 greater
|
|
98
98
|
|
|
99
99
|
# 40 greater_equal
|
|
100
|
-
|
|
100
|
+
"greater_equal": "deprecated_tensor_greater_equal",
|
|
101
101
|
# 41 gt
|
|
102
102
|
|
|
103
103
|
# 42 half
|
|
@@ -136,7 +136,6 @@ deprecated_tensor_method_map = {
|
|
|
136
136
|
|
|
137
137
|
# 59 logical_or
|
|
138
138
|
"logical_or": "tensor_logical_or",
|
|
139
|
-
|
|
140
139
|
# 60 long
|
|
141
140
|
|
|
142
141
|
# 61 lt
|
|
@@ -287,6 +286,7 @@ deprecated_tensor_method_map = {
|
|
|
287
286
|
|
|
288
287
|
# 133 bincount
|
|
289
288
|
"bincount": "tensor_bincount",
|
|
289
|
+
"roll": "tensor_roll",
|
|
290
290
|
# 134 diff
|
|
291
291
|
|
|
292
292
|
# 135 double
|
|
@@ -338,16 +338,23 @@ deprecated_tensor_method_map = {
|
|
|
338
338
|
"atan": "deprecated_tensor_atan",
|
|
339
339
|
"arctan": "deprecated_tensor_arctan",
|
|
340
340
|
"dot": "deprecated_tensor_dot",
|
|
341
|
+
"copy_": "deprecated_tensor_copy_",
|
|
341
342
|
|
|
342
343
|
# 153
|
|
344
|
+
"logsumexp": "deprecated_tensor_logsumexp",
|
|
343
345
|
|
|
344
346
|
# 154
|
|
345
347
|
|
|
346
348
|
# 155
|
|
347
|
-
|
|
349
|
+
"isneginf": "deprecated_tensor_isneginf",
|
|
348
350
|
# 156
|
|
349
351
|
|
|
350
352
|
# 157
|
|
353
|
+
"logaddexp": "deprecated_tensor_logaddexp",
|
|
354
|
+
|
|
355
|
+
"logaddexp2": "deprecated_tensor_logaddexp2",
|
|
356
|
+
|
|
357
|
+
"xlogy": "tensor_xlogy",
|
|
351
358
|
|
|
352
359
|
# 158
|
|
353
360
|
"unsqueeze": "deprecated_tensor_unsqueeze",
|
|
@@ -359,8 +366,18 @@ deprecated_tensor_method_map = {
|
|
|
359
366
|
|
|
360
367
|
# 161
|
|
361
368
|
"fmod": "deprecated_tensor_fmod",
|
|
369
|
+
"bitwise_or": "deprecated_bitwise_or",
|
|
370
|
+
"bitwise_and": "deprecated_bitwise_and",
|
|
371
|
+
"bitwise_xor": "deprecated_bitwise_xor",
|
|
372
|
+
"baddbmm": "deprecated_baddbmm",
|
|
373
|
+
|
|
362
374
|
# 162 log10
|
|
363
375
|
"log10": "tensor_log10",
|
|
376
|
+
# 732
|
|
377
|
+
"take": "deprecated_tensor_take",
|
|
378
|
+
|
|
379
|
+
# 186
|
|
380
|
+
"addcdiv": "deprecated_tensor_addcdiv",
|
|
364
381
|
|
|
365
382
|
# 501
|
|
366
383
|
"addbmm": "deprecated_tensor_addbmm",
|
|
@@ -370,6 +387,8 @@ deprecated_tensor_method_map = {
|
|
|
370
387
|
"addmm": "deprecated_tensor_addmm",
|
|
371
388
|
# 790 addmv
|
|
372
389
|
"addmv": "deprecated_tensor_addmv",
|
|
390
|
+
# 846
|
|
391
|
+
"count_nonzero": "deprecated_tensor_count_nonzero",
|
|
373
392
|
# 1028
|
|
374
393
|
"var": "deprecated_tensor_var",
|
|
375
394
|
}
|
|
File without changes
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# This is the Python adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
|
|
2
|
+
#
|
|
3
|
+
# Copyright 2025 Huawei Technologies Co., Ltd
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
# ============================================================================
|
|
17
|
+
""" Used to detect third party modules. """
|
|
18
|
+
|
|
19
|
+
import os
|
|
20
|
+
import sys
|
|
21
|
+
import types
|
|
22
|
+
import inspect
|
|
23
|
+
from mindspore import log as logger
|
|
24
|
+
from .third_party_modules import third_party_modules_whitelist
|
|
25
|
+
from ..resources import convert_object_map
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ThirdPartyLibraryChecker:
|
|
29
|
+
"""
|
|
30
|
+
Check if a module or function is from third-party libraries.
|
|
31
|
+
|
|
32
|
+
Rules for detecting third-party libraries:
|
|
33
|
+
|
|
34
|
+
1. Python built-in modules and python standard libraries are third-party libraries.
|
|
35
|
+
|
|
36
|
+
2. Modules in third_party_modules_whitelist are treated as third-party libraries.
|
|
37
|
+
|
|
38
|
+
3. Third-party libraries usually have 'site-packages' in their installation path.
|
|
39
|
+
|
|
40
|
+
4. Modules with module names provided by MS_JIT_IGNORE_MODULES are treated as third-party
|
|
41
|
+
libraries, but those provided by MS_JIT_MODULES are not.
|
|
42
|
+
|
|
43
|
+
"""
|
|
44
|
+
def __init__(self):
|
|
45
|
+
self.python_builtin_dir = os.path.realpath(os.path.dirname(os.__file__))
|
|
46
|
+
|
|
47
|
+
@staticmethod
|
|
48
|
+
def get_jit_modules():
|
|
49
|
+
"""Modules in jit_modules require jit."""
|
|
50
|
+
jit_modules = []
|
|
51
|
+
# Get jit modules from environment variable.
|
|
52
|
+
env_modules = os.getenv('MS_JIT_MODULES')
|
|
53
|
+
if env_modules is not None:
|
|
54
|
+
jit_modules = env_modules.split(',')
|
|
55
|
+
return jit_modules
|
|
56
|
+
|
|
57
|
+
@staticmethod
|
|
58
|
+
def get_jit_ignore_modules():
|
|
59
|
+
"""Modules in jit_ignore_modules do not need jit."""
|
|
60
|
+
jit_ignore_modules = []
|
|
61
|
+
# Get jit ignore modules from environment variable.
|
|
62
|
+
env_modules = os.getenv('MS_JIT_IGNORE_MODULES')
|
|
63
|
+
if env_modules is not None:
|
|
64
|
+
jit_ignore_modules = env_modules.split(',')
|
|
65
|
+
# sys.builtin_module_names do not need jit.
|
|
66
|
+
jit_ignore_modules.extend(sys.builtin_module_names)
|
|
67
|
+
return jit_ignore_modules
|
|
68
|
+
|
|
69
|
+
@staticmethod
|
|
70
|
+
def in_convert_map(value):
|
|
71
|
+
"""Check if value in convert_object_map."""
|
|
72
|
+
value_hashable = True
|
|
73
|
+
try:
|
|
74
|
+
hash(value)
|
|
75
|
+
except TypeError:
|
|
76
|
+
value_hashable = False
|
|
77
|
+
return value_hashable and value in convert_object_map
|
|
78
|
+
|
|
79
|
+
def is_third_party_module(self, module):
|
|
80
|
+
"""Check if module is a third-party library."""
|
|
81
|
+
module_leftmost_name = module.__name__.split('.')[0]
|
|
82
|
+
if module_leftmost_name == "mindspore":
|
|
83
|
+
return False
|
|
84
|
+
# Modules in jit_ignore_modules are treated as third-party libraries.
|
|
85
|
+
jit_ignore_modules = self.get_jit_ignore_modules()
|
|
86
|
+
if module_leftmost_name in jit_ignore_modules:
|
|
87
|
+
logger.debug(f"Found third-party module '{module_leftmost_name}' in jit_ignore_modules.")
|
|
88
|
+
return True
|
|
89
|
+
# Modules in jit_modules require jit and they are considered to be in user workspace.
|
|
90
|
+
jit_modules = self.get_jit_modules()
|
|
91
|
+
if module_leftmost_name in jit_modules:
|
|
92
|
+
logger.debug(f"Found user-defined module '{module_leftmost_name}' in jit_modules.")
|
|
93
|
+
return False
|
|
94
|
+
# A modules without __file__ attribute is considered to be in user workspace.
|
|
95
|
+
if not hasattr(module, '__file__'):
|
|
96
|
+
return False
|
|
97
|
+
module_path = os.path.realpath(module.__file__)
|
|
98
|
+
split_path = module_path.split(os.path.sep)
|
|
99
|
+
under_site_packages = "site-packages" in split_path
|
|
100
|
+
# Python builtin modules are treated as third-party libraries.
|
|
101
|
+
if not under_site_packages and module_path.startswith(self.python_builtin_dir):
|
|
102
|
+
logger.debug(f"Found python builtin module '{module.__name__}', which is a third-party module.")
|
|
103
|
+
return True
|
|
104
|
+
# Third-party modules are under site-packages.
|
|
105
|
+
if under_site_packages and module_leftmost_name in third_party_modules_whitelist:
|
|
106
|
+
logger.debug(f"Found third-party module '{module.__name__}' in path '{module_path}'")
|
|
107
|
+
return True
|
|
108
|
+
return False
|
|
109
|
+
|
|
110
|
+
def is_from_third_party_module(self, value):
|
|
111
|
+
"""Check if value is from a third-party library."""
|
|
112
|
+
if inspect.ismodule(value):
|
|
113
|
+
return self.is_third_party_module(value)
|
|
114
|
+
if (isinstance(value, types.FunctionType) and not hasattr(value, "__jit_function__")) or \
|
|
115
|
+
(isinstance(value, types.MethodType) and not hasattr(value.__func__, "__jit_function__")):
|
|
116
|
+
if self.in_convert_map(value):
|
|
117
|
+
return False
|
|
118
|
+
module = inspect.getmodule(value)
|
|
119
|
+
return module is not None and self.is_third_party_module(module)
|
|
120
|
+
return False
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
third_party_checker = ThirdPartyLibraryChecker()
|