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
mindspore/_install_custom.py
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# Copyright 2023 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
|
-
"""install custom op files"""
|
|
16
|
-
|
|
17
|
-
import os
|
|
18
|
-
import platform
|
|
19
|
-
import importlib.util
|
|
20
|
-
from mindspore import log as logger
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
def _install_custom():
|
|
24
|
-
"""install custom op files"""
|
|
25
|
-
if platform.system() != "Linux":
|
|
26
|
-
return
|
|
27
|
-
custom_op_path = os.environ.get("MS_DEV_CUSTOM_OPP_PATH")
|
|
28
|
-
if not custom_op_path:
|
|
29
|
-
return
|
|
30
|
-
if not os.path.isdir(custom_op_path):
|
|
31
|
-
logger.warning("The path set in env 'MS_DEV_CUSTOM_OPP_PATH' is not a directory: '{}'".format(custom_op_path))
|
|
32
|
-
else:
|
|
33
|
-
for file_name in os.listdir(custom_op_path):
|
|
34
|
-
file_path = os.path.join(custom_op_path, file_name)
|
|
35
|
-
if os.path.isfile(file_path) and file_name.endswith(".py") and file_name != "__init__.py":
|
|
36
|
-
logger.info("start import file: '{}'".format(file_path))
|
|
37
|
-
mod_spec = importlib.util.spec_from_file_location(os.path.splitext(file_name)[0], file_path)
|
|
38
|
-
mod = importlib.util.module_from_spec(mod_spec)
|
|
39
|
-
mod_spec.loader.exec_module(mod)
|
|
40
|
-
os.environ.pop("MS_DEV_CUSTOM_OPP_PATH")
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
_install_custom()
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# Copyright 2022-2023 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
|
-
|
|
16
|
-
"""Registry MSAdapter config."""
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class Registry:
|
|
20
|
-
"""Registry class for ms adapter."""
|
|
21
|
-
|
|
22
|
-
def __init__(self):
|
|
23
|
-
self.is_registered = False
|
|
24
|
-
self._tensor = None
|
|
25
|
-
self._parameter = None
|
|
26
|
-
self._convert_map = {}
|
|
27
|
-
self.convert_adapter_tensor_map = {}
|
|
28
|
-
|
|
29
|
-
@property
|
|
30
|
-
def tensor(self):
|
|
31
|
-
"""Return the registered tensor."""
|
|
32
|
-
if self._tensor is None:
|
|
33
|
-
raise ValueError("Before using Tensor in MSAdapter, please call 'set_adapter_config'.")
|
|
34
|
-
return self._tensor
|
|
35
|
-
|
|
36
|
-
@property
|
|
37
|
-
def parameter(self):
|
|
38
|
-
"""Return the registered parrameter."""
|
|
39
|
-
if self._parameter is None:
|
|
40
|
-
raise ValueError("Before using Parameter in MSAdapter, please call 'set_adapter_config'.")
|
|
41
|
-
return self._parameter
|
|
42
|
-
|
|
43
|
-
@property
|
|
44
|
-
def convert_map(self):
|
|
45
|
-
"""Return the registered convert map."""
|
|
46
|
-
return self._convert_map
|
|
47
|
-
|
|
48
|
-
def register_tensor(self, value):
|
|
49
|
-
"""Register the tensor of ms adapter."""
|
|
50
|
-
if self._tensor is not None:
|
|
51
|
-
raise ValueError("Repeated registration of tensor in ms adapter config.")
|
|
52
|
-
self._tensor = value
|
|
53
|
-
self.is_registered = True
|
|
54
|
-
|
|
55
|
-
def register_parameter(self, value):
|
|
56
|
-
"""Register the parameter of ms adapter."""
|
|
57
|
-
if self._parameter is not None:
|
|
58
|
-
raise ValueError("Repeated registration of Parameter in ms adapter config.")
|
|
59
|
-
self._parameter = value
|
|
60
|
-
|
|
61
|
-
def register_convert_map(self, value):
|
|
62
|
-
"""Register the convert map of ms adapter."""
|
|
63
|
-
if not isinstance(value, dict):
|
|
64
|
-
raise ValueError(f"Expect a dict type, but got {type(value)}.")
|
|
65
|
-
self._convert_map = value
|
|
66
|
-
|
|
67
|
-
def register_convert_adapter_tensor_map(self, value):
|
|
68
|
-
"""Register the convert map for adapter tensor."""
|
|
69
|
-
if not isinstance(value, dict):
|
|
70
|
-
raise ValueError(f"Expect a dict type, but got {type(value)}.")
|
|
71
|
-
self.convert_adapter_tensor_map = value
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
ms_adapter_registry = Registry()
|
|
@@ -1,139 +0,0 @@
|
|
|
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
|
-
|
|
16
|
-
"""Mint adaptor."""
|
|
17
|
-
|
|
18
|
-
from __future__ import absolute_import
|
|
19
|
-
import os
|
|
20
|
-
from mindspore.common._register_for_tensor import tensor_operator_registry_for_mint
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
def repeat_interleave_mint(orig_fn):
|
|
24
|
-
"""
|
|
25
|
-
repeat_interleave wrapper.
|
|
26
|
-
For details, please refer to :func:`mindspore.ops.repeat_interleave_ext`.
|
|
27
|
-
"""
|
|
28
|
-
def wrapper(self, *args, **kwargs):
|
|
29
|
-
if os.environ.get('MS_TENSOR_API_ENABLE_MINT') == '1':
|
|
30
|
-
return tensor_operator_registry_for_mint.get('repeat_interleave')(self, *args, **kwargs)
|
|
31
|
-
return orig_fn(self, *args, **kwargs)
|
|
32
|
-
return wrapper
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
def isnan_mint(orig_fn):
|
|
36
|
-
"""
|
|
37
|
-
isnan wrapper.
|
|
38
|
-
"""
|
|
39
|
-
def wrapper(self, *args, **kwargs):
|
|
40
|
-
if os.environ.get('MS_TENSOR_API_ENABLE_MINT') == '1':
|
|
41
|
-
return tensor_operator_registry_for_mint.get('ne')(self, self, **kwargs)
|
|
42
|
-
return orig_fn(self, *args, **kwargs)
|
|
43
|
-
return wrapper
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
def add_mint(add):
|
|
47
|
-
"""
|
|
48
|
-
add wrapper
|
|
49
|
-
"""
|
|
50
|
-
def wrapper(self, other, **kwargs):
|
|
51
|
-
if os.environ.get('MS_TENSOR_API_ENABLE_MINT') == '1':
|
|
52
|
-
return tensor_operator_registry_for_mint.get('add')(self, other, **kwargs)
|
|
53
|
-
return add(self, other, **kwargs)
|
|
54
|
-
return wrapper
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
def flatten_mint(flatten):
|
|
58
|
-
"""
|
|
59
|
-
flatten wrapper
|
|
60
|
-
"""
|
|
61
|
-
def wrapper(self, *args, **kwargs):
|
|
62
|
-
if os.environ.get('MS_TENSOR_API_ENABLE_MINT') == '1':
|
|
63
|
-
if args:
|
|
64
|
-
kwargs["start_dim"] = args[0]
|
|
65
|
-
if len(args) > 1:
|
|
66
|
-
kwargs["end_dim"] = args[1]
|
|
67
|
-
if "start_dim" not in kwargs:
|
|
68
|
-
kwargs["start_dim"] = 0
|
|
69
|
-
if "end_dim" not in kwargs:
|
|
70
|
-
kwargs["end_dim"] = -1
|
|
71
|
-
return tensor_operator_registry_for_mint.get('flatten')(self, **kwargs)
|
|
72
|
-
return flatten(self, *args, **kwargs)
|
|
73
|
-
return wrapper
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
def item_mint(fn):
|
|
77
|
-
"""
|
|
78
|
-
item wrapper
|
|
79
|
-
"""
|
|
80
|
-
def wrapper(self, *args, **kwargs):
|
|
81
|
-
if os.environ.get('MS_TENSOR_API_ENABLE_MINT') == '1':
|
|
82
|
-
return tensor_operator_registry_for_mint.get('item')(self, *args, **kwargs)
|
|
83
|
-
return fn(self, *args, **kwargs)
|
|
84
|
-
return wrapper
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
def max_mint(fn):
|
|
88
|
-
"""
|
|
89
|
-
max wrapper
|
|
90
|
-
"""
|
|
91
|
-
def wrapper(self, *args, **kwargs):
|
|
92
|
-
if os.environ.get('MS_TENSOR_API_ENABLE_MINT') == '1':
|
|
93
|
-
return tensor_operator_registry_for_mint.get('max')(self, *args, **kwargs)
|
|
94
|
-
return fn(self, *args, **kwargs)
|
|
95
|
-
return wrapper
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
def mean_mint(fn):
|
|
99
|
-
"""
|
|
100
|
-
mean wrapper
|
|
101
|
-
"""
|
|
102
|
-
def wrapper(self, *args, **kwargs):
|
|
103
|
-
if os.environ.get('MS_TENSOR_API_ENABLE_MINT') == '1':
|
|
104
|
-
return tensor_operator_registry_for_mint.get('mean')(self, *args, **kwargs)
|
|
105
|
-
return fn(self, *args, **kwargs)
|
|
106
|
-
return wrapper
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
def min_mint(fn):
|
|
110
|
-
"""
|
|
111
|
-
min wrapper
|
|
112
|
-
"""
|
|
113
|
-
def wrapper(self, *args, **kwargs):
|
|
114
|
-
if os.environ.get('MS_TENSOR_API_ENABLE_MINT') == '1':
|
|
115
|
-
return tensor_operator_registry_for_mint.get('min')(self, *args, **kwargs)
|
|
116
|
-
return fn(self, *args, **kwargs)
|
|
117
|
-
return wrapper
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
def split_mint(split):
|
|
121
|
-
"""
|
|
122
|
-
split wrapper
|
|
123
|
-
"""
|
|
124
|
-
def wrapper(self, *args, **kwargs):
|
|
125
|
-
if os.environ.get('MS_TENSOR_API_ENABLE_MINT') == '1':
|
|
126
|
-
return tensor_operator_registry_for_mint.get('split')(self, *args, **kwargs)
|
|
127
|
-
return split(self, *args, **kwargs)
|
|
128
|
-
return wrapper
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
def sub_mint(sub):
|
|
132
|
-
"""
|
|
133
|
-
sub wrapper
|
|
134
|
-
"""
|
|
135
|
-
def wrapper(self, *args, **kwargs):
|
|
136
|
-
if os.environ.get('MS_TENSOR_API_ENABLE_MINT') == '1':
|
|
137
|
-
return tensor_operator_registry_for_mint.get('sub')(self, *args, **kwargs)
|
|
138
|
-
return sub(self, *args, **kwargs)
|
|
139
|
-
return wrapper
|
mindspore/mindspore_np_dtype.dll
DELETED
|
Binary file
|
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
# This is the Python adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
|
|
2
|
-
#
|
|
3
|
-
# Copyright 2023-2024 Huawei Technologies Co., Ltd
|
|
4
|
-
#
|
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
# you may not use this file except in compliance with the License.
|
|
7
|
-
# You may obtain a copy of the License at
|
|
8
|
-
#
|
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
#
|
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
# See the License for the specific language governing permissions and
|
|
15
|
-
# limitations under the License.
|
|
16
|
-
# ============================================================================
|
|
17
|
-
"""Operator argument data type cast function."""
|
|
18
|
-
|
|
19
|
-
import mindspore as ms
|
|
20
|
-
from mindspore import ops
|
|
21
|
-
from mindspore.common.tensor import Tensor
|
|
22
|
-
from mindspore.ops.operations._sequence_ops import TensorToScalar, TensorToTuple
|
|
23
|
-
from mindspore.ops_generate.gen_ops_inner_prim import TupleToList, ListToTuple
|
|
24
|
-
from mindspore._c_expression import OpDtype
|
|
25
|
-
|
|
26
|
-
tensor_to_tuple_ = TensorToTuple()
|
|
27
|
-
tuple_to_list = TupleToList()
|
|
28
|
-
list_to_tuple = ListToTuple()
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def int_to_float(data):
|
|
32
|
-
return float(data)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
def scalar_to_tuple(data):
|
|
36
|
-
return (data,)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
def tensor_to_tuple(data):
|
|
40
|
-
# Since tuple is not supported for precision conversion during KernelSelect, the original int32 tensor input cases
|
|
41
|
-
# would be failed. Thus, the tuple precision is raised from int32 to int64 at frontend. But sequence data type cast
|
|
42
|
-
# must be adapted in future version.
|
|
43
|
-
if data.dtype == ms.int32:
|
|
44
|
-
data = ops.cast(data, ms.int64)
|
|
45
|
-
return tensor_to_tuple_(data)
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
def scalar_to_tensor(data):
|
|
49
|
-
if isinstance(data, bool):
|
|
50
|
-
return ops.scalar_to_tensor(data, ms.bool_)
|
|
51
|
-
if isinstance(data, int):
|
|
52
|
-
return ops.scalar_to_tensor(data, ms.int32)
|
|
53
|
-
if isinstance(data, float):
|
|
54
|
-
return ops.scalar_to_tensor(data, ms.float32)
|
|
55
|
-
return ops.scalar_to_tensor(data)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
def tuple_to_tensor(data):
|
|
59
|
-
return ops.tuple_to_array(data)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
def list_to_tensor(data):
|
|
63
|
-
return ops.tuple_to_array(list_to_tuple(data))
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
# There will be some problems in using OpDtype.xxx directly in GRAPH_MODE, so convert it to int.
|
|
67
|
-
# type
|
|
68
|
-
DT_TYPE_VAL = int(OpDtype.DT_TYPE)
|
|
69
|
-
# scalar
|
|
70
|
-
DT_INT_VAL = int(OpDtype.DT_INT)
|
|
71
|
-
DT_FLOAT_VAL = int(OpDtype.DT_FLOAT)
|
|
72
|
-
DT_BOOL_VAL = int(OpDtype.DT_BOOL)
|
|
73
|
-
DT_NUMBER_VAL = int(OpDtype.DT_NUMBER)
|
|
74
|
-
# tuple
|
|
75
|
-
DT_TUPLE_BOOL_VAL = int(OpDtype.DT_TUPLE_BOOL)
|
|
76
|
-
DT_TUPLE_INT_VAL = int(OpDtype.DT_TUPLE_INT)
|
|
77
|
-
DT_TUPLE_FLOAT_VAL = int(OpDtype.DT_TUPLE_FLOAT)
|
|
78
|
-
DT_TUPLE_NUMBER_VAL = int(OpDtype.DT_TUPLE_NUMBER)
|
|
79
|
-
DT_TUPLE_TENSOR_VAL = int(OpDtype.DT_TUPLE_TENSOR)
|
|
80
|
-
DT_TUPLE_STR_VAL = int(OpDtype.DT_TUPLE_STR)
|
|
81
|
-
DT_TUPLE_ANY_VAL = int(OpDtype.DT_TUPLE_ANY)
|
|
82
|
-
# list
|
|
83
|
-
DT_LIST_BOOL_VAL = int(OpDtype.DT_LIST_BOOL)
|
|
84
|
-
DT_LIST_INT_VAL = int(OpDtype.DT_LIST_INT)
|
|
85
|
-
DT_LIST_FLOAT_VAL = int(OpDtype.DT_LIST_FLOAT)
|
|
86
|
-
DT_LIST_NUMBER_VAL = int(OpDtype.DT_LIST_NUMBER)
|
|
87
|
-
DT_LIST_TENSOR_VAL = int(OpDtype.DT_LIST_TENSOR)
|
|
88
|
-
DT_LIST_STR_VAL = int(OpDtype.DT_LIST_STR)
|
|
89
|
-
DT_LIST_ANY_VAL = int(OpDtype.DT_LIST_ANY)
|
|
90
|
-
# tensor
|
|
91
|
-
DT_TENSOR_VAL = int(OpDtype.DT_TENSOR)
|
|
92
|
-
|
|
93
|
-
dtype_to_string = {
|
|
94
|
-
DT_INT_VAL: "int",
|
|
95
|
-
DT_FLOAT_VAL: "float",
|
|
96
|
-
DT_BOOL_VAL: "bool",
|
|
97
|
-
DT_NUMBER_VAL: "number",
|
|
98
|
-
DT_TENSOR_VAL: "Tensor",
|
|
99
|
-
DT_TUPLE_BOOL_VAL: "tuple of bool",
|
|
100
|
-
DT_TUPLE_INT_VAL: "tuple of int",
|
|
101
|
-
DT_TUPLE_FLOAT_VAL: "tuple of float",
|
|
102
|
-
DT_TUPLE_NUMBER_VAL: "tuple of number",
|
|
103
|
-
DT_TUPLE_TENSOR_VAL: "tuple of tensor",
|
|
104
|
-
DT_TUPLE_STR_VAL: "tuple of string",
|
|
105
|
-
DT_TUPLE_ANY_VAL: "tuple of Any",
|
|
106
|
-
DT_LIST_BOOL_VAL: "list of bool",
|
|
107
|
-
DT_LIST_INT_VAL: "list of int",
|
|
108
|
-
DT_LIST_FLOAT_VAL: "list of float",
|
|
109
|
-
DT_LIST_NUMBER_VAL: "list of number",
|
|
110
|
-
DT_LIST_TENSOR_VAL: "list of Tensor",
|
|
111
|
-
DT_LIST_STR_VAL: "list of string",
|
|
112
|
-
DT_LIST_ANY_VAL: "list of Any"
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
def is_tuple(type_id):
|
|
117
|
-
"""
|
|
118
|
-
Check type id is tuple.
|
|
119
|
-
"""
|
|
120
|
-
return type_id in (DT_TUPLE_BOOL_VAL, DT_TUPLE_INT_VAL, DT_TUPLE_FLOAT_VAL, DT_TUPLE_NUMBER_VAL,
|
|
121
|
-
DT_TUPLE_TENSOR_VAL, DT_TUPLE_STR_VAL, DT_TUPLE_ANY_VAL)
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
def is_list(type_id):
|
|
125
|
-
"""
|
|
126
|
-
Check type id is list.
|
|
127
|
-
"""
|
|
128
|
-
return type_id in (DT_LIST_BOOL_VAL, DT_LIST_INT_VAL, DT_LIST_FLOAT_VAL, DT_LIST_NUMBER_VAL,
|
|
129
|
-
DT_LIST_TENSOR_VAL,
|
|
130
|
-
DT_LIST_STR_VAL, DT_LIST_ANY_VAL)
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
def is_number(type_id):
|
|
134
|
-
"""
|
|
135
|
-
Check type id is number.
|
|
136
|
-
"""
|
|
137
|
-
return type_id in (DT_INT_VAL, DT_FLOAT_VAL, DT_BOOL_VAL, DT_NUMBER_VAL)
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
def is_instance_of(data, type_id):
|
|
141
|
-
"""
|
|
142
|
-
Instead isinstance(obj, type).
|
|
143
|
-
"""
|
|
144
|
-
if type_id == DT_INT_VAL:
|
|
145
|
-
return isinstance(data, int)
|
|
146
|
-
if type_id == DT_FLOAT_VAL:
|
|
147
|
-
return isinstance(data, float)
|
|
148
|
-
if type_id == DT_BOOL_VAL:
|
|
149
|
-
return isinstance(data, bool)
|
|
150
|
-
if is_number(type_id):
|
|
151
|
-
return isinstance(data, (int, float, bool))
|
|
152
|
-
if is_tuple(type_id):
|
|
153
|
-
return isinstance(data, tuple)
|
|
154
|
-
if is_list(type_id):
|
|
155
|
-
return isinstance(data, list)
|
|
156
|
-
if type_id == DT_TENSOR_VAL:
|
|
157
|
-
return isinstance(data, Tensor)
|
|
158
|
-
return False
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
def is_instance_in(data, type_id):
|
|
162
|
-
"""
|
|
163
|
-
Instead isinstance(obj, tuple_types).
|
|
164
|
-
"""
|
|
165
|
-
if not isinstance(type_id, tuple):
|
|
166
|
-
return is_instance_of(data, type_id)
|
|
167
|
-
for type_id_i in type_id:
|
|
168
|
-
if is_instance_of(data, type_id_i):
|
|
169
|
-
return True
|
|
170
|
-
return False
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
def get_support_dtype_list(src_type, dst_type):
|
|
174
|
-
"""
|
|
175
|
-
Get support dtype list.
|
|
176
|
-
"""
|
|
177
|
-
support_list = ""
|
|
178
|
-
if isinstance(src_type, tuple):
|
|
179
|
-
for dtype in src_type:
|
|
180
|
-
support_list += dtype_to_string.get(dtype) + ", "
|
|
181
|
-
else:
|
|
182
|
-
support_list += dtype_to_string.get(src_type) + ", "
|
|
183
|
-
support_list += dtype_to_string.get(dst_type)
|
|
184
|
-
return support_list
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
def to_py_number(data, dst_type):
|
|
188
|
-
"""Convert tensor to python number"""
|
|
189
|
-
if dst_type == DT_INT_VAL:
|
|
190
|
-
data = ops.cast(data, ms.int64)
|
|
191
|
-
elif dst_type == DT_FLOAT_VAL:
|
|
192
|
-
data = ops.cast(data, ms.float32)
|
|
193
|
-
elif dst_type == DT_NUMBER_VAL:
|
|
194
|
-
src_type = data.dtype
|
|
195
|
-
if src_type in (ms.uint8, ms.uint16, ms.uint32, ms.uint64,
|
|
196
|
-
ms.int8, ms.int16, ms.int32, ms.int64):
|
|
197
|
-
data = ops.cast(data, ms.int64)
|
|
198
|
-
elif src_type in (ms.bfloat16, ms.float16, ms.float32, ms.float64):
|
|
199
|
-
data = ops.cast(data, ms.float32)
|
|
200
|
-
return TensorToScalar()(data)
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
def do_type_cast(data, dst_type):
|
|
204
|
-
"""Type conversion."""
|
|
205
|
-
if is_instance_of(data, dst_type):
|
|
206
|
-
return data
|
|
207
|
-
if dst_type == DT_FLOAT_VAL:
|
|
208
|
-
if isinstance(data, int):
|
|
209
|
-
return int_to_float(data)
|
|
210
|
-
elif is_tuple(dst_type):
|
|
211
|
-
if isinstance(data, (int, float, bool)):
|
|
212
|
-
return scalar_to_tuple(data)
|
|
213
|
-
if isinstance(data, list):
|
|
214
|
-
return list_to_tuple(data)
|
|
215
|
-
if isinstance(data, Tensor):
|
|
216
|
-
return tensor_to_tuple(data)
|
|
217
|
-
elif is_list(dst_type):
|
|
218
|
-
if isinstance(data, (int, float, bool)):
|
|
219
|
-
return tuple_to_list(scalar_to_tuple(data))
|
|
220
|
-
if isinstance(data, tuple):
|
|
221
|
-
return tuple_to_list(data)
|
|
222
|
-
if isinstance(data, Tensor):
|
|
223
|
-
return tuple_to_list(tensor_to_tuple(data))
|
|
224
|
-
elif dst_type == DT_TENSOR_VAL:
|
|
225
|
-
if isinstance(data, (int, float, bool)):
|
|
226
|
-
return scalar_to_tensor(data)
|
|
227
|
-
if isinstance(data, tuple):
|
|
228
|
-
return tuple_to_tensor(data)
|
|
229
|
-
if isinstance(data, list):
|
|
230
|
-
return list_to_tensor(data)
|
|
231
|
-
elif is_number(dst_type):
|
|
232
|
-
if isinstance(data, Tensor):
|
|
233
|
-
return to_py_number(data, dst_type)
|
|
234
|
-
raise TypeError("Type conversion failed.")
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
def type_it(op_name, arg_name, data, src_type, dst_type):
|
|
238
|
-
"""
|
|
239
|
-
cast operator argument data type.
|
|
240
|
-
"""
|
|
241
|
-
if isinstance(data, type(None)):
|
|
242
|
-
return data
|
|
243
|
-
if not isinstance(src_type, tuple):
|
|
244
|
-
src_type = int(src_type)
|
|
245
|
-
else:
|
|
246
|
-
src_type = tuple((int(t) for t in src_type))
|
|
247
|
-
dst_type = int(dst_type)
|
|
248
|
-
if not is_instance_in(data, src_type) and not is_instance_of(data, dst_type):
|
|
249
|
-
support_list = get_support_dtype_list(src_type, dst_type)
|
|
250
|
-
raise TypeError(f"For '{op_name}', the type of '{arg_name}' should be one of '[{support_list}]', "
|
|
251
|
-
f"but got {type(data)}.")
|
|
252
|
-
return do_type_cast(data, dst_type)
|