mindspore 2.4.10__cp39-cp39-macosx_11_0_arm64.whl → 2.6.0__cp39-cp39-macosx_11_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/__init__.py +13 -6
- mindspore/_c_dataengine.cpython-39-darwin.so +0 -0
- mindspore/_c_expression.cpython-39-darwin.so +0 -0
- mindspore/_c_mindrecord.cpython-39-darwin.so +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -0
- mindspore/_checkparam.py +3 -38
- mindspore/_deprecated/__init__.py +17 -0
- mindspore/_deprecated/jit.py +198 -0
- mindspore/_extends/builtin_operations.py +1 -1
- mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
- mindspore/_extends/parse/__init__.py +6 -7
- mindspore/_extends/parse/compile_config.py +83 -0
- mindspore/_extends/parse/deprecated/__init__.py +0 -0
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
- 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 +47 -198
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +229 -99
- mindspore/_extends/pijit/__init__.py +2 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
- mindspore/_extends/pijit/tensor_func_list.py +27 -0
- mindspore/_extends/utils.py +1 -1
- mindspore/amp.py +11 -5
- mindspore/boost/__init__.py +2 -2
- mindspore/boost/base.py +3 -7
- mindspore/boost/boost_cell_wrapper.py +138 -43
- mindspore/common/__init__.py +6 -3
- mindspore/common/_grad_function.py +56 -0
- mindspore/common/_pijit_context.py +14 -5
- mindspore/common/_register_for_tensor.py +1 -2
- mindspore/common/_stub_tensor.py +30 -14
- mindspore/common/_tensor_cpp_method.py +17 -0
- mindspore/common/_tensor_docs.py +4760 -0
- mindspore/common/api.py +480 -372
- mindspore/common/auto_dynamic_shape.py +41 -44
- mindspore/common/dtype.py +39 -36
- mindspore/common/dump.py +9 -6
- mindspore/common/file_system.py +9 -1
- mindspore/common/generator.py +5 -0
- mindspore/common/hook_handle.py +6 -2
- mindspore/common/initializer.py +13 -10
- 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 +9 -3
- mindspore/common/mindir_util.py +10 -2
- mindspore/common/mutable.py +5 -4
- mindspore/common/parameter.py +135 -52
- mindspore/common/seed.py +2 -2
- mindspore/common/sparse_tensor.py +23 -17
- mindspore/common/tensor.py +975 -1981
- mindspore/communication/__init__.py +7 -5
- mindspore/communication/_comm_helper.py +52 -2
- mindspore/communication/comm_func.py +240 -181
- mindspore/communication/management.py +95 -26
- mindspore/context.py +324 -573
- mindspore/dataset/__init__.py +65 -37
- mindspore/dataset/audio/__init__.py +2 -8
- mindspore/dataset/audio/transforms.py +3 -17
- mindspore/dataset/callback/ds_callback.py +2 -1
- mindspore/dataset/core/config.py +87 -6
- mindspore/dataset/engine/cache_admin.py +3 -3
- mindspore/dataset/engine/cache_client.py +6 -5
- mindspore/dataset/engine/datasets.py +292 -267
- mindspore/dataset/engine/datasets_audio.py +22 -8
- mindspore/dataset/engine/datasets_standard_format.py +46 -27
- mindspore/dataset/engine/datasets_text.py +78 -48
- mindspore/dataset/engine/datasets_user_defined.py +183 -117
- mindspore/dataset/engine/datasets_vision.py +120 -44
- mindspore/dataset/engine/iterators.py +283 -63
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
- mindspore/dataset/engine/obs/util.py +8 -0
- mindspore/dataset/engine/queue.py +40 -0
- mindspore/dataset/engine/samplers.py +289 -43
- mindspore/dataset/engine/serializer_deserializer.py +3 -2
- mindspore/dataset/engine/validators.py +53 -11
- 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/py_transforms_util.py +17 -0
- mindspore/dataset/transforms/transforms.py +31 -14
- 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/dataset/vision/validators.py +1 -2
- mindspore/device_context/__init__.py +21 -0
- mindspore/device_context/ascend/__init__.py +25 -0
- mindspore/device_context/ascend/device.py +72 -0
- mindspore/device_context/ascend/op_debug.py +153 -0
- mindspore/device_context/ascend/op_precision.py +193 -0
- mindspore/device_context/ascend/op_tuning.py +123 -0
- mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
- mindspore/device_context/cpu/device.py +62 -0
- mindspore/device_context/cpu/op_tuning.py +43 -0
- mindspore/device_context/gpu/__init__.py +21 -0
- mindspore/device_context/gpu/device.py +70 -0
- mindspore/device_context/gpu/op_precision.py +67 -0
- mindspore/device_context/gpu/op_tuning.py +175 -0
- mindspore/device_manager.py +170 -0
- mindspore/experimental/es/embedding_service.py +35 -27
- mindspore/experimental/llm_boost/__init__.py +1 -0
- mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +209 -0
- mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
- mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
- mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
- mindspore/experimental/llm_boost/register.py +1 -0
- mindspore/experimental/map_parameter.py +4 -4
- mindspore/experimental/optim/adadelta.py +6 -6
- mindspore/experimental/optim/adagrad.py +4 -4
- mindspore/experimental/optim/adam.py +7 -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 +73 -46
- mindspore/experimental/optim/radam.py +34 -31
- 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 -53
- mindspore/hal/event.py +52 -52
- mindspore/hal/memory.py +179 -120
- mindspore/hal/stream.py +150 -109
- mindspore/include/api/context.h +0 -1
- mindspore/include/dataset/constants.h +7 -4
- mindspore/include/dataset/execute.h +2 -2
- mindspore/lib/libavcodec.59.dylib +0 -0
- mindspore/lib/libavdevice.59.dylib +0 -0
- mindspore/lib/libavfilter.8.dylib +0 -0
- mindspore/lib/libavformat.59.dylib +0 -0
- mindspore/lib/libavutil.57.dylib +0 -0
- mindspore/lib/libdnnl.2.dylib +0 -0
- mindspore/lib/libicudata.74.dylib +0 -0
- mindspore/lib/libicui18n.74.dylib +0 -0
- mindspore/lib/libicuuc.74.dylib +0 -0
- mindspore/lib/libmindspore_backend_common.dylib +0 -0
- mindspore/lib/libmindspore_backend_manager.dylib +0 -0
- mindspore/lib/libmindspore_common.dylib +0 -0
- mindspore/lib/libmindspore_core.dylib +0 -0
- mindspore/lib/libmindspore_dump.dylib +0 -0
- mindspore/lib/libmindspore_frontend.dylib +0 -0
- mindspore/lib/libmindspore_glog.0.dylib +0 -0
- mindspore/lib/libmindspore_gpr.15.dylib +0 -0
- mindspore/lib/libmindspore_grpc++.1.dylib +0 -0
- mindspore/lib/libmindspore_grpc.15.dylib +0 -0
- mindspore/lib/libmindspore_memory_pool.dylib +0 -0
- mindspore/lib/libmindspore_ms_backend.dylib +0 -0
- mindspore/lib/libmindspore_ops.dylib +0 -0
- mindspore/lib/libmindspore_ops_kernel_common.dylib +0 -0
- mindspore/lib/libmindspore_profiler.dylib +0 -0
- mindspore/lib/libmindspore_pyboost.dylib +0 -0
- mindspore/lib/libmindspore_pynative.dylib +0 -0
- mindspore/lib/libmindspore_res_manager.dylib +0 -0
- mindspore/lib/libmindspore_runtime_pipeline.dylib +0 -0
- mindspore/lib/libnnacl.dylib +0 -0
- mindspore/lib/libopencv_core.4.5.dylib +0 -0
- mindspore/lib/libopencv_imgcodecs.4.5.dylib +0 -0
- mindspore/lib/libopencv_imgproc.4.5.dylib +0 -0
- mindspore/lib/libps_cache.dylib +0 -0
- mindspore/lib/libswresample.4.dylib +0 -0
- mindspore/lib/libswscale.6.dylib +0 -0
- mindspore/lib/libtinyxml2.10.dylib +0 -0
- mindspore/lib/plugin/libmindspore_ops_host.dylib +0 -0
- mindspore/log.py +50 -0
- mindspore/mindrecord/__init__.py +21 -8
- mindspore/mindrecord/config.py +17 -316
- mindspore/mindrecord/filereader.py +1 -9
- mindspore/mindrecord/filewriter.py +5 -15
- mindspore/mindrecord/mindpage.py +1 -9
- mindspore/mint/__init__.py +798 -761
- mindspore/mint/distributed/__init__.py +70 -4
- mindspore/mint/distributed/distributed.py +2679 -44
- mindspore/mint/linalg/__init__.py +8 -0
- mindspore/mint/nn/__init__.py +743 -22
- mindspore/mint/nn/functional.py +716 -23
- mindspore/mint/nn/layer/__init__.py +21 -4
- mindspore/mint/nn/layer/_functions.py +334 -0
- mindspore/mint/nn/layer/activation.py +276 -1
- mindspore/mint/nn/layer/basic.py +123 -0
- mindspore/mint/nn/layer/conv.py +933 -0
- mindspore/mint/nn/layer/normalization.py +223 -28
- mindspore/mint/nn/layer/padding.py +797 -0
- mindspore/mint/nn/layer/pooling.py +235 -0
- mindspore/mint/optim/__init__.py +3 -1
- mindspore/mint/optim/adam.py +223 -0
- mindspore/mint/optim/adamw.py +26 -19
- mindspore/mint/optim/sgd.py +171 -0
- mindspore/mint/special/__init__.py +2 -1
- mindspore/multiprocessing/__init__.py +5 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1373 -192
- mindspore/nn/dynamic_lr.py +2 -1
- mindspore/nn/layer/activation.py +29 -27
- mindspore/nn/layer/basic.py +51 -35
- mindspore/nn/layer/channel_shuffle.py +3 -3
- mindspore/nn/layer/container.py +1 -1
- mindspore/nn/layer/conv.py +53 -42
- mindspore/nn/layer/embedding.py +12 -11
- mindspore/nn/layer/normalization.py +56 -49
- mindspore/nn/layer/padding.py +4 -3
- mindspore/nn/layer/pooling.py +120 -42
- mindspore/nn/layer/rnn_cells.py +1 -1
- mindspore/nn/layer/rnns.py +2 -1
- mindspore/nn/layer/timedistributed.py +5 -5
- mindspore/nn/layer/transformer.py +59 -36
- mindspore/nn/learning_rate_schedule.py +8 -4
- mindspore/nn/loss/loss.py +58 -55
- mindspore/nn/optim/ada_grad.py +7 -5
- mindspore/nn/optim/adadelta.py +11 -9
- mindspore/nn/optim/adafactor.py +1 -1
- mindspore/nn/optim/adam.py +19 -15
- 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/lars.py +1 -4
- mindspore/nn/optim/lazyadam.py +12 -10
- mindspore/nn/optim/momentum.py +7 -6
- mindspore/nn/optim/optimizer.py +3 -3
- mindspore/nn/optim/proximal_ada_grad.py +12 -10
- mindspore/nn/optim/rmsprop.py +13 -12
- mindspore/nn/optim/rprop.py +11 -9
- mindspore/nn/optim/sgd.py +9 -6
- mindspore/nn/optim/tft_wrapper.py +5 -2
- mindspore/nn/optim/thor.py +2 -1
- 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/utils/init.py +13 -11
- mindspore/nn/wrap/__init__.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +181 -122
- mindspore/nn/wrap/grad_reducer.py +45 -36
- mindspore/nn/wrap/loss_scale.py +6 -7
- mindspore/numpy/array_creations.py +63 -65
- mindspore/numpy/array_ops.py +149 -144
- mindspore/numpy/logic_ops.py +41 -42
- mindspore/numpy/math_ops.py +361 -359
- mindspore/numpy/utils.py +17 -18
- mindspore/numpy/utils_const.py +5 -6
- mindspore/ops/__init__.py +5 -3
- mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
- mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
- mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
- mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
- mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
- mindspore/ops/_op_impl/cpu/__init__.py +1 -0
- mindspore/ops/_op_impl/cpu/raise_op.py +28 -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 -65
- mindspore/ops/_vmap/vmap_array_ops.py +52 -25
- mindspore/ops/_vmap/vmap_base.py +0 -2
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
- mindspore/ops/_vmap/vmap_math_ops.py +15 -16
- mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
- mindspore/ops/auto_generate/__init__.py +4 -3
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +467 -255
- mindspore/ops/auto_generate/gen_extend_func.py +1564 -992
- mindspore/ops/auto_generate/gen_ops_def.py +7047 -5093
- mindspore/ops/auto_generate/gen_ops_prim.py +22127 -11206
- mindspore/ops/auto_generate/pyboost_inner_prim.py +399 -265
- mindspore/ops/composite/__init__.py +2 -1
- mindspore/ops/composite/base.py +20 -25
- 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 +228 -30
- 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 -30
- 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 +40 -2
- mindspore/ops/function/_add_attr_func.py +58 -0
- mindspore/ops/function/array_func.py +2089 -2403
- mindspore/ops/function/clip_func.py +80 -23
- mindspore/ops/function/debug_func.py +57 -57
- mindspore/ops/function/grad/__init__.py +1 -0
- mindspore/ops/function/grad/grad_func.py +104 -71
- mindspore/ops/function/image_func.py +2 -2
- mindspore/ops/function/linalg_func.py +47 -78
- mindspore/ops/function/math_func.py +4351 -3813
- mindspore/ops/function/nn_func.py +1712 -637
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +18 -84
- mindspore/ops/function/random_func.py +452 -387
- mindspore/ops/function/reshard_func.py +4 -70
- mindspore/ops/function/sparse_func.py +3 -3
- mindspore/ops/function/sparse_unary_func.py +6 -6
- mindspore/ops/function/spectral_func.py +25 -58
- mindspore/ops/function/vmap_func.py +26 -18
- mindspore/ops/functional.py +23 -7
- mindspore/ops/functional_overload.py +1548 -0
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +23 -15
- mindspore/ops/operations/_custom_ops_utils.py +235 -0
- mindspore/ops/operations/_embedding_cache_ops.py +4 -4
- mindspore/ops/operations/_grad_ops.py +2 -43
- mindspore/ops/operations/_infer_ops.py +2 -1
- mindspore/ops/operations/_inner_ops.py +43 -84
- 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 +81 -324
- mindspore/ops/operations/comm_ops.py +154 -108
- mindspore/ops/operations/custom_ops.py +298 -87
- mindspore/ops/operations/debug_ops.py +157 -59
- mindspore/ops/operations/inner_ops.py +7 -5
- mindspore/ops/operations/linalg_ops.py +1 -57
- mindspore/ops/operations/manually_defined/_inner.py +1 -1
- mindspore/ops/operations/manually_defined/ops_def.py +928 -180
- mindspore/ops/operations/math_ops.py +32 -234
- mindspore/ops/operations/nn_ops.py +212 -531
- 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 +66 -53
- mindspore/ops/tensor_method.py +1895 -0
- mindspore/ops_generate/__init__.py +0 -5
- mindspore/ops_generate/aclnn/__init__.py +0 -0
- mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
- mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
- mindspore/ops_generate/api/__init__.py +0 -0
- mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
- mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
- mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
- mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
- mindspore/ops_generate/api/functions_cc_generator.py +237 -0
- mindspore/ops_generate/api/gen_api.py +103 -0
- mindspore/ops_generate/api/op_api_proto.py +235 -0
- mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
- mindspore/ops_generate/common/__init__.py +0 -0
- mindspore/ops_generate/common/base_generator.py +11 -0
- mindspore/ops_generate/common/gen_constants.py +91 -0
- mindspore/ops_generate/common/gen_utils.py +348 -0
- mindspore/ops_generate/common/op_proto.py +473 -0
- mindspore/ops_generate/common/template.py +523 -0
- mindspore/ops_generate/gen_ops.py +22 -1069
- mindspore/ops_generate/op_def/__init__.py +0 -0
- mindspore/ops_generate/op_def/gen_op_def.py +90 -0
- mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
- mindspore/ops_generate/op_def/ops_def_cc_generator.py +296 -0
- mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
- mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
- 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/op_def_py_generator.py +132 -0
- mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
- mindspore/ops_generate/pyboost/__init__.py +0 -0
- mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
- mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
- mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
- mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
- mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
- mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
- mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
- mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
- mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
- mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
- mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
- mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
- mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
- 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 +7 -3
- mindspore/parallel/_auto_parallel_context.py +159 -40
- mindspore/parallel/_cell_wrapper.py +132 -15
- mindspore/parallel/_parallel_serialization.py +107 -5
- mindspore/parallel/_ps_context.py +1 -1
- mindspore/parallel/_recovery_context.py +7 -2
- mindspore/parallel/_tensor.py +142 -18
- mindspore/parallel/_utils.py +199 -23
- mindspore/parallel/algo_parameter_config.py +4 -4
- mindspore/parallel/auto_parallel.py +732 -0
- mindspore/parallel/checkpoint_convert.py +159 -0
- mindspore/parallel/checkpoint_transform.py +700 -35
- mindspore/parallel/cluster/process_entity/_api.py +276 -50
- mindspore/parallel/cluster/process_entity/_utils.py +41 -6
- mindspore/parallel/cluster/run.py +21 -4
- 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 +25 -14
- mindspore/parallel/shard.py +137 -59
- mindspore/parallel/transform_safetensors.py +364 -305
- mindspore/profiler/__init__.py +22 -5
- mindspore/profiler/analysis/__init__.py +0 -0
- mindspore/profiler/analysis/parser/__init__.py +0 -0
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
- mindspore/profiler/analysis/parser/base_parser.py +158 -0
- mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
- mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
- mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +109 -0
- mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
- mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
- mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
- mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
- mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
- mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
- mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
- mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
- mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
- mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
- mindspore/profiler/analysis/task_manager.py +131 -0
- mindspore/profiler/analysis/time_converter.py +84 -0
- mindspore/profiler/analysis/viewer/__init__.py +0 -0
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
- mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
- mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
- mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
- mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
- mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
- mindspore/profiler/analysis/work_flow.py +73 -0
- mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
- mindspore/profiler/common/command_executor.py +90 -0
- mindspore/profiler/common/constant.py +186 -3
- mindspore/profiler/common/file_manager.py +208 -0
- mindspore/profiler/common/log.py +130 -0
- mindspore/profiler/common/msprof_cmd_tool.py +221 -0
- mindspore/profiler/common/path_manager.py +395 -0
- mindspore/profiler/common/process_bar.py +168 -0
- mindspore/profiler/common/process_pool.py +9 -3
- mindspore/profiler/common/profiler_context.py +500 -0
- mindspore/profiler/common/profiler_info.py +304 -0
- mindspore/profiler/common/profiler_meta_data.py +74 -0
- mindspore/profiler/common/profiler_output_path.py +284 -0
- mindspore/profiler/common/profiler_parameters.py +251 -0
- mindspore/profiler/common/profiler_path_manager.py +179 -0
- mindspore/profiler/common/record_function.py +76 -0
- mindspore/profiler/common/tlv_decoder.py +76 -0
- mindspore/profiler/common/util.py +75 -2
- mindspore/profiler/dynamic_profiler.py +341 -75
- mindspore/profiler/envprofiler.py +163 -0
- mindspore/profiler/experimental_config.py +197 -0
- mindspore/profiler/mstx.py +242 -0
- mindspore/profiler/platform/__init__.py +21 -0
- mindspore/profiler/platform/base_profiler.py +40 -0
- mindspore/profiler/platform/cpu_profiler.py +124 -0
- mindspore/profiler/platform/gpu_profiler.py +74 -0
- mindspore/profiler/platform/npu_profiler.py +335 -0
- mindspore/profiler/profiler.py +1073 -90
- mindspore/profiler/profiler_action_controller.py +187 -0
- mindspore/profiler/profiler_interface.py +118 -0
- mindspore/profiler/schedule.py +243 -0
- mindspore/rewrite/api/node.py +15 -13
- mindspore/rewrite/api/symbol_tree.py +2 -3
- mindspore/run_check/_check_version.py +27 -20
- mindspore/run_check/run_check.py +1 -1
- mindspore/runtime/__init__.py +37 -0
- mindspore/runtime/device.py +27 -0
- mindspore/runtime/event.py +209 -0
- mindspore/runtime/executor.py +177 -0
- mindspore/runtime/memory.py +416 -0
- mindspore/runtime/stream.py +460 -0
- mindspore/runtime/thread_bind_core.py +401 -0
- mindspore/safeguard/rewrite_obfuscation.py +12 -9
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +96 -27
- mindspore/train/amp.py +9 -5
- mindspore/train/callback/__init__.py +2 -2
- mindspore/train/callback/_callback.py +2 -16
- mindspore/train/callback/_checkpoint.py +53 -55
- mindspore/train/callback/_cluster_monitor.py +14 -18
- mindspore/train/callback/_early_stop.py +1 -1
- mindspore/train/callback/_flops_collector.py +103 -68
- mindspore/train/callback/_history.py +8 -5
- 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 +52 -19
- mindspore/train/callback/_time_monitor.py +2 -1
- mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +228 -108
- mindspore/train/data_sink.py +25 -2
- mindspore/train/dataset_helper.py +15 -16
- 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 +11 -10
- mindspore/train/metrics/recall.py +9 -9
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +174 -46
- mindspore/train/model.py +269 -136
- mindspore/train/serialization.py +622 -978
- mindspore/train/summary/_summary_adapter.py +2 -2
- mindspore/train/summary/summary_record.py +2 -3
- mindspore/train/train_thor/model_thor.py +1 -1
- mindspore/utils/__init__.py +6 -3
- mindspore/utils/dryrun.py +140 -0
- mindspore/utils/hooks.py +81 -0
- mindspore/utils/runtime_execution_order_check.py +552 -0
- mindspore/utils/utils.py +138 -4
- mindspore/version.py +1 -1
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/METADATA +3 -3
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/RECORD +570 -401
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +1 -1
- mindspore/_install_custom.py +0 -43
- mindspore/common/_register_for_adapter.py +0 -74
- mindspore/common/_tensor_overload.py +0 -139
- mindspore/lib/libicudata.69.dylib +0 -0
- mindspore/lib/libicui18n.69.dylib +0 -0
- mindspore/lib/libicuuc.69.dylib +0 -0
- mindspore/lib/libmindspore_backend.dylib +0 -0
- mindspore/lib/libmindspore_np_dtype.dylib +0 -0
- mindspore/lib/libtinyxml2.8.dylib +0 -0
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
- mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
- mindspore/ops_generate/gen_aclnn_implement.py +0 -263
- mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
- mindspore/ops_generate/gen_pyboost_func.py +0 -1052
- mindspore/ops_generate/gen_utils.py +0 -209
- mindspore/ops_generate/op_proto.py +0 -145
- mindspore/ops_generate/template.py +0 -261
- mindspore/profiler/envprofiling.py +0 -254
- mindspore/profiler/profiling.py +0 -1926
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
- {mindspore-2.4.10.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,origin/r2.6,r2.6)''
|
mindspore/__init__.py
CHANGED
|
@@ -17,13 +17,17 @@ from __future__ import absolute_import
|
|
|
17
17
|
|
|
18
18
|
from mindspore.run_check import run_check
|
|
19
19
|
from mindspore import common, dataset, mindrecord, train, log, amp
|
|
20
|
-
from mindspore import profiler, communication, numpy, parallel, hal
|
|
20
|
+
from mindspore import profiler, communication, numpy, parallel, hal, runtime, device_context
|
|
21
21
|
from mindspore.common import *
|
|
22
|
+
from mindspore.common import _tensor_docs
|
|
23
|
+
del _tensor_docs
|
|
22
24
|
from mindspore.mindrecord import *
|
|
23
|
-
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
|
|
24
26
|
from mindspore.train import *
|
|
25
27
|
from mindspore.log import *
|
|
26
28
|
from mindspore.utils import *
|
|
29
|
+
from mindspore.device_manager import *
|
|
30
|
+
from mindspore.runtime import *
|
|
27
31
|
from mindspore.context import GRAPH_MODE, PYNATIVE_MODE, set_context, get_context, set_auto_parallel_context, \
|
|
28
32
|
get_auto_parallel_context, reset_auto_parallel_context, ParallelMode, set_ps_context, \
|
|
29
33
|
get_ps_context, reset_ps_context, set_offload_context, get_offload_context, STRICT, COMPATIBLE, LAX
|
|
@@ -31,15 +35,16 @@ from mindspore.version import __version__
|
|
|
31
35
|
from mindspore.profiler import Profiler, EnvProfiler
|
|
32
36
|
from mindspore.parallel import set_algo_parameters, get_algo_parameters, reset_algo_parameters, \
|
|
33
37
|
rank_list_for_transform, transform_checkpoint_by_rank, transform_checkpoints, merge_pipeline_strategys, shard, \
|
|
34
|
-
Layout, sync_pipeline_shared_parameters, parameter_broadcast, load_segmented_checkpoints, \
|
|
35
|
-
|
|
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
|
|
36
42
|
from mindspore.rewrite import SymbolTree, ScopedValue, Node, NodeType
|
|
37
43
|
from mindspore.safeguard import obfuscate_ckpt, load_obf_params_into_net
|
|
38
44
|
from mindspore._check_jit_forbidden_api import get_obj_module_and_name_info, is_jit_forbidden_module, \
|
|
39
45
|
is_invalid_or_jit_forbidden_method
|
|
40
|
-
from mindspore import _install_custom
|
|
41
46
|
from mindspore import mint
|
|
42
|
-
from mindspore.
|
|
47
|
+
from mindspore.ops._utils import arg_handler, arg_dtype_cast
|
|
43
48
|
|
|
44
49
|
__all__ = ["run_check"]
|
|
45
50
|
__all__.extend(__version__)
|
|
@@ -50,4 +55,6 @@ __all__.extend(context.__all__)
|
|
|
50
55
|
__all__.extend(parallel.__all__)
|
|
51
56
|
__all__.extend(rewrite.__all__)
|
|
52
57
|
__all__.extend(safeguard.__all__)
|
|
58
|
+
__all__.extend(device_manager.__all__)
|
|
59
|
+
__all__.extend(runtime.__all__)
|
|
53
60
|
__all__.append("Profiler")
|
|
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,13 +1371,8 @@ 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
|
-
if context.get_context("mode") != context.PYNATIVE_MODE:
|
|
1377
|
-
logger.warning(f"'{hook_type}' function is only supported in pynative mode, you can use "
|
|
1378
|
-
f"context.set_context to set pynative mode.")
|
|
1379
|
-
return False
|
|
1380
|
-
|
|
1381
1376
|
if not isinstance(hook_fn, (FunctionType, MethodType)):
|
|
1382
1377
|
raise TypeError(f"When using 'hook_type(hook_fn)', the type of 'hook_fn' must be python "
|
|
1383
1378
|
f"function, but got {type(hook_fn)}.")
|
|
@@ -1385,35 +1380,5 @@ def check_hook_fn(hook_type, hook_fn):
|
|
|
1385
1380
|
if hook_fn.__code__.co_name == "staging_specialize":
|
|
1386
1381
|
raise TypeError(f"Decorating hook function {hook_fn.__name__} with '@jit' is not supported.")
|
|
1387
1382
|
|
|
1388
|
-
tensor_hook_func_args_num = 1
|
|
1389
|
-
pre_hook_func_args_num = 2
|
|
1390
|
-
forward_hook_and_backward_hook_func_args_num = 3
|
|
1391
|
-
# Real args number, exclude class method self param
|
|
1392
|
-
hook_fn_args_num = len(inspect.signature(hook_fn).parameters)
|
|
1393
|
-
|
|
1394
|
-
if hook_type == "register_hook" and hook_fn_args_num != tensor_hook_func_args_num:
|
|
1395
|
-
raise TypeError(f"Tensor hook function {hook_fn.__name__} arg num should be {tensor_hook_func_args_num}, but "
|
|
1396
|
-
f"got {hook_fn_args_num}")
|
|
1397
|
-
|
|
1398
|
-
if hook_type == "register_forward_pre_hook" and hook_fn_args_num != pre_hook_func_args_num:
|
|
1399
|
-
raise TypeError(f"forward_pre_hook function {hook_fn.__name__} args num should be {pre_hook_func_args_num}, "
|
|
1400
|
-
f"but got {hook_fn_args_num}")
|
|
1401
|
-
|
|
1402
|
-
if (hook_type == "register_forward_hook" and
|
|
1403
|
-
hook_fn_args_num != forward_hook_and_backward_hook_func_args_num):
|
|
1404
|
-
raise TypeError(f"forward_hook function {hook_fn.__name__} args num should be "
|
|
1405
|
-
f"{forward_hook_and_backward_hook_func_args_num}, but got {hook_fn_args_num}")
|
|
1406
|
-
|
|
1407
|
-
if hook_type == "register_backward_pre_hook" and hook_fn_args_num != pre_hook_func_args_num:
|
|
1408
|
-
raise TypeError(f"backward_pre_hook function {hook_fn.__name__} args num should be {pre_hook_func_args_num},"
|
|
1409
|
-
f" but got {hook_fn_args_num}")
|
|
1410
|
-
|
|
1411
|
-
if (hook_type == "register_backward_hook" and
|
|
1412
|
-
hook_fn_args_num != forward_hook_and_backward_hook_func_args_num):
|
|
1413
|
-
raise TypeError(f"backward_hook function {hook_fn.__name__} args num should be "
|
|
1414
|
-
f"{forward_hook_and_backward_hook_func_args_num}, but got {hook_fn_args_num}")
|
|
1415
|
-
|
|
1416
|
-
return True
|
|
1417
|
-
|
|
1418
1383
|
|
|
1419
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):
|
|
@@ -23,7 +23,7 @@ from itertools import product
|
|
|
23
23
|
|
|
24
24
|
SUPPORTED_INPUT_NUM = [1, 2, 3, 4, 5, 6, 7]
|
|
25
25
|
SUPPORTED_OUTPUT_NUM = [1, 2, 3, 4, 5]
|
|
26
|
-
SUPPORTED_DEVICE_ARCH = ["ascend910", "ascend910b"]
|
|
26
|
+
SUPPORTED_DEVICE_ARCH = ["ascend910", "ascend910b", "ascend910_93"]
|
|
27
27
|
VALUE_ALL = "all"
|
|
28
28
|
VALUE = "value"
|
|
29
29
|
NAME = "name"
|
|
@@ -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.
|
|
@@ -267,6 +275,73 @@ Value Range:
|
|
|
267
275
|
"""
|
|
268
276
|
STRICT_CHECK_PARENT_CONTEXT = ''
|
|
269
277
|
|
|
278
|
+
"""
|
|
279
|
+
Name: CELL_PARAMETER_HOOK
|
|
280
|
+
Function: Whether to enable cell parameter hook.
|
|
281
|
+
Cell parameter hook is an experimental api that may be deleted later.
|
|
282
|
+
Value Range:
|
|
283
|
+
1: Enable
|
|
284
|
+
Default: Disable
|
|
285
|
+
"""
|
|
286
|
+
CELL_PARAMETERS_HOOK = ''
|
|
287
|
+
|
|
288
|
+
"""
|
|
289
|
+
Name: CHECK_BPROP
|
|
290
|
+
Function: Whether to check back propagation nodes. The checking ensures that the shape and dtype of
|
|
291
|
+
back propagation node outputs is the same as input parameters.
|
|
292
|
+
Value Range:
|
|
293
|
+
1: Enable
|
|
294
|
+
Default: Disable.
|
|
295
|
+
"""
|
|
296
|
+
CHECK_BPROP = ''
|
|
297
|
+
|
|
298
|
+
"""
|
|
299
|
+
Name: GRAD_FOR_SCALAR
|
|
300
|
+
Function: Whether to get gradient for scalar. When enable, the function's scalar input can be derived.
|
|
301
|
+
Because the back-end does not support scaling operations currently, this interface only
|
|
302
|
+
supports simple operations that can be deduced by the front-end.
|
|
303
|
+
Value Range:
|
|
304
|
+
1: Enable
|
|
305
|
+
Default: Disable.
|
|
306
|
+
"""
|
|
307
|
+
GRAD_FOR_SCALAR = ''
|
|
308
|
+
|
|
309
|
+
"""
|
|
310
|
+
Name: DEBUG_LEVEL
|
|
311
|
+
Function: Whether to record more debug information in compiling process. Used for debugging when errors occur.
|
|
312
|
+
Value Range:
|
|
313
|
+
1: Enable
|
|
314
|
+
Default: Disable.
|
|
315
|
+
"""
|
|
316
|
+
DEBUG_LEVEL = ''
|
|
317
|
+
|
|
318
|
+
"""
|
|
319
|
+
Name: PYNATIVE_JIT_GRAD_MODE
|
|
320
|
+
Function: Which method used for grad jit in pynative mode
|
|
321
|
+
Value Range:
|
|
322
|
+
1: Replace ValueNode
|
|
323
|
+
Default: Parametrization
|
|
324
|
+
"""
|
|
325
|
+
PYNATIVE_JIT_GRAD_MODE = ''
|
|
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
|
+
|
|
336
|
+
"""
|
|
337
|
+
Name: PUT_ALL_CNODE_INTO_ORDER_LIST
|
|
338
|
+
Function: Whether to put all CNode into order list in back prop.
|
|
339
|
+
Value Range:
|
|
340
|
+
0: Disable
|
|
341
|
+
Default: Enable.
|
|
342
|
+
"""
|
|
343
|
+
PUT_ALL_CNODE_INTO_ORDER_LIST = ''
|
|
344
|
+
|
|
270
345
|
__all__ = [
|
|
271
346
|
"COMPILE_PROFILE",
|
|
272
347
|
"COMPILE_PROFILE_FINISH_ACTION",
|
|
@@ -283,6 +358,7 @@ __all__ = [
|
|
|
283
358
|
"BOOST_PARSE",
|
|
284
359
|
"GREED_PARSE",
|
|
285
360
|
"AMP_ENABLE_ALL_FG",
|
|
361
|
+
"DUMP_IR_META_DSL",
|
|
286
362
|
"DUMP_IR_CONFIG",
|
|
287
363
|
"TRAVERSE_SUBSTITUTIONS_MODE",
|
|
288
364
|
"PRE_LIFT",
|
|
@@ -296,4 +372,11 @@ __all__ = [
|
|
|
296
372
|
"ENABLE_RECOMPUTE_BEFORE_INLINE",
|
|
297
373
|
"STRICT_CHECK_PARENT_CONTEXT",
|
|
298
374
|
"AUTO_PASSES_OPTIMIZE_PATH",
|
|
375
|
+
"CELL_PARAMETERS_HOOK",
|
|
376
|
+
"CHECK_BPROP",
|
|
377
|
+
"GRAD_FOR_SCALAR",
|
|
378
|
+
"DEBUG_LEVEL",
|
|
379
|
+
"PYNATIVE_JIT_GRAD_MODE",
|
|
380
|
+
"PIJIT_SUBGRAPH_BREAK_OPTIMIZE",
|
|
381
|
+
"PUT_ALL_CNODE_INTO_ORDER_LIST",
|
|
299
382
|
]
|
|
File without changes
|