mindspore 2.5.0__cp311-cp311-win_amd64.whl → 2.6.0rc1__cp311-cp311-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.cp311-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp311-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 +24 -193
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +97 -74
- 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 +1915 -3287
- mindspore/common/api.py +341 -354
- 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/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 +297 -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 +214 -560
- 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 +108 -76
- 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/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 +93 -144
- 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 +131 -700
- mindspore/mint/distributed/__init__.py +5 -1
- mindspore/mint/distributed/distributed.py +194 -109
- 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 +218 -24
- 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 +1250 -176
- 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 +22 -17
- 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 +16 -12
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +1 -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/math_ops.py +4 -4
- 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 +7 -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 +102 -49
- mindspore/ops/auto_generate/gen_extend_func.py +281 -135
- mindspore/ops/auto_generate/gen_ops_def.py +2574 -2326
- mindspore/ops/auto_generate/gen_ops_prim.py +8566 -2755
- 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 +2 -3
- 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 +1629 -2345
- 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 +3035 -3705
- mindspore/ops/function/nn_func.py +676 -241
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +17 -30
- mindspore/ops/function/random_func.py +204 -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 +24 -17
- mindspore/ops/functional.py +6 -4
- mindspore/ops/functional_overload.py +547 -4
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +10 -5
- mindspore/ops/operations/_custom_ops_utils.py +247 -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 +37 -22
- mindspore/ops/operations/comm_ops.py +150 -107
- mindspore/ops/operations/custom_ops.py +221 -23
- mindspore/ops/operations/debug_ops.py +115 -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 +65 -191
- 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 +232 -13
- 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 -7
- 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 +133 -6
- mindspore/parallel/_cell_wrapper.py +130 -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 +656 -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 +259 -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 -61
- mindspore/parallel/transform_safetensors.py +287 -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 +22 -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 +25 -8
- 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 +35 -7
- 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} +179 -103
- 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 +176 -103
- 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/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.0rc1.dist-info}/METADATA +2 -1
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +483 -438
- 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.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/entry_points.txt +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -19,7 +19,8 @@ from mindspore import log as logger
|
|
|
19
19
|
from mindspore.ops import signature as sig
|
|
20
20
|
from mindspore import _checkparam as validator
|
|
21
21
|
from mindspore.common import dtype as mstype
|
|
22
|
-
from mindspore.ops.primitive import Primitive, PrimitiveWithCheck, PrimitiveWithInfer
|
|
22
|
+
from mindspore.ops.primitive import Primitive, PrimitiveWithCheck, PrimitiveWithInfer
|
|
23
|
+
from mindspore.ops.primitive import prim_attr_register, prim_arg_register
|
|
23
24
|
from mindspore.ops.operations._pyfunc_registry import add_pyfunc
|
|
24
25
|
from mindspore._c_expression import typing
|
|
25
26
|
from mindspore.ops._primitive_cache import _get_cache_prim
|
|
@@ -142,9 +143,10 @@ class BoundingBoxDecode(Primitive):
|
|
|
142
143
|
|
|
143
144
|
Args:
|
|
144
145
|
max_shape (tuple): The max size limit for decoding box calculation.
|
|
145
|
-
means (tuple): The means of deltas calculation. Default: ``(0.0, 0.0, 0.0, 0.0)`` .
|
|
146
|
-
stds (tuple): The standard deviations of deltas calculation. Default: ``(1.0, 1.0, 1.0, 1.0)`` .
|
|
147
|
-
wh_ratio_clip (float): The limit of width and height ratio for decoding box calculation.
|
|
146
|
+
means (tuple, optional): The means of deltas calculation. Default: ``(0.0, 0.0, 0.0, 0.0)`` .
|
|
147
|
+
stds (tuple, optional): The standard deviations of deltas calculation. Default: ``(1.0, 1.0, 1.0, 1.0)`` .
|
|
148
|
+
wh_ratio_clip (float, optional): The limit of width and height ratio for decoding box calculation.
|
|
149
|
+
Default: ``0.016`` .
|
|
148
150
|
|
|
149
151
|
Inputs:
|
|
150
152
|
- **anchor_box** (Tensor) - Anchor boxes. The shape of `anchor_box` must be :math:`(n, 4)`.
|
|
@@ -371,13 +373,13 @@ class IOU(Primitive):
|
|
|
371
373
|
r"""
|
|
372
374
|
Calculates intersection over union for boxes.
|
|
373
375
|
|
|
374
|
-
Computes the intersection over union (IOU) or the intersection over foreground (IOF) based on the
|
|
376
|
+
Computes the intersection over union (IOU) or the intersection over foreground (IOF) based on the truth and
|
|
375
377
|
predicted regions.
|
|
376
378
|
|
|
377
379
|
Refer to :func:`mindspore.ops.iou` for more details.
|
|
378
380
|
|
|
379
381
|
Args:
|
|
380
|
-
mode (
|
|
382
|
+
mode (str): The mode is used to specify the calculation method,
|
|
381
383
|
now supporting ``'iou'`` (intersection over union) or ``'iof'``
|
|
382
384
|
(intersection over foreground) mode. Default: ``'iou'`` .
|
|
383
385
|
|
|
@@ -385,7 +387,7 @@ class IOU(Primitive):
|
|
|
385
387
|
- **anchor_boxes** (Tensor) - Anchor boxes, tensor of shape :math:`(N, 4)`.
|
|
386
388
|
"N" indicates the number of anchor boxes,
|
|
387
389
|
and the value "4" refers to "x0", "y0", "x1", and "y1". Data type must be float16 or float32.
|
|
388
|
-
- **gt_boxes** (Tensor) -
|
|
390
|
+
- **gt_boxes** (Tensor) - The truth boxes, tensor of shape :math:`(M, 4)`. "M" indicates the number of
|
|
389
391
|
truth boxes, and the value "4" refers to "x0", "y0", "x1", and "y1". Data type must be float16 or float32.
|
|
390
392
|
|
|
391
393
|
Outputs:
|
|
@@ -524,6 +526,57 @@ class Depend(Primitive):
|
|
|
524
526
|
return value
|
|
525
527
|
|
|
526
528
|
|
|
529
|
+
class MoveTo(Primitive):
|
|
530
|
+
r"""
|
|
531
|
+
Copy tensor to target device synchronously or asynchronously, default synchronously.
|
|
532
|
+
|
|
533
|
+
.. note::
|
|
534
|
+
This interface currently only supports Graph mode with jit_level of O0 or O1.
|
|
535
|
+
|
|
536
|
+
Args:
|
|
537
|
+
input (Union[Tensor, list[int], tuple[int]]): The input tensor. When the input is list and tuple, it will be
|
|
538
|
+
converted to tensor before copying.
|
|
539
|
+
to (str, optional): Specify the target device, with optional values of ``"Ascend"`` and ``"CPU"``.
|
|
540
|
+
Default ``"CPU"`` .
|
|
541
|
+
blocking (bool, optional): Whether use synchronous copying. Default ``True``.
|
|
542
|
+
|
|
543
|
+
Returns:
|
|
544
|
+
A new tensor on target device.
|
|
545
|
+
|
|
546
|
+
Supported Platforms:
|
|
547
|
+
``Ascend`` ``CPU``
|
|
548
|
+
|
|
549
|
+
Examples:
|
|
550
|
+
>>> import mindspore
|
|
551
|
+
>>> from mindspore import nn, ops, Tensor
|
|
552
|
+
>>> mindspore.set_context(mode=mindspore.GRAPH_MODE)
|
|
553
|
+
>>> class MoveToNet(nn.Cell):
|
|
554
|
+
... def __init__(self):
|
|
555
|
+
... super().__init__()
|
|
556
|
+
... self.move_to = ops.MoveTo()
|
|
557
|
+
...
|
|
558
|
+
... def construct(self, x):
|
|
559
|
+
... cpu_x = self.move_to(x, "CPU")
|
|
560
|
+
... npu_x = self.move_to(cpu_x, "Ascend")
|
|
561
|
+
... return npu_x
|
|
562
|
+
...
|
|
563
|
+
>>> net = MoveToNet()
|
|
564
|
+
>>> x = Tensor([1, 2, 3], mindspore.int64)
|
|
565
|
+
>>> y = net(x)
|
|
566
|
+
>>> print(y)
|
|
567
|
+
[1 2 3]
|
|
568
|
+
"""
|
|
569
|
+
__mindspore_signature__ = (
|
|
570
|
+
sig.make_sig('input'),
|
|
571
|
+
sig.make_sig('to', default='CPU'),
|
|
572
|
+
sig.make_sig('blocking', default=True)
|
|
573
|
+
)
|
|
574
|
+
|
|
575
|
+
@prim_arg_register
|
|
576
|
+
def __init__(self):
|
|
577
|
+
pass
|
|
578
|
+
|
|
579
|
+
|
|
527
580
|
class UpdateState(Primitive):
|
|
528
581
|
"""
|
|
529
582
|
UpdateState is used for update side-effect state.
|
|
@@ -584,7 +637,7 @@ class StopGradient(Primitive):
|
|
|
584
637
|
pass
|
|
585
638
|
|
|
586
639
|
|
|
587
|
-
|
|
640
|
+
stop_gradient_op = StopGradient()
|
|
588
641
|
|
|
589
642
|
|
|
590
643
|
class ConfusionMatrix(PrimitiveWithInfer):
|
|
@@ -650,7 +703,7 @@ class Push(PrimitiveWithInfer):
|
|
|
650
703
|
Pushes the inputs of the corresponding optimizer to parameter server.
|
|
651
704
|
|
|
652
705
|
Args:
|
|
653
|
-
optim_type (
|
|
706
|
+
optim_type (str): The optimizer type. Default: ``'ApplyMomentum'`` .
|
|
654
707
|
only_shape_indices (list): The indices of input of which only shape
|
|
655
708
|
will be pushed to parameter server. Default: ``None`` .
|
|
656
709
|
|
|
@@ -373,11 +373,17 @@ class Gamma(PrimitiveWithInfer):
|
|
|
373
373
|
\text{P}(x|α,β) = \frac{\exp(-x/β)}{{β^α}\cdot{\Gamma(α)}}\cdot{x^{α-1}}
|
|
374
374
|
|
|
375
375
|
Note:
|
|
376
|
-
- Random
|
|
377
|
-
and the random seed
|
|
378
|
-
|
|
379
|
-
-
|
|
380
|
-
|
|
376
|
+
- Random Seed: Through some complex mathematical algorithms, a set of regular random numbers can be obtained,
|
|
377
|
+
and the random seed is the initial value of this random number.
|
|
378
|
+
The random seed is the same, the random number obtained will not change.
|
|
379
|
+
- When neither the global random seed nor the operator layer random seed
|
|
380
|
+
is set or both are 0: generate completely random numbers.
|
|
381
|
+
- When the global random seed is set, but the operator layer random seed is not set:
|
|
382
|
+
splice the global random seed with 0.
|
|
383
|
+
- When the global random seed is not set, but the operator layer random seed is set:
|
|
384
|
+
splice 0 with the operator layer random seed.
|
|
385
|
+
- When both the global random seed and the operator layer random seed are set:
|
|
386
|
+
splice the global random seed with the operator layer random seed.
|
|
381
387
|
|
|
382
388
|
.. warning::
|
|
383
389
|
The Ascend backend does not support the reproducibility of random numbers, so
|
|
@@ -870,7 +876,7 @@ class RandomCategorical(PrimitiveWithInfer):
|
|
|
870
876
|
the `seed` parameter has no effect.
|
|
871
877
|
|
|
872
878
|
Args:
|
|
873
|
-
dtype (mindspore.dtype): The type of output. Its value must be one of mstype.int16,
|
|
879
|
+
dtype (mindspore.dtype, optional): The type of output. Its value must be one of mstype.int16,
|
|
874
880
|
mstype.int32 and mstype.int64. Default: ``mstype.int64`` .
|
|
875
881
|
|
|
876
882
|
Inputs:
|
|
@@ -1009,7 +1015,7 @@ class MultinomialWithReplacement(Primitive):
|
|
|
1009
1015
|
- **x** (Tensor) - the input tensor containing the cumsum of probabilities, must be 1 or 2
|
|
1010
1016
|
dimensions.
|
|
1011
1017
|
- **seed** (Tensor) - If `seed` and 'offset' are both set to 0, the random number generator
|
|
1012
|
-
is
|
|
1018
|
+
is generated by a random seed. Otherwise, it is seeded by the given seed and offset.
|
|
1013
1019
|
Supported dtype: int64.
|
|
1014
1020
|
- **offset** (Tensor) - Offset used to avoid seed collision. Supported dtype: int64.
|
|
1015
1021
|
|
|
@@ -23,7 +23,7 @@ class Reshard(Primitive):
|
|
|
23
23
|
parallel procedure.
|
|
24
24
|
|
|
25
25
|
Note:
|
|
26
|
-
- The in and out layout should be the type mindspore.Layout.
|
|
26
|
+
- The in and out layout should be the type mindspore.parallel.Layout.
|
|
27
27
|
- The in and out layout should be the same value of layout when invoke
|
|
28
28
|
ops.Reshard(layout, layout, in_strategy).
|
|
29
29
|
- The in_strategy should be the strategy derived from the layout.
|
|
@@ -636,8 +636,8 @@ class SparseTensorDenseMatmul(Primitive):
|
|
|
636
636
|
Raises:
|
|
637
637
|
TypeError: If the type of `adjoint_st` or `adjoint_dt` is not bool, or the dtype of `indices`,
|
|
638
638
|
dtype of `values` and dtype of `dense` don't meet the parameter description.
|
|
639
|
-
ValueError: If
|
|
640
|
-
and
|
|
639
|
+
ValueError: If the shapes of `sparse_shape`, `indices`, `values`,
|
|
640
|
+
and `dense` don't meet the constraints in the parameter description.
|
|
641
641
|
|
|
642
642
|
Supported Platforms:
|
|
643
643
|
``GPU`` ``CPU``
|
mindspore/ops/primitive.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2020-
|
|
1
|
+
# Copyright 2020-2025 Huawei Technologies Co., Ltd
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -26,7 +26,7 @@ from mindspore.parallel._utils import _is_in_auto_parallel_mode, _is_in_data_par
|
|
|
26
26
|
from mindspore.parallel._ps_context import _is_ps_mode, _is_role_sched
|
|
27
27
|
from mindspore.parallel.shard import Layout
|
|
28
28
|
from mindspore.common.api import _pynative_executor
|
|
29
|
-
from mindspore.common.
|
|
29
|
+
from mindspore.common.jit_context import jit_context
|
|
30
30
|
from mindspore._c_expression import Primitive_, PrimitiveFunction_, prim_type, typing
|
|
31
31
|
from mindspore import _checkparam as Validator
|
|
32
32
|
from mindspore.ops import signature as sig
|
|
@@ -194,13 +194,13 @@ class Primitive(Primitive_):
|
|
|
194
194
|
layout_value = ()
|
|
195
195
|
for in_ele in layout:
|
|
196
196
|
if isinstance(in_ele, Layout):
|
|
197
|
-
layout_value += (in_ele.to_dict(),)
|
|
197
|
+
layout_value += ({k: v for k, v in in_ele.to_dict().items() if k != 'rank_list'},)
|
|
198
198
|
elif isinstance(in_ele, tuple):
|
|
199
199
|
new_layout_list = ()
|
|
200
200
|
for ele in in_ele:
|
|
201
201
|
if not isinstance(ele, Layout):
|
|
202
202
|
raise TypeError(f"The {log_info} item should be a object of class Layout.")
|
|
203
|
-
new_layout_list += (ele.to_dict(),)
|
|
203
|
+
new_layout_list += ({k: v for k, v in ele.to_dict().items() if k != 'rank_list'},)
|
|
204
204
|
layout_value += (new_layout_list,)
|
|
205
205
|
else:
|
|
206
206
|
raise TypeError(f"The {log_info} item should be a object of class Layout or a tuple.")
|
|
@@ -401,6 +401,9 @@ class Primitive(Primitive_):
|
|
|
401
401
|
return (False, None)
|
|
402
402
|
|
|
403
403
|
def __call__(self, *args):
|
|
404
|
+
# Add for jit context.
|
|
405
|
+
if jit_context() and jit_context().compiled:
|
|
406
|
+
return None
|
|
404
407
|
should_elim, output = self.check_elim(*args)
|
|
405
408
|
if should_elim:
|
|
406
409
|
return output
|
|
@@ -498,6 +501,28 @@ class Primitive(Primitive_):
|
|
|
498
501
|
self.add_prim_attr("recompute", mode)
|
|
499
502
|
return self
|
|
500
503
|
|
|
504
|
+
def _offload(self, backward_prefetch="Auto"):
|
|
505
|
+
"""
|
|
506
|
+
Set the primitive offload. If a primitive set offload feeds into some nodes for offloading
|
|
507
|
+
gradient, rather than storing the intermediate activation computed in forward pass, we will
|
|
508
|
+
offload the activations computed in forward pass and upload them backward pass.
|
|
509
|
+
|
|
510
|
+
Note:
|
|
511
|
+
- Not supported in pynative mode
|
|
512
|
+
|
|
513
|
+
Args:
|
|
514
|
+
backward_prefetch(Union[str, int]): Specifies whether the activation is prefetched in backward pass.
|
|
515
|
+
"""
|
|
516
|
+
if context.get_context("mode") == context.PYNATIVE_MODE:
|
|
517
|
+
raise ValueError("Offload is not supported in pynative mode currently.")
|
|
518
|
+
self.add_prim_attr("offload", True)
|
|
519
|
+
if isinstance(backward_prefetch, str):
|
|
520
|
+
Validator.check_string(backward_prefetch, ['Auto'], 'backward_prefetch', 'Primitive._offload')
|
|
521
|
+
else:
|
|
522
|
+
Validator.check_non_negative_int(backward_prefetch)
|
|
523
|
+
self.add_prim_attr("backward_prefetch", backward_prefetch)
|
|
524
|
+
return self
|
|
525
|
+
|
|
501
526
|
def place(self, role, rank_id):
|
|
502
527
|
"""
|
|
503
528
|
Set the label for this primitive.
|
|
@@ -563,7 +588,7 @@ class PrimitiveWithCheck(Primitive):
|
|
|
563
588
|
the shape and type. Method infer_value() can also be defined (such as PrimitiveWithInfer) for constant propagation.
|
|
564
589
|
|
|
565
590
|
More on how to customize a Op, please refer to `Custom Operators
|
|
566
|
-
<https://www.mindspore.cn/
|
|
591
|
+
<https://www.mindspore.cn/tutorials/en/master/custom_program/op_custom.html>`_.
|
|
567
592
|
|
|
568
593
|
Args:
|
|
569
594
|
name (str): Name of the current Primitive.
|
|
@@ -657,7 +682,7 @@ class PrimitiveWithInfer(Primitive):
|
|
|
657
682
|
logic of the shape and type. The infer_value() is used for constant propagation.
|
|
658
683
|
|
|
659
684
|
More on how to customize a Op, please refer to `Custom Operators
|
|
660
|
-
<https://www.mindspore.cn/
|
|
685
|
+
<https://www.mindspore.cn/tutorials/en/master/custom_program/op_custom.html>`_.
|
|
661
686
|
|
|
662
687
|
Args:
|
|
663
688
|
name (str): Name of the current Primitive.
|
|
@@ -874,14 +899,15 @@ def constexpr(fn=None, get_instance=True, name=None, reuse_result=True, check=Tr
|
|
|
874
899
|
"""Used to calculate constant in graph copmpiling process and improve compile performance in GRAPH_MODE.
|
|
875
900
|
|
|
876
901
|
Args:
|
|
877
|
-
fn (function): A `fn` use as the infer_value of the output operator. Default: ``None`` .
|
|
878
|
-
get_instance (bool): If ``True`` , return the instance of operator,
|
|
902
|
+
fn (function, optional): A `fn` use as the infer_value of the output operator. Default: ``None`` .
|
|
903
|
+
get_instance (bool, optional): If ``True`` , return the instance of operator,
|
|
879
904
|
otherwise return the operator class. Default: ``True`` .
|
|
880
|
-
name (str): Defines the operator name. If `name` is ``None`` , use the function name as op name.
|
|
905
|
+
name (str, optional): Defines the operator name. If `name` is ``None`` , use the function name as op name.
|
|
881
906
|
Default: ``None`` .
|
|
882
|
-
reuse_result (bool): If ``True`` , the operator will be executed once
|
|
907
|
+
reuse_result (bool, optional): If ``True`` , the operator will be executed once
|
|
908
|
+
and reuse the result next time,
|
|
883
909
|
otherwise the operator will always be executed. Default: ``True`` .
|
|
884
|
-
check (bool): If ``True`` , the parameters will be checked
|
|
910
|
+
check (bool, optional): If ``True`` , the parameters will be checked
|
|
885
911
|
and the warning message will raised if the parameter is not const value. Default: ``True`` .
|
|
886
912
|
|
|
887
913
|
Examples:
|
|
@@ -1001,29 +1027,14 @@ def _primexpr(fn=None, get_instance=True, name=None, reuse_result=True):
|
|
|
1001
1027
|
return deco
|
|
1002
1028
|
|
|
1003
1029
|
|
|
1004
|
-
class _RunOpHook:
|
|
1005
|
-
"""Hook for run op"""
|
|
1006
|
-
|
|
1007
|
-
current = None
|
|
1008
|
-
|
|
1009
|
-
def __init__(self, hook):
|
|
1010
|
-
self.hook = hook
|
|
1011
|
-
self.old = _RunOpHook.current
|
|
1012
|
-
|
|
1013
|
-
def __enter__(self):
|
|
1014
|
-
_RunOpHook.current = self
|
|
1015
|
-
return self
|
|
1016
|
-
|
|
1017
|
-
def __exit__(self, *err):
|
|
1018
|
-
_RunOpHook.current = self.old
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
1030
|
def _run_op(obj, op_name, args):
|
|
1022
1031
|
"""Single op execution function supported by ge in PyNative mode."""
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1032
|
+
res = _pynative_executor.run_op_async(obj, op_name, args)
|
|
1033
|
+
# Add for jit context.
|
|
1034
|
+
if jit_context():
|
|
1035
|
+
# todo support TensorPy
|
|
1036
|
+
return jit_context().run_op(obj, res, *args)
|
|
1037
|
+
return res
|
|
1027
1038
|
|
|
1028
1039
|
|
|
1029
1040
|
@_wrap_func
|