mindspore 2.4.10__cp39-cp39-win_amd64.whl → 2.6.0rc1__cp39-cp39-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/__init__.py +13 -6
- mindspore/_c_dataengine.cp39-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp39-win_amd64.pyd +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 +46 -197
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +217 -98
- 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/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 +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 +435 -371
- 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 +2 -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 +951 -1992
- 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 +314 -566
- 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 +182 -116
- 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 +211 -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 +157 -117
- 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/jpeg62.dll +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/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_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 +796 -759
- 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 +921 -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 +1370 -189
- 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 +22 -17
- 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 +17 -13
- 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/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 +365 -363
- mindspore/numpy/utils.py +17 -18
- mindspore/numpy/utils_const.py +5 -6
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- 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 +27 -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 +236 -46
- mindspore/ops/auto_generate/gen_extend_func.py +764 -124
- mindspore/ops/auto_generate/gen_ops_def.py +4018 -2264
- mindspore/ops/auto_generate/gen_ops_prim.py +15463 -5037
- mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
- 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 +4501 -3802
- mindspore/ops/function/nn_func.py +1726 -620
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +18 -84
- mindspore/ops/function/random_func.py +440 -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 +24 -17
- mindspore/ops/functional.py +22 -7
- mindspore/ops/functional_overload.py +1440 -0
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +13 -7
- mindspore/ops/operations/_custom_ops_utils.py +247 -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 +232 -78
- mindspore/ops/operations/debug_ops.py +153 -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 +210 -498
- 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 +1888 -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 +299 -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 +152 -34
- mindspore/parallel/_cell_wrapper.py +130 -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 +698 -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 +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 +25 -14
- mindspore/parallel/shard.py +137 -58
- mindspore/parallel/transform_safetensors.py +363 -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 +106 -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 +409 -0
- mindspore/runtime/stream.py +460 -0
- mindspore/runtime/thread_bind_core.py +401 -0
- mindspore/safeguard/rewrite_obfuscation.py +12 -9
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +88 -25
- 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} +204 -107
- 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 +184 -113
- 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/turbojpeg.dll +0 -0
- 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 +550 -0
- mindspore/utils/utils.py +138 -4
- mindspore/version.py +1 -1
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +3 -3
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +562 -393
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.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/mindspore_np_dtype.dll +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.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
|
|
19
19
|
from __future__ import absolute_import
|
|
20
20
|
import os
|
|
21
|
-
import sys
|
|
22
21
|
import ast
|
|
23
22
|
import re
|
|
24
23
|
import hashlib
|
|
@@ -39,15 +38,15 @@ from mindspore import nn
|
|
|
39
38
|
from mindspore import ops
|
|
40
39
|
from mindspore import context
|
|
41
40
|
from mindspore import tensor
|
|
42
|
-
from mindspore.common.api import
|
|
41
|
+
from mindspore.common.api import _JitExecutor
|
|
43
42
|
from mindspore.common import dtype as mstype
|
|
44
43
|
from mindspore.common.parameter import Parameter
|
|
45
44
|
from mindspore.common import mutable
|
|
46
|
-
from mindspore.common._register_for_adapter import ms_adapter_registry
|
|
47
45
|
from mindspore._checkparam import is_stub_tensor
|
|
48
46
|
from .namespace import Namespace, ModuleNamespace, ClosureNamespace, ClassMemberNamespace
|
|
49
47
|
from .resources import parse_object_map, ops_symbol_map, convert_object_map, convert_class_to_function_map, trope_ns
|
|
50
48
|
from .resources import SYMBOL_UNDEFINE, constant_fold_functions
|
|
49
|
+
from .jit_fallback_modules.check_utils import third_party_checker
|
|
51
50
|
from ...common.api import _convert_python_data
|
|
52
51
|
|
|
53
52
|
# Define resolve type
|
|
@@ -62,6 +61,7 @@ RESOLVE_TYPE_NUMPY_FLOAT_NUMBER = 7 # Resolve numpy float number.
|
|
|
62
61
|
RESOLVE_TYPE_NUMPY_BOOL_NUMBER = 8 # Resolve numpy bool number.
|
|
63
62
|
RESOLVE_TYPE_TUPLE = 9 # Resolve builtin tuple type.
|
|
64
63
|
RESOLVE_TYPE_LIST = 10 # Resolve builtin list type.
|
|
64
|
+
RESOLVE_TYPE_BUILTIN_METHOD = 11 # Resolve builtin type.
|
|
65
65
|
RESOLVE_TYPE_INVALID = 0xFF # Resolve invalid.
|
|
66
66
|
|
|
67
67
|
# Define the class instance detail type
|
|
@@ -70,7 +70,6 @@ CLASS_INSTANCE_TYPE_CELL = 0 # Class instance type is Cell
|
|
|
70
70
|
CLASS_INSTANCE_TYPE_PRIMITIVE = 1 # Class instance type is Primitive
|
|
71
71
|
CLASS_INSTANCE_TYPE_NUMPY_ARRAY = 2 # Class instance type is Numpy Array
|
|
72
72
|
CLASS_INSTANCE_TYPE_TENSOR = 3 # Class instance type is Tensor
|
|
73
|
-
CLASS_INSTANCE_TYPE_ADAPTER_TENSOR = 4 # Class instance type is Adapter Tensor
|
|
74
73
|
CLASS_INSTANCE_TYPE_INVALID = 0xFF
|
|
75
74
|
|
|
76
75
|
# Ast main type
|
|
@@ -98,16 +97,25 @@ SYNTAX_UNSUPPORTED_EXTERNAL_TYPE = 2 # Unsupported external type
|
|
|
98
97
|
SYNTAX_HYBRID_TYPE = 3 # Hybrid type
|
|
99
98
|
SYNTAX_UNSUPPORTED_NAMESPACE = 4 # Unsupported namespace
|
|
100
99
|
|
|
101
|
-
# Module source location
|
|
102
|
-
MODULE_FROM_MINDSPORE = 0
|
|
103
|
-
MODULE_FROM_THIRDPARTY = 1
|
|
104
|
-
MODULE_FROM_USER_WORKSPACE = 2
|
|
105
|
-
|
|
106
|
-
|
|
107
100
|
# Process expr statement white list
|
|
108
101
|
# Add as needed, eg: "clear", "extend", "insert", "remove", "reverse"
|
|
109
102
|
parse_expr_statement_white_list = (
|
|
110
|
-
"append", "insert", "clear", "reverse", "extend", "update",
|
|
103
|
+
"append", "insert", "clear", "reverse", "extend", "update", "register_hook",
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
# Methods that need to reorder after it's caller is used before
|
|
107
|
+
# e.g. We need to reorder `x.register_hook` after x is used in `out = x + 1` when `register_hook` is called.
|
|
108
|
+
# def construct(x):
|
|
109
|
+
# out = x + 1
|
|
110
|
+
# x.register_hook(hook_fn)
|
|
111
|
+
# return out
|
|
112
|
+
# equals to:
|
|
113
|
+
# def construct(x):
|
|
114
|
+
# x = x.register_hook(hook_fn) # register_hook will return itself when it is called in the graph (in `GRAPH_MODE`).
|
|
115
|
+
# out = x + 1
|
|
116
|
+
# return out
|
|
117
|
+
_need_reorder_methods = (
|
|
118
|
+
"register_hook",
|
|
111
119
|
)
|
|
112
120
|
|
|
113
121
|
_builtin_function_or_method_type = type(abs)
|
|
@@ -122,23 +130,9 @@ _fallback_unsupported_python_builtin_type = (
|
|
|
122
130
|
compile, eval, exec
|
|
123
131
|
)
|
|
124
132
|
|
|
125
|
-
_modules_from_mindspore = (
|
|
126
|
-
"mindspore", "msadapter", "mindocr", "mindyolo", "mindnlp", "mindcv", "mindspore_rec", "mindaudio", "mindone",
|
|
127
|
-
"mindspore_rl", "mindformers", "mindpet", "mindpose", "mindface", "mindsearch", "mindinsight", "mindelec",
|
|
128
|
-
"mindflow", "mindsponge", "mindearth", "sciai", "mindquantum", "mindarmour", "mindpandas", "mindvision",
|
|
129
|
-
"mindspore_gl", "mindspore_federated", "mindspore_gs", "mindspore_serving", "mindspore_xai", "mindspore_hub",
|
|
130
|
-
"ringmo_framework", "troubleshooter", "mindtorch", "mindchemistry",
|
|
131
|
-
)
|
|
132
|
-
|
|
133
133
|
_global_params = {}
|
|
134
134
|
|
|
135
135
|
|
|
136
|
-
def _convert_map():
|
|
137
|
-
"""Get convert object map"""
|
|
138
|
-
adapter_convert_map = ms_adapter_registry.convert_map
|
|
139
|
-
return adapter_convert_map if adapter_convert_map else convert_object_map
|
|
140
|
-
|
|
141
|
-
|
|
142
136
|
def create_slice_obj(start, end, step):
|
|
143
137
|
"""Create slice object"""
|
|
144
138
|
return slice(start, end, step)
|
|
@@ -256,9 +250,8 @@ def resolve_symbol(namespace, symbol):
|
|
|
256
250
|
return resolve_
|
|
257
251
|
|
|
258
252
|
# If need trope the obj
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
resolve_ = convert_map.get(resolve_)
|
|
253
|
+
if resolve_ in convert_object_map:
|
|
254
|
+
resolve_ = convert_object_map.get(resolve_)
|
|
262
255
|
logger.debug("Convert resolve: %r", resolve_)
|
|
263
256
|
except Exception as e:
|
|
264
257
|
if isinstance(e, NotImplementedError):
|
|
@@ -268,8 +261,8 @@ def resolve_symbol(namespace, symbol):
|
|
|
268
261
|
logger.debug("Resolve type is invalid, namespace: %s, symbol: %s",
|
|
269
262
|
namespace.__str__(), symbol)
|
|
270
263
|
|
|
271
|
-
if isinstance(resolve_,
|
|
272
|
-
logger.debug("Resolve class
|
|
264
|
+
if isinstance(resolve_, _JitExecutor):
|
|
265
|
+
logger.debug("Resolve class _JitExecutor, resolve fn instead.")
|
|
273
266
|
resolve_ = resolve_.fn
|
|
274
267
|
logger.debug(f"Found '{symbol}' in {namespace.__str__()}, resolved: {resolve_} / {type(resolve_)}")
|
|
275
268
|
return resolve_
|
|
@@ -310,7 +303,8 @@ def get_object_key(obj):
|
|
|
310
303
|
logger.debug("obj_key: %s, obj_id: %s", obj_key, obj_id)
|
|
311
304
|
|
|
312
305
|
# Method has same id of different instance
|
|
313
|
-
if isinstance(obj, types.MethodType)
|
|
306
|
+
if isinstance(obj, types.MethodType) or \
|
|
307
|
+
(isinstance(obj, types.BuiltinMethodType) and obj.__qualname__.split('.')[0] == Tensor.__name__):
|
|
314
308
|
method_instance = obj.__self__
|
|
315
309
|
instance_id = "%s_ID%d" % (str(method_instance.__class__.__name__), id(method_instance))
|
|
316
310
|
if isinstance(method_instance, (tuple, list, dict)):
|
|
@@ -385,6 +379,8 @@ def get_obj_type(obj):
|
|
|
385
379
|
obj_type = RESOLVE_TYPE_NUMPY_FLOAT_NUMBER
|
|
386
380
|
elif _is_numpy_bool_number(obj):
|
|
387
381
|
obj_type = RESOLVE_TYPE_NUMPY_BOOL_NUMBER
|
|
382
|
+
elif isinstance(obj, types.BuiltinMethodType) and obj.__qualname__.split('.')[0] == Tensor.__name__:
|
|
383
|
+
obj_type = RESOLVE_TYPE_BUILTIN_METHOD
|
|
388
384
|
else:
|
|
389
385
|
obj_type = RESOLVE_TYPE_INVALID
|
|
390
386
|
return obj_type
|
|
@@ -486,7 +482,7 @@ def convert_class_to_function(cls_str, cls_obj):
|
|
|
486
482
|
f"supported in 'construct' or @jit decorated function. Try to create {cls_str} "
|
|
487
483
|
f"instances external such as initialized in the method '__init__' before assigning. "
|
|
488
484
|
f"For more details, please refer to "
|
|
489
|
-
f"https://www.mindspore.cn/
|
|
485
|
+
f"https://www.mindspore.cn/tutorials/zh-CN/master/compile/static_graph.html \n")
|
|
490
486
|
return convert_class_to_function_map.get(cls_str)
|
|
491
487
|
|
|
492
488
|
|
|
@@ -593,28 +589,6 @@ def is_class_type(cls):
|
|
|
593
589
|
return isinstance(cls, type)
|
|
594
590
|
|
|
595
591
|
|
|
596
|
-
def get_adapter_tensor_attr(name):
|
|
597
|
-
"""Get the method or @property modified function of the class, excluding those inherited from parent class."""
|
|
598
|
-
cls = ms_adapter_registry.tensor
|
|
599
|
-
properties = [key for key, value in vars(cls).items() if isinstance(value, property)]
|
|
600
|
-
if name in properties:
|
|
601
|
-
return getattr(cls, name).fget, True
|
|
602
|
-
methods = [key for key, value in vars(cls).items() if inspect.isfunction(value)]
|
|
603
|
-
if name in methods:
|
|
604
|
-
return getattr(cls, name), False
|
|
605
|
-
return None, False
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
def is_adapter_tensor_class(cls):
|
|
609
|
-
"""Check if cls is adapter tensor type."""
|
|
610
|
-
return cls in (Tensor, ms_adapter_registry.tensor)
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
def is_adapter_parameter_class(cls):
|
|
614
|
-
"""Check if cls is adapter parameter type."""
|
|
615
|
-
return cls in (Parameter, ms_adapter_registry.parameter)
|
|
616
|
-
|
|
617
|
-
|
|
618
592
|
def get_ms_class_name(cls):
|
|
619
593
|
"""Get the name of the class instance decorated with jit_class."""
|
|
620
594
|
if isinstance(cls, type):
|
|
@@ -666,7 +640,7 @@ def expand_expr_statement(node):
|
|
|
666
640
|
Process the expr statement and expand it.
|
|
667
641
|
|
|
668
642
|
Returns:
|
|
669
|
-
|
|
643
|
+
(False,)/(True, expr.value, target, bool)/(True, expr.value).
|
|
670
644
|
"""
|
|
671
645
|
if isinstance(node, ast.Expr):
|
|
672
646
|
expr_value = node.value
|
|
@@ -679,7 +653,7 @@ def expand_expr_statement(node):
|
|
|
679
653
|
target = func.value
|
|
680
654
|
if method in parse_expr_statement_white_list:
|
|
681
655
|
logger.debug("Expand expr, target:%s, method:%s", target, method)
|
|
682
|
-
return True, expr_value, target
|
|
656
|
+
return True, expr_value, target, method in _need_reorder_methods
|
|
683
657
|
if not isinstance(expr_value, ast.Str):
|
|
684
658
|
return True, expr_value
|
|
685
659
|
return (False,)
|
|
@@ -914,133 +888,13 @@ def check_is_subclass(target_object, parent):
|
|
|
914
888
|
return False
|
|
915
889
|
|
|
916
890
|
|
|
917
|
-
class ThirdPartyLibraryChecker:
|
|
918
|
-
"""
|
|
919
|
-
Check if a module or function is from third-party libraries.
|
|
920
|
-
|
|
921
|
-
Rules for detecting third-party libraries:
|
|
922
|
-
|
|
923
|
-
1. The mindspore module and its suite are not third-party libraries.
|
|
924
|
-
|
|
925
|
-
2. Python built-in modules and python standard libraries are third-party libraries.
|
|
926
|
-
|
|
927
|
-
3. Modules with module names provided by MS_JIT_IGNORE_MODULES are treated as third-party
|
|
928
|
-
libraries, but those provided by MS_JIT_MODULES are not.
|
|
929
|
-
|
|
930
|
-
4. Third-party libraries have 'site-packages' in their installation path.
|
|
931
|
-
"""
|
|
932
|
-
def __init__(self):
|
|
933
|
-
self.user_workspace_dir = self.get_top_level_module_path(os.getcwd())
|
|
934
|
-
self.python_builtin_dir = os.path.realpath(os.path.dirname(os.__file__))
|
|
935
|
-
|
|
936
|
-
@staticmethod
|
|
937
|
-
def get_jit_modules():
|
|
938
|
-
"""Modules in jit_modules require jit."""
|
|
939
|
-
jit_modules = []
|
|
940
|
-
# Get jit modules from environment variable.
|
|
941
|
-
env_modules = os.getenv('MS_JIT_MODULES')
|
|
942
|
-
if env_modules is not None:
|
|
943
|
-
jit_modules = env_modules.split(',')
|
|
944
|
-
return jit_modules
|
|
945
|
-
|
|
946
|
-
@staticmethod
|
|
947
|
-
def get_jit_ignore_modules():
|
|
948
|
-
"""Modules in jit_ignore_modules do not need jit."""
|
|
949
|
-
jit_ignore_modules = []
|
|
950
|
-
# Get jit ignore modules from environment variable.
|
|
951
|
-
env_modules = os.getenv('MS_JIT_IGNORE_MODULES')
|
|
952
|
-
if env_modules is not None:
|
|
953
|
-
jit_ignore_modules = env_modules.split(',')
|
|
954
|
-
# sys.builtin_module_names do not need jit.
|
|
955
|
-
jit_ignore_modules.extend(sys.builtin_module_names)
|
|
956
|
-
return jit_ignore_modules
|
|
957
|
-
|
|
958
|
-
@staticmethod
|
|
959
|
-
def is_mindspore_related_module(module):
|
|
960
|
-
"""Check if module is mindspore module or its suite."""
|
|
961
|
-
module_leftmost_name = module.__name__.split('.')[0]
|
|
962
|
-
return module_leftmost_name in _modules_from_mindspore
|
|
963
|
-
|
|
964
|
-
def get_top_level_module_path(self, module_path):
|
|
965
|
-
"""Get the path of the top level package of the current working directory."""
|
|
966
|
-
module_abspath = os.path.realpath(module_path)
|
|
967
|
-
upper_path = os.path.realpath(os.path.dirname(module_abspath))
|
|
968
|
-
if module_abspath == upper_path:
|
|
969
|
-
return module_abspath
|
|
970
|
-
# Check whether __init__.py exists in the upper directory.
|
|
971
|
-
init_path = os.path.join(upper_path, '__init__.py')
|
|
972
|
-
# If the path does not exist or is accessed without permission, os.path.isfile returns false.
|
|
973
|
-
if os.path.isfile(init_path):
|
|
974
|
-
module_abspath = self.get_top_level_module_path(upper_path)
|
|
975
|
-
return module_abspath
|
|
976
|
-
|
|
977
|
-
def is_third_party_module(self, module):
|
|
978
|
-
"""Check if module is a third-party library."""
|
|
979
|
-
module_leftmost_name = module.__name__.split('.')[0]
|
|
980
|
-
# Modules in jit_ignore_modules are treated as third-party libraries, such as sys.builtin_module_names.
|
|
981
|
-
jit_ignore_modules = self.get_jit_ignore_modules()
|
|
982
|
-
if module_leftmost_name in jit_ignore_modules:
|
|
983
|
-
logger.debug(f"Found third-party module '{module_leftmost_name}' in jit_ignore_modules.")
|
|
984
|
-
return True
|
|
985
|
-
# Modules in jit_modules require jit and they are considered to be in user workspace.
|
|
986
|
-
jit_modules = self.get_jit_modules()
|
|
987
|
-
if module_leftmost_name in jit_modules:
|
|
988
|
-
logger.debug(f"Found user-defined module '{module_leftmost_name}' in jit_modules.")
|
|
989
|
-
return False
|
|
990
|
-
# A modules without __file__ attribute is considered to be in user workspace.
|
|
991
|
-
if not hasattr(module, '__file__'):
|
|
992
|
-
return False
|
|
993
|
-
module_path = os.path.realpath(module.__file__)
|
|
994
|
-
# Python builtin modules are treated as third-party libraries.
|
|
995
|
-
if module_path.startswith(self.python_builtin_dir):
|
|
996
|
-
logger.debug(f"Found python builtin module '{module.__name__}', which is a third-party module.")
|
|
997
|
-
return True
|
|
998
|
-
# Check if module is under user workspace directory.
|
|
999
|
-
if module_path.startswith(self.user_workspace_dir):
|
|
1000
|
-
logger.debug(f"Found module '{module.__name__}' in user_workspace_dir: {self.user_workspace_dir}")
|
|
1001
|
-
return False
|
|
1002
|
-
# Third-party modules are under site-packages.
|
|
1003
|
-
split_path = module_path.split(os.path.sep)
|
|
1004
|
-
result = "site-packages" in split_path
|
|
1005
|
-
if result:
|
|
1006
|
-
logger.debug(f"Found third-party module '{module.__name__}' in path '{module_path}'")
|
|
1007
|
-
return result
|
|
1008
|
-
|
|
1009
|
-
def get_module_source_location(self, module):
|
|
1010
|
-
"""Get the source location of the module."""
|
|
1011
|
-
if self.is_mindspore_related_module(module):
|
|
1012
|
-
return MODULE_FROM_MINDSPORE
|
|
1013
|
-
if self.is_third_party_module(module):
|
|
1014
|
-
return MODULE_FROM_THIRDPARTY
|
|
1015
|
-
return MODULE_FROM_USER_WORKSPACE
|
|
1016
|
-
|
|
1017
|
-
def is_third_party_module_or_function(self, value):
|
|
1018
|
-
"""Check if value is from a third-party library."""
|
|
1019
|
-
if inspect.ismodule(value):
|
|
1020
|
-
module = value
|
|
1021
|
-
elif (isinstance(value, types.FunctionType) and not hasattr(value, "__jit_function__")) or \
|
|
1022
|
-
(isinstance(value, types.MethodType) and not hasattr(value.__func__, "__jit_function__")):
|
|
1023
|
-
value_hashable = True
|
|
1024
|
-
try:
|
|
1025
|
-
hash(value)
|
|
1026
|
-
except TypeError:
|
|
1027
|
-
value_hashable = False
|
|
1028
|
-
if value_hashable and value in _convert_map():
|
|
1029
|
-
return False
|
|
1030
|
-
module = inspect.getmodule(value)
|
|
1031
|
-
if module is None:
|
|
1032
|
-
return False
|
|
1033
|
-
else:
|
|
1034
|
-
return False
|
|
1035
|
-
return self.get_module_source_location(module) == MODULE_FROM_THIRDPARTY
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
third_party_checker = ThirdPartyLibraryChecker()
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
891
|
def is_from_third_party_library(value):
|
|
1042
892
|
"""Check if value is from a third-party library."""
|
|
1043
|
-
return third_party_checker.
|
|
893
|
+
return third_party_checker.is_from_third_party_module(value)
|
|
894
|
+
|
|
895
|
+
|
|
896
|
+
def convert_to_mutable(object):
|
|
897
|
+
return mutable(object)
|
|
1044
898
|
|
|
1045
899
|
|
|
1046
900
|
def get_const_abs(obj):
|
|
@@ -1075,7 +929,13 @@ def is_ms_tensor_method(obj):
|
|
|
1075
929
|
if not hasattr(obj, '__name__') or not hasattr(Tensor, obj.__name__):
|
|
1076
930
|
return False
|
|
1077
931
|
fn = inspect.unwrap(obj.__func__ if isinstance(obj, types.MethodType) else obj)
|
|
1078
|
-
|
|
932
|
+
tensor_method = getattr(Tensor, obj.__name__)
|
|
933
|
+
tensor_method = tensor_method.__func__ if hasattr(tensor_method, "__func__") else tensor_method
|
|
934
|
+
is_builtin_tensor = False
|
|
935
|
+
if inspect.isbuiltin(obj):
|
|
936
|
+
class_name_and_method_name = obj.__qualname__.split('.')
|
|
937
|
+
is_builtin_tensor = obj.__module__ is None and class_name_and_method_name[0] == Tensor.__name__
|
|
938
|
+
return fn == tensor_method or is_builtin_tensor
|
|
1079
939
|
|
|
1080
940
|
|
|
1081
941
|
def can_constant_fold(obj):
|
|
@@ -1114,7 +974,7 @@ class Parser:
|
|
|
1114
974
|
@staticmethod
|
|
1115
975
|
def is_unsupported_namespace(value):
|
|
1116
976
|
"""To check if not supported for namespace"""
|
|
1117
|
-
unsupported = isinstance(value, _builtin_function_or_method_type) and value not in
|
|
977
|
+
unsupported = isinstance(value, _builtin_function_or_method_type) and value not in convert_object_map
|
|
1118
978
|
logger.debug(f"'{value}' unsupported: {unsupported}.")
|
|
1119
979
|
if unsupported and value in _fallback_unsupported_python_builtin_type:
|
|
1120
980
|
raise TypeError(f"'{value}' is not supported both in JIT Fallback and graph mode.")
|
|
@@ -1132,18 +992,8 @@ class Parser:
|
|
|
1132
992
|
"""To check if is class Tensor type"""
|
|
1133
993
|
if value == Tensor:
|
|
1134
994
|
return CLASS_INSTANCE_TYPE_TENSOR
|
|
1135
|
-
if issubclass(value, ms_adapter_registry.tensor):
|
|
1136
|
-
return CLASS_INSTANCE_TYPE_ADAPTER_TENSOR
|
|
1137
995
|
return CLASS_INSTANCE_TYPE_INVALID
|
|
1138
996
|
|
|
1139
|
-
@staticmethod
|
|
1140
|
-
def get_adapter_convert_function(class_object):
|
|
1141
|
-
"""Get convert function for adapter tensor"""
|
|
1142
|
-
class_object_name = class_object.__name__
|
|
1143
|
-
if class_object_name in ms_adapter_registry.convert_adapter_tensor_map:
|
|
1144
|
-
return ms_adapter_registry.convert_adapter_tensor_map[class_object_name]
|
|
1145
|
-
return None
|
|
1146
|
-
|
|
1147
997
|
@staticmethod
|
|
1148
998
|
def is_unsupported_internal_type(value):
|
|
1149
999
|
"""To check if not supported internal type, such as Tensor"""
|
|
@@ -1152,8 +1002,6 @@ class Parser:
|
|
|
1152
1002
|
if value == Tensor:
|
|
1153
1003
|
logger.debug(f"Found unsupported internal type: '{value}'.")
|
|
1154
1004
|
return True
|
|
1155
|
-
if ms_adapter_registry.is_registered and issubclass(value, ms_adapter_registry.tensor):
|
|
1156
|
-
return True
|
|
1157
1005
|
return False
|
|
1158
1006
|
|
|
1159
1007
|
@staticmethod
|
|
@@ -1162,7 +1010,7 @@ class Parser:
|
|
|
1162
1010
|
# The value may not be supported to do ConvertData such as api 'mutable',
|
|
1163
1011
|
# and we get its converted object from python.
|
|
1164
1012
|
if inspect.isfunction(value) and value in (mutable,):
|
|
1165
|
-
return
|
|
1013
|
+
return convert_object_map.get(value)
|
|
1166
1014
|
return value
|
|
1167
1015
|
|
|
1168
1016
|
def get_syntax_support_type(self, value):
|
|
@@ -1224,7 +1072,8 @@ class Parser:
|
|
|
1224
1072
|
self.col_offset = \
|
|
1225
1073
|
len(original_src.split('\n')[0]) - len(src.split('\n')[0])
|
|
1226
1074
|
logger.debug("Get source: %s", src)
|
|
1227
|
-
self.
|
|
1075
|
+
if not hasattr(self.fn, attr):
|
|
1076
|
+
self.check_lambda(src)
|
|
1228
1077
|
try:
|
|
1229
1078
|
ast_tokens = asttokens.ASTTokens(src, parse=True)
|
|
1230
1079
|
except IndentationError as idt_err:
|
|
@@ -116,7 +116,7 @@ convert_object_map = {
|
|
|
116
116
|
T.xor: multitype_ops.bitwise_xor,
|
|
117
117
|
T.pos: multitype_ops.uadd,
|
|
118
118
|
T.neg: multitype_ops.negative,
|
|
119
|
-
T.invert:
|
|
119
|
+
T.invert: multitype_ops.invert,
|
|
120
120
|
T.not_: multitype_ops.logical_not,
|
|
121
121
|
T.eq: multitype_ops.equal,
|
|
122
122
|
T.ne: multitype_ops.not_equal,
|
|
@@ -181,16 +181,12 @@ constant_fold_functions = [
|
|
|
181
181
|
abs,
|
|
182
182
|
all,
|
|
183
183
|
any,
|
|
184
|
-
float,
|
|
185
|
-
int,
|
|
186
|
-
bool,
|
|
187
184
|
len,
|
|
188
185
|
max,
|
|
189
186
|
min,
|
|
190
187
|
pow,
|
|
191
188
|
repr,
|
|
192
189
|
round,
|
|
193
|
-
str,
|
|
194
190
|
sum,
|
|
195
191
|
type,
|
|
196
192
|
T.add,
|