mindspore 2.7.0rc1__cp311-cp311-win_amd64.whl → 2.7.1__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/__init__.py +5 -2
- mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
- mindspore/_checkparam.py +2 -2
- mindspore/_extends/builtin_operations.py +3 -3
- mindspore/_extends/parallel_compile/akg_compiler/custom.py +1109 -0
- mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
- mindspore/_extends/parse/__init__.py +3 -3
- mindspore/_extends/parse/compile_config.py +24 -1
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +6 -3
- mindspore/_extends/parse/parser.py +28 -22
- mindspore/_extends/parse/resources.py +1 -1
- mindspore/_extends/parse/standard_method.py +23 -2
- mindspore/_extends/parse/trope.py +2 -1
- mindspore/_extends/pijit/pijit_func_white_list.py +9 -27
- mindspore/amp.py +0 -18
- 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/base.py +29 -2
- mindspore/common/__init__.py +18 -12
- mindspore/common/_decorator.py +3 -2
- mindspore/common/_grad_function.py +3 -1
- mindspore/common/_tensor_cpp_method.py +1 -1
- mindspore/common/_tensor_docs.py +371 -96
- mindspore/common/_utils.py +7 -43
- mindspore/common/api.py +434 -135
- mindspore/common/dtype.py +98 -57
- mindspore/common/dump.py +7 -108
- mindspore/common/dynamic_shape/__init__.py +0 -0
- mindspore/common/{auto_dynamic_shape.py → dynamic_shape/auto_dynamic_shape.py} +15 -23
- mindspore/common/dynamic_shape/enable_dynamic.py +197 -0
- mindspore/common/file_system.py +59 -9
- mindspore/common/hook_handle.py +82 -3
- mindspore/common/jit_config.py +5 -1
- mindspore/common/jit_trace.py +27 -12
- mindspore/common/lazy_inline.py +5 -3
- mindspore/common/np_dtype.py +3 -3
- mindspore/common/parameter.py +17 -127
- mindspore/common/recompute.py +4 -13
- mindspore/common/tensor.py +50 -217
- mindspore/communication/_comm_helper.py +11 -1
- mindspore/communication/comm_func.py +138 -4
- mindspore/communication/management.py +85 -1
- mindspore/config/op_info.config +0 -15
- mindspore/context.py +20 -106
- mindspore/dataset/__init__.py +1 -1
- mindspore/dataset/audio/transforms.py +1 -1
- mindspore/dataset/core/config.py +35 -1
- mindspore/dataset/engine/datasets.py +338 -319
- mindspore/dataset/engine/datasets_user_defined.py +38 -22
- mindspore/dataset/engine/datasets_vision.py +1 -1
- mindspore/dataset/engine/validators.py +1 -15
- mindspore/dataset/transforms/c_transforms.py +2 -2
- mindspore/dataset/transforms/transforms.py +3 -3
- mindspore/dataset/vision/__init__.py +1 -1
- mindspore/dataset/vision/py_transforms.py +8 -8
- mindspore/dataset/vision/transforms.py +17 -5
- mindspore/dataset/vision/utils.py +632 -21
- mindspore/device_context/ascend/op_tuning.py +35 -1
- mindspore/dnnl.dll +0 -0
- mindspore/{profiler/common/validator → graph}/__init__.py +9 -1
- mindspore/graph/custom_pass.py +55 -0
- mindspore/include/api/cell.h +28 -4
- mindspore/include/api/cfg.h +24 -7
- mindspore/include/api/context.h +1 -0
- mindspore/include/api/delegate.h +0 -2
- mindspore/include/api/dual_abi_helper.h +100 -19
- mindspore/include/api/graph.h +14 -1
- mindspore/include/api/kernel.h +16 -3
- mindspore/include/api/kernel_api.h +9 -1
- mindspore/include/api/metrics/accuracy.h +9 -0
- mindspore/include/api/model.h +5 -1
- mindspore/include/api/model_group.h +4 -0
- mindspore/include/api/model_parallel_runner.h +2 -0
- mindspore/include/api/status.h +48 -10
- mindspore/include/api/types.h +6 -1
- mindspore/include/dataset/constants.h +9 -0
- mindspore/include/dataset/execute.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/mindrecord/__init__.py +3 -3
- mindspore/mindrecord/common/exceptions.py +1 -0
- mindspore/mindrecord/config.py +1 -1
- mindspore/{parallel/mpi → mindrecord/core}/__init__.py +4 -1
- mindspore/mindrecord/{shardheader.py → core/shardheader.py} +2 -1
- mindspore/mindrecord/{shardindexgenerator.py → core/shardindexgenerator.py} +1 -1
- mindspore/mindrecord/{shardreader.py → core/shardreader.py} +2 -1
- mindspore/mindrecord/{shardsegment.py → core/shardsegment.py} +2 -2
- mindspore/mindrecord/{shardutils.py → core/shardutils.py} +1 -1
- mindspore/mindrecord/{shardwriter.py → core/shardwriter.py} +1 -1
- mindspore/mindrecord/filereader.py +4 -4
- mindspore/mindrecord/filewriter.py +5 -5
- mindspore/mindrecord/mindpage.py +2 -2
- mindspore/mindrecord/tools/cifar10.py +4 -3
- mindspore/mindrecord/tools/cifar100.py +1 -1
- mindspore/mindrecord/tools/cifar100_to_mr.py +1 -1
- mindspore/mindrecord/tools/cifar10_to_mr.py +6 -6
- mindspore/mindrecord/tools/csv_to_mr.py +1 -1
- mindspore/mindrecord/tools/imagenet_to_mr.py +1 -1
- mindspore/mindrecord/tools/mnist_to_mr.py +1 -1
- mindspore/mindrecord/tools/tfrecord_to_mr.py +1 -1
- mindspore/mindspore_backend_common.dll +0 -0
- mindspore/mindspore_backend_manager.dll +0 -0
- mindspore/mindspore_cluster.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_cpu.dll +0 -0
- mindspore/mindspore_dump.dll +0 -0
- mindspore/mindspore_frontend.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_hardware_abstract.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_ops_host.dll → mindspore_ops_cpu.dll} +0 -0
- mindspore/mindspore_profiler.dll +0 -0
- mindspore/mindspore_pyboost.dll +0 -0
- mindspore/mindspore_pynative.dll +0 -0
- mindspore/mindspore_runtime_pipeline.dll +0 -0
- mindspore/mindspore_runtime_utils.dll +0 -0
- mindspore/mindspore_tools.dll +0 -0
- mindspore/mint/__init__.py +15 -10
- mindspore/mint/distributed/__init__.py +4 -0
- mindspore/mint/distributed/distributed.py +392 -69
- mindspore/mint/nn/__init__.py +2 -16
- mindspore/mint/nn/functional.py +4 -110
- mindspore/mint/nn/layer/__init__.py +0 -2
- mindspore/mint/nn/layer/_functions.py +1 -2
- mindspore/mint/nn/layer/activation.py +0 -6
- mindspore/mint/nn/layer/basic.py +0 -47
- mindspore/mint/nn/layer/conv.py +10 -10
- mindspore/mint/nn/layer/normalization.py +11 -16
- mindspore/mint/nn/layer/pooling.py +0 -4
- mindspore/nn/__init__.py +1 -3
- mindspore/nn/cell.py +231 -239
- mindspore/nn/layer/activation.py +4 -2
- mindspore/nn/layer/basic.py +56 -14
- mindspore/nn/layer/container.py +16 -0
- mindspore/nn/layer/embedding.py +4 -169
- mindspore/nn/layer/image.py +1 -1
- mindspore/nn/layer/normalization.py +2 -1
- mindspore/nn/layer/thor_layer.py +4 -85
- mindspore/nn/optim/ada_grad.py +0 -1
- mindspore/nn/optim/adafactor.py +0 -1
- mindspore/nn/optim/adam.py +32 -127
- mindspore/nn/optim/adamax.py +0 -1
- mindspore/nn/optim/asgd.py +0 -1
- mindspore/nn/optim/ftrl.py +8 -102
- mindspore/nn/optim/lamb.py +1 -4
- mindspore/nn/optim/lars.py +0 -3
- mindspore/nn/optim/lazyadam.py +25 -218
- mindspore/nn/optim/momentum.py +5 -43
- mindspore/nn/optim/optimizer.py +6 -55
- mindspore/nn/optim/proximal_ada_grad.py +0 -1
- mindspore/nn/optim/rmsprop.py +0 -1
- mindspore/nn/optim/rprop.py +0 -1
- mindspore/nn/optim/sgd.py +0 -1
- mindspore/nn/optim/tft_wrapper.py +2 -4
- mindspore/nn/optim/thor.py +0 -2
- mindspore/nn/probability/bijector/bijector.py +7 -8
- mindspore/nn/probability/bijector/gumbel_cdf.py +2 -2
- mindspore/nn/probability/bijector/power_transform.py +20 -21
- mindspore/nn/probability/bijector/scalar_affine.py +5 -5
- mindspore/nn/probability/bijector/softplus.py +13 -14
- mindspore/nn/probability/distribution/_utils/utils.py +2 -2
- mindspore/nn/wrap/cell_wrapper.py +39 -5
- mindspore/nn/wrap/grad_reducer.py +4 -89
- mindspore/numpy/array_creations.py +4 -4
- mindspore/numpy/fft.py +9 -9
- mindspore/numpy/utils_const.py +1 -1
- mindspore/{nn/reinforcement → onnx}/__init__.py +5 -8
- mindspore/onnx/onnx_export.py +137 -0
- mindspore/opencv_core4110.dll +0 -0
- mindspore/opencv_imgcodecs4110.dll +0 -0
- mindspore/{opencv_imgproc452.dll → opencv_imgproc4110.dll} +0 -0
- mindspore/ops/__init__.py +2 -0
- mindspore/ops/_grad_experimental/grad_comm_ops.py +38 -2
- mindspore/ops/_grad_experimental/grad_inner_ops.py +0 -9
- mindspore/ops/_op_impl/aicpu/__init__.py +0 -10
- mindspore/ops/_op_impl/cpu/__init__.py +1 -5
- mindspore/ops/_op_impl/cpu/{buffer_append.py → joinedstr_op.py} +8 -8
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +28 -24
- mindspore/ops/auto_generate/gen_extend_func.py +6 -11
- mindspore/ops/auto_generate/gen_ops_def.py +385 -154
- mindspore/ops/auto_generate/gen_ops_prim.py +5676 -5167
- mindspore/ops/communication.py +97 -0
- mindspore/ops/composite/__init__.py +5 -2
- mindspore/ops/composite/base.py +16 -2
- mindspore/ops/composite/multitype_ops/__init__.py +3 -1
- mindspore/ops/composite/multitype_ops/_compile_utils.py +150 -8
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -1
- mindspore/ops/composite/multitype_ops/add_impl.py +7 -0
- mindspore/ops/composite/multitype_ops/mod_impl.py +27 -0
- mindspore/ops/function/__init__.py +2 -0
- mindspore/ops/function/array_func.py +24 -18
- mindspore/ops/function/comm_func.py +3883 -0
- mindspore/ops/function/debug_func.py +7 -6
- mindspore/ops/function/grad/grad_func.py +4 -12
- mindspore/ops/function/math_func.py +89 -86
- mindspore/ops/function/nn_func.py +92 -313
- mindspore/ops/function/random_func.py +9 -18
- mindspore/ops/functional.py +4 -1
- mindspore/ops/functional_overload.py +377 -30
- mindspore/ops/operations/__init__.py +2 -5
- mindspore/ops/operations/_custom_ops_utils.py +7 -9
- mindspore/ops/operations/_inner_ops.py +12 -50
- mindspore/ops/operations/_rl_inner_ops.py +0 -933
- mindspore/ops/operations/array_ops.py +5 -50
- mindspore/ops/operations/comm_ops.py +95 -17
- mindspore/ops/operations/custom_ops.py +237 -22
- mindspore/ops/operations/debug_ops.py +33 -35
- mindspore/ops/operations/manually_defined/ops_def.py +39 -318
- mindspore/ops/operations/math_ops.py +5 -5
- mindspore/ops/operations/nn_ops.py +3 -3
- mindspore/ops/operations/sparse_ops.py +0 -83
- mindspore/ops/primitive.py +4 -27
- mindspore/ops/tensor_method.py +88 -10
- mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +5 -5
- mindspore/ops_generate/aclnn/gen_aclnn_implement.py +8 -8
- mindspore/ops_generate/api/functions_cc_generator.py +53 -4
- mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +25 -11
- mindspore/ops_generate/common/gen_constants.py +11 -10
- mindspore/ops_generate/common/op_proto.py +18 -1
- mindspore/ops_generate/common/template.py +102 -245
- mindspore/ops_generate/common/template_utils.py +212 -0
- mindspore/ops_generate/gen_custom_ops.py +69 -0
- mindspore/ops_generate/op_def/ops_def_cc_generator.py +78 -7
- mindspore/ops_generate/op_def_py/base_op_prim_py_generator.py +360 -0
- mindspore/ops_generate/op_def_py/custom_op_prim_py_generator.py +140 -0
- mindspore/ops_generate/op_def_py/op_def_py_generator.py +54 -7
- mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -312
- mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +74 -17
- mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +22 -5
- mindspore/ops_generate/pyboost/gen_pyboost_func.py +0 -16
- mindspore/ops_generate/pyboost/op_template_parser.py +3 -2
- mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +21 -5
- mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +2 -2
- mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +30 -10
- mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +10 -3
- mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +1 -1
- mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +19 -9
- mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +71 -28
- mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +10 -9
- mindspore/ops_generate/pyboost/pyboost_utils.py +27 -16
- mindspore/ops_generate/resources/yaml_loader.py +13 -0
- mindspore/ops_generate/tensor_py_cc_generator.py +2 -2
- mindspore/parallel/_auto_parallel_context.py +5 -15
- mindspore/parallel/_cell_wrapper.py +1 -1
- mindspore/parallel/_parallel_serialization.py +4 -6
- mindspore/parallel/_ps_context.py +2 -2
- mindspore/parallel/_utils.py +34 -17
- mindspore/parallel/auto_parallel.py +23 -9
- mindspore/parallel/checkpoint_transform.py +20 -2
- mindspore/parallel/cluster/process_entity/_api.py +28 -33
- mindspore/parallel/cluster/process_entity/_utils.py +9 -5
- mindspore/parallel/cluster/run.py +5 -3
- mindspore/{experimental/llm_boost/ascend_native → parallel/distributed}/__init__.py +21 -22
- mindspore/parallel/distributed/distributed_data_parallel.py +393 -0
- mindspore/parallel/distributed/flatten_grad_buffer.py +295 -0
- mindspore/parallel/function/reshard_func.py +6 -5
- mindspore/parallel/nn/parallel_cell_wrapper.py +40 -3
- mindspore/parallel/nn/parallel_grad_reducer.py +0 -8
- mindspore/parallel/shard.py +7 -21
- mindspore/parallel/strategy.py +336 -0
- mindspore/parallel/transform_safetensors.py +127 -20
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +13 -9
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +1 -1
- mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +1 -1
- mindspore/profiler/common/constant.py +5 -0
- mindspore/profiler/common/file_manager.py +9 -0
- mindspore/profiler/common/msprof_cmd_tool.py +40 -4
- mindspore/profiler/common/path_manager.py +65 -24
- mindspore/profiler/common/profiler_context.py +27 -14
- mindspore/profiler/common/profiler_info.py +3 -3
- mindspore/profiler/common/profiler_meta_data.py +1 -0
- mindspore/profiler/common/profiler_op_analyse.py +10 -6
- mindspore/profiler/common/profiler_path_manager.py +13 -0
- mindspore/profiler/common/util.py +30 -3
- mindspore/profiler/dynamic_profiler.py +91 -46
- mindspore/profiler/envprofiler.py +30 -5
- mindspore/profiler/experimental_config.py +18 -2
- mindspore/profiler/platform/cpu_profiler.py +10 -4
- mindspore/profiler/platform/npu_profiler.py +34 -7
- mindspore/profiler/profiler.py +193 -145
- mindspore/profiler/profiler_action_controller.py +1 -1
- mindspore/profiler/profiler_interface.py +2 -2
- mindspore/rewrite/symbol_tree/symbol_tree.py +1 -1
- mindspore/run_check/_check_version.py +108 -24
- mindspore/runtime/__init__.py +9 -6
- mindspore/runtime/executor.py +35 -0
- mindspore/runtime/memory.py +113 -0
- mindspore/runtime/thread_bind_core.py +1 -1
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/{experimental/llm_boost → tools}/__init__.py +5 -5
- mindspore/tools/data_dump.py +130 -0
- mindspore/tools/sdc_detect.py +91 -0
- mindspore/tools/stress_detect.py +63 -0
- mindspore/train/__init__.py +6 -6
- mindspore/train/_utils.py +8 -21
- mindspore/train/amp.py +6 -7
- mindspore/train/callback/_callback.py +2 -1
- mindspore/train/callback/_checkpoint.py +1 -17
- mindspore/train/callback/_flops_collector.py +10 -6
- mindspore/train/callback/_train_fault_tolerance.py +72 -25
- mindspore/train/data_sink.py +5 -9
- mindspore/train/dataset_helper.py +5 -5
- mindspore/train/model.py +41 -230
- mindspore/train/serialization.py +160 -401
- mindspore/train/train_thor/model_thor.py +2 -2
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +6 -3
- mindspore/utils/dlpack.py +92 -0
- mindspore/utils/dryrun.py +1 -1
- mindspore/utils/runtime_execution_order_check.py +10 -0
- mindspore/utils/sdc_detect.py +14 -12
- mindspore/utils/stress_detect.py +43 -0
- mindspore/utils/utils.py +152 -16
- mindspore/version.py +1 -1
- {mindspore-2.7.0rc1.dist-info → mindspore-2.7.1.dist-info}/METADATA +3 -2
- {mindspore-2.7.0rc1.dist-info → mindspore-2.7.1.dist-info}/RECORD +330 -344
- mindspore/_extends/remote/kernel_build_server_ascend.py +0 -75
- mindspore/communication/_hccl_management.py +0 -297
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +0 -207
- mindspore/experimental/llm_boost/ascend_native/llm_boost.py +0 -52
- mindspore/experimental/llm_boost/atb/__init__.py +0 -23
- mindspore/experimental/llm_boost/atb/boost_base.py +0 -385
- mindspore/experimental/llm_boost/atb/llama_boost.py +0 -137
- mindspore/experimental/llm_boost/atb/qwen_boost.py +0 -124
- mindspore/experimental/llm_boost/register.py +0 -130
- mindspore/experimental/llm_boost/utils.py +0 -31
- mindspore/include/OWNERS +0 -7
- mindspore/mindspore_cpu_res_manager.dll +0 -0
- mindspore/mindspore_ops_kernel_common.dll +0 -0
- mindspore/mindspore_res_manager.dll +0 -0
- mindspore/nn/optim/_dist_optimizer_registry.py +0 -111
- mindspore/nn/reinforcement/_batch_read_write.py +0 -142
- mindspore/nn/reinforcement/_tensors_queue.py +0 -152
- mindspore/nn/reinforcement/tensor_array.py +0 -145
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/ops/_op_impl/aicpu/priority_replay_buffer.py +0 -113
- mindspore/ops/_op_impl/aicpu/reservoir_replay_buffer.py +0 -96
- mindspore/ops/_op_impl/aicpu/sparse_cross.py +0 -42
- mindspore/ops/_op_impl/cpu/buffer_get.py +0 -28
- mindspore/ops/_op_impl/cpu/buffer_sample.py +0 -28
- mindspore/ops/_op_impl/cpu/priority_replay_buffer.py +0 -42
- mindspore/ops/operations/_tensor_array.py +0 -359
- mindspore/ops/operations/rl_ops.py +0 -288
- mindspore/parallel/_offload_context.py +0 -275
- mindspore/parallel/_recovery_context.py +0 -115
- mindspore/parallel/_transformer/__init__.py +0 -35
- mindspore/parallel/_transformer/layers.py +0 -765
- mindspore/parallel/_transformer/loss.py +0 -251
- mindspore/parallel/_transformer/moe.py +0 -693
- mindspore/parallel/_transformer/op_parallel_config.py +0 -222
- mindspore/parallel/_transformer/transformer.py +0 -3124
- mindspore/parallel/mpi/_mpi_config.py +0 -116
- mindspore/profiler/common/validator/validate_path.py +0 -84
- mindspore/train/memory_profiling_pb2.py +0 -298
- mindspore/utils/hooks.py +0 -81
- /mindspore/common/{_auto_dynamic.py → dynamic_shape/_auto_dynamic.py} +0 -0
- {mindspore-2.7.0rc1.dist-info → mindspore-2.7.1.dist-info}/WHEEL +0 -0
- {mindspore-2.7.0rc1.dist-info → mindspore-2.7.1.dist-info}/entry_points.txt +0 -0
- {mindspore-2.7.0rc1.dist-info → mindspore-2.7.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Copyright 2025 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
|
+
"""Model export to ONNX."""
|
|
17
|
+
from __future__ import absolute_import
|
|
18
|
+
from __future__ import division
|
|
19
|
+
|
|
20
|
+
import os
|
|
21
|
+
|
|
22
|
+
import mindspore.nn as nn
|
|
23
|
+
from mindspore import log as logger
|
|
24
|
+
from mindspore._checkparam import check_input_dataset
|
|
25
|
+
from mindspore import _checkparam as Validator
|
|
26
|
+
from mindspore.common.api import _cell_graph_executor as _executor
|
|
27
|
+
from mindspore.train.serialization import _calculation_net_size
|
|
28
|
+
from mindspore.dataset.engine.datasets import Dataset
|
|
29
|
+
|
|
30
|
+
PROTO_LIMIT_SIZE = 1024 * 1024 * 2
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def export(net, *inputs, file_name, input_names=None, output_names=None, export_params=True,
|
|
34
|
+
keep_initializers_as_inputs=False, dynamic_axes=None):
|
|
35
|
+
"""
|
|
36
|
+
Export the MindSpore network into an ONNX model.
|
|
37
|
+
|
|
38
|
+
Note:
|
|
39
|
+
- Support exporting network larger than 2GB. When the network exceeds 2GB,
|
|
40
|
+
parameters are saved in additional binary files stored in the same directory as the ONNX file.
|
|
41
|
+
- When `file_name` does not have a suffix, the system will automatically add the suffix `.onnx` .
|
|
42
|
+
|
|
43
|
+
Args:
|
|
44
|
+
net (Union[Cell, function]): MindSpore network.
|
|
45
|
+
inputs (Union[Tensor, list, tuple, Number, bool]): It represents the inputs of the `net` , if the network has
|
|
46
|
+
multiple inputs, set them together.
|
|
47
|
+
file_name (str): File name of the model to be exported.
|
|
48
|
+
input_names (list, optional): Names to assign to the input nodes of the graph, in order. Default: ``None`` .
|
|
49
|
+
output_names (list, optional): Names to assign to the output nodes of the graph, in order. Default: ``None`` .
|
|
50
|
+
export_params (bool, optional): If false, parameters (weights) will not be exported,
|
|
51
|
+
parameters will add input nodes as input of the graph. Default: ``True`` .
|
|
52
|
+
keep_initializers_as_inputs (bool, optional): If True, all the initializers (model parameters/weights) will
|
|
53
|
+
add as inputs to the graph. This allows modifying any or all weights when running the exported ONNX model.
|
|
54
|
+
Default: ``False`` .
|
|
55
|
+
dynamic_axes (dict[str, dict[int, str]], optional): To specify axes of input tensors as dynamic (at runtime).
|
|
56
|
+
Default: ``None`` .
|
|
57
|
+
|
|
58
|
+
- Set a dict with scheme: {input_node_name: {axis_index:axis_name}},
|
|
59
|
+
for example, {"input1": {0:"batch_size", 1: "seq_len"}, "input2": {{0:"batch_size"}}.
|
|
60
|
+
- By default, the shapes of all input tensors in the exported model exactly match those specified in
|
|
61
|
+
`inputs`.
|
|
62
|
+
|
|
63
|
+
Raises:
|
|
64
|
+
ValueError: If the parameter `net` is not :class:`mindspore.nn.Cell`.
|
|
65
|
+
ValueError: If the parameter `input_names` is not list type.
|
|
66
|
+
ValueError: If the parameter `output_names` is not list type
|
|
67
|
+
ValueError: If the parameter `dynamic_axes` is not dict type.
|
|
68
|
+
|
|
69
|
+
Examples:
|
|
70
|
+
>>> import mindspore as ms
|
|
71
|
+
>>> import numpy as np
|
|
72
|
+
>>> from mindspore import Tensor
|
|
73
|
+
>>>
|
|
74
|
+
>>> # Define the network structure of LeNet5. Refer to
|
|
75
|
+
>>> # https://gitee.com/mindspore/docs/blob/master/docs/mindspore/code/lenet.py
|
|
76
|
+
>>> net = LeNet5()
|
|
77
|
+
>>> input_tensor = Tensor(np.ones([1, 1, 32, 32]).astype(np.float32))
|
|
78
|
+
>>> ms.onnx.export(net, input_tensor, file_name='lenet.onnx', input_names=['input1'], output_names=['output1'])
|
|
79
|
+
|
|
80
|
+
"""
|
|
81
|
+
Validator.check_file_name_by_regular(file_name)
|
|
82
|
+
logger.info("exporting model file:%s format:%s.", file_name, "ONNX")
|
|
83
|
+
Validator.check_isinstance("net", net, nn.Cell)
|
|
84
|
+
input_names = input_names or []
|
|
85
|
+
Validator.check_isinstance("input_names", input_names, list)
|
|
86
|
+
output_names = output_names or []
|
|
87
|
+
Validator.check_isinstance("output_names", output_names, list)
|
|
88
|
+
dynamic_axes = dynamic_axes or {}
|
|
89
|
+
Validator.check_isinstance("dynamic_axes", dynamic_axes, dict)
|
|
90
|
+
|
|
91
|
+
if check_input_dataset(*inputs, dataset_type=Dataset):
|
|
92
|
+
raise ValueError(f"Can not support dataset as inputs to export ONNX model.")
|
|
93
|
+
|
|
94
|
+
cell_mode = net.training
|
|
95
|
+
net.set_train(mode=False)
|
|
96
|
+
|
|
97
|
+
extra_save_params = False
|
|
98
|
+
total_size = _calculation_net_size(net)
|
|
99
|
+
if total_size > PROTO_LIMIT_SIZE:
|
|
100
|
+
logger.warning('Network size is: {}G, it exceeded the protobuf: {}G limit, now parameters in network are saved '
|
|
101
|
+
'in external data files.'.format(total_size / 1024 / 1024, PROTO_LIMIT_SIZE / 1024 / 1024))
|
|
102
|
+
extra_save_params = True
|
|
103
|
+
|
|
104
|
+
phase_name = 'export.onnx'
|
|
105
|
+
graph_id, _ = _executor.compile(net, *inputs, phase=phase_name, do_convert=False)
|
|
106
|
+
|
|
107
|
+
abs_file_name = os.path.abspath(file_name)
|
|
108
|
+
if not abs_file_name.endswith('.onnx'):
|
|
109
|
+
abs_file_name += ".onnx"
|
|
110
|
+
|
|
111
|
+
dir_path = os.path.dirname(abs_file_name)
|
|
112
|
+
if dir_path and not os.path.exists(dir_path):
|
|
113
|
+
os.makedirs(dir_path, exist_ok=True)
|
|
114
|
+
|
|
115
|
+
abs_file_dir = os.path.dirname(abs_file_name) if extra_save_params else ""
|
|
116
|
+
|
|
117
|
+
onnx_stream = _executor._get_onnx_func_graph_proto(obj=net, exec_id=graph_id, input_names=input_names,
|
|
118
|
+
output_names=output_names, export_params=export_params,
|
|
119
|
+
keep_initializers_as_inputs=keep_initializers_as_inputs,
|
|
120
|
+
dynamic_axes=dynamic_axes, extra_save_params=extra_save_params,
|
|
121
|
+
save_file_dir=abs_file_dir)
|
|
122
|
+
if onnx_stream is None:
|
|
123
|
+
raise RuntimeError("Export onnx model failed, ensure that the model has been compiled correctly")
|
|
124
|
+
|
|
125
|
+
try:
|
|
126
|
+
with open(abs_file_name, 'wb') as f:
|
|
127
|
+
f.write(onnx_stream)
|
|
128
|
+
|
|
129
|
+
if os.path.getsize(abs_file_name) != len(onnx_stream):
|
|
130
|
+
logger.warning("ONNX file size doesn't match expected value, but proceeding continue.")
|
|
131
|
+
|
|
132
|
+
except IOError as e:
|
|
133
|
+
logger.error(f"Failed to write ONNX file: {e}")
|
|
134
|
+
if os.path.exists(abs_file_name):
|
|
135
|
+
os.remove(abs_file_name)
|
|
136
|
+
|
|
137
|
+
net.set_train(mode=cell_mode)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
mindspore/ops/__init__.py
CHANGED
|
@@ -37,6 +37,7 @@ from mindspore.ops.functional_overload import all_gather_matmul, matmul_reduce_s
|
|
|
37
37
|
from mindspore.ops.composite import *
|
|
38
38
|
from mindspore.ops.operations import *
|
|
39
39
|
from mindspore.ops.function import *
|
|
40
|
+
from mindspore.ops.communication import *
|
|
40
41
|
from mindspore.ops.functional import *
|
|
41
42
|
from mindspore.ops._utils import arg_dtype_cast, arg_handler
|
|
42
43
|
|
|
@@ -55,4 +56,5 @@ __all__.extend(composite.__all__)
|
|
|
55
56
|
__all__.extend(operations.__all__)
|
|
56
57
|
__all__.extend(functional.__all__)
|
|
57
58
|
__all__.extend(function.__all__)
|
|
59
|
+
__all__.extend(communication.__all__)
|
|
58
60
|
__all__.extend(auto_generate.__all__)
|
|
@@ -29,7 +29,7 @@ from mindspore.common.sparse_tensor import RowTensorInner
|
|
|
29
29
|
from mindspore.ops.composite.multitype_ops.zeros_like_impl import zeros_like
|
|
30
30
|
from mindspore.ops.operations.comm_ops import (AllGather, _MiniStepAllGather, _HostAllGather, AllReduce,
|
|
31
31
|
NeighborExchange, AlltoAll, AlltoAllV, NeighborExchangeV2,
|
|
32
|
-
Broadcast, AllGatherV, ReduceScatterV,
|
|
32
|
+
Broadcast, AlltoAllVC, AllGatherV, ReduceScatterV,
|
|
33
33
|
_GetTensorSlice, _MirrorOperator, _MirrorMiniStepOperator, ReduceOp,
|
|
34
34
|
ReduceScatter, _HostReduceScatter, _VirtualDiv, _VirtualAdd, _AllSwap,
|
|
35
35
|
_VirtualAssignAdd, _VirtualAccuGrad, _MirrorMicroStepOperator,
|
|
@@ -37,6 +37,7 @@ from mindspore.ops.operations.comm_ops import (AllGather, _MiniStepAllGather, _H
|
|
|
37
37
|
_VirtualAssignKvCache)
|
|
38
38
|
from mindspore.ops._grad_experimental.grad_base import bprop_getters
|
|
39
39
|
from mindspore.ops.operations import _grad_ops as G
|
|
40
|
+
from mindspore.tools.sdc_detect import _sdc_detector
|
|
40
41
|
import mindspore as ms
|
|
41
42
|
|
|
42
43
|
_squared_device_local_norm = None
|
|
@@ -277,6 +278,8 @@ def get_bprop_mirror_micro_step_operator(self):
|
|
|
277
278
|
if dump_device_local_norm:
|
|
278
279
|
# init _squared _squared_device_local_norm
|
|
279
280
|
squared_device_local_norm = get_squared_device_local_norm_param()
|
|
281
|
+
# feature value sampling for sdc detect
|
|
282
|
+
feat_value_dump_name = _sdc_detector.get_dump_name(param_name) if _sdc_detector.need_sample() else None
|
|
280
283
|
|
|
281
284
|
def bprop(x, z, out, dout):
|
|
282
285
|
if dump_local_norm or dump_device_local_norm:
|
|
@@ -289,6 +292,9 @@ def get_bprop_mirror_micro_step_operator(self):
|
|
|
289
292
|
if dump_device_local_norm:
|
|
290
293
|
z = F.depend(z, F.assign_add(squared_device_local_norm,
|
|
291
294
|
cast(squared_norm, squared_device_local_norm.dtype)))
|
|
295
|
+
if feat_value_dump_name and z.ndim > 1:
|
|
296
|
+
feat_value = square(F.max(F.abs(z))[0])
|
|
297
|
+
z = F.depend(z, tensor_dump(feat_value_dump_name, feat_value))
|
|
292
298
|
real_grad = z
|
|
293
299
|
assign_out = dout
|
|
294
300
|
if issubclass_(F.typeof(dout), mstype.tensor_type):
|
|
@@ -343,14 +349,16 @@ def get_bprop_all_gather(self):
|
|
|
343
349
|
ln_print = P.Print()
|
|
344
350
|
tensor_dump = P.TensorDump()
|
|
345
351
|
reduce_sum = P.ReduceSum(keep_dims=False)
|
|
346
|
-
square = P.Square()
|
|
347
352
|
sqrt = P.Sqrt()
|
|
353
|
+
square = P.Square()
|
|
348
354
|
if dump_local_norm_path:
|
|
349
355
|
global_rank = get_rank()
|
|
350
356
|
file = os.path.join(dump_local_norm_path, "rank_" + str(global_rank), "local_norm__" + param_name)
|
|
351
357
|
if dump_device_local_norm:
|
|
352
358
|
# init _squared _squared_device_local_norm
|
|
353
359
|
squared_device_local_norm = get_squared_device_local_norm_param()
|
|
360
|
+
# feature value sampling for sdc detect
|
|
361
|
+
feat_value_dump_name = _sdc_detector.get_dump_name(param_name) if _sdc_detector.need_sample() else None
|
|
354
362
|
|
|
355
363
|
def bprop(x, out, dout):
|
|
356
364
|
if param_name and (dump_local_norm or dump_device_local_norm):
|
|
@@ -363,6 +371,9 @@ def get_bprop_all_gather(self):
|
|
|
363
371
|
if dump_device_local_norm:
|
|
364
372
|
dout = F.depend(dout, F.assign_add(squared_device_local_norm,
|
|
365
373
|
cast(squared_norm, squared_device_local_norm.dtype)))
|
|
374
|
+
if param_name and feat_value_dump_name and dout.ndim > 1:
|
|
375
|
+
feat_value = square(F.max(F.abs(dout))[0])
|
|
376
|
+
dout = F.depend(dout, tensor_dump(feat_value_dump_name, feat_value))
|
|
366
377
|
|
|
367
378
|
dx = reduce_scatter(dout)
|
|
368
379
|
if mean_flag:
|
|
@@ -452,6 +463,8 @@ def get_bprop_micro_step_all_gather(self):
|
|
|
452
463
|
if dump_device_local_norm:
|
|
453
464
|
# init _squared _squared_device_local_norm
|
|
454
465
|
squared_device_local_norm = get_squared_device_local_norm_param()
|
|
466
|
+
# feature value sampling for sdc detect
|
|
467
|
+
feat_value_dump_name = _sdc_detector.get_dump_name(param_name) if _sdc_detector.need_sample() else None
|
|
455
468
|
|
|
456
469
|
def bprop(x, z, out, dout):
|
|
457
470
|
if with_mirror_operator:
|
|
@@ -472,6 +485,9 @@ def get_bprop_micro_step_all_gather(self):
|
|
|
472
485
|
if dump_device_local_norm:
|
|
473
486
|
z = F.depend(z, F.assign_add(squared_device_local_norm,
|
|
474
487
|
cast(squared_norm, squared_device_local_norm.dtype)))
|
|
488
|
+
if feat_value_dump_name and z.ndim > 1:
|
|
489
|
+
feat_value = square(F.max(F.abs(z))[0])
|
|
490
|
+
z = F.depend(z, tensor_dump(feat_value_dump_name, feat_value))
|
|
475
491
|
if not do_mirror:
|
|
476
492
|
return (z, cast(out_tensor, dtype(z)))
|
|
477
493
|
real_grad = reduce_scatter(z)
|
|
@@ -655,6 +671,21 @@ def get_bprop_all_to_all_v(self):
|
|
|
655
671
|
return bprop
|
|
656
672
|
|
|
657
673
|
|
|
674
|
+
@bprop_getters.register(AlltoAllVC)
|
|
675
|
+
def get_bprop_all_to_all_v_c(self):
|
|
676
|
+
"""Generate bprop for AlltoAllVC."""
|
|
677
|
+
all_to_all_v_c_grad = AlltoAllVC(self.group, self.block_size, transpose=True)
|
|
678
|
+
if hasattr(self, "instance_name") and self.instance_name:
|
|
679
|
+
instance_name = "grad" + self.instance_name
|
|
680
|
+
all_to_all_v_c_grad.set_prim_instance_name(instance_name)
|
|
681
|
+
|
|
682
|
+
def bprop(x, send_count_matrix, out, dout):
|
|
683
|
+
dx = all_to_all_v_c_grad(dout, send_count_matrix)
|
|
684
|
+
return (dx, zeros_like(send_count_matrix))
|
|
685
|
+
|
|
686
|
+
return bprop
|
|
687
|
+
|
|
688
|
+
|
|
658
689
|
@bprop_getters.register(AllGatherV)
|
|
659
690
|
def get_bprop_all_gather_v(self):
|
|
660
691
|
"""Generate bprop for AllGatherV."""
|
|
@@ -728,6 +759,8 @@ def get_bprop_mirror_operator(self):
|
|
|
728
759
|
if dump_device_local_norm:
|
|
729
760
|
# init _squared _squared_device_local_norm
|
|
730
761
|
squared_device_local_norm = get_squared_device_local_norm_param()
|
|
762
|
+
# feature value sampling for sdc detect
|
|
763
|
+
feat_value_dump_name = _sdc_detector.get_dump_name(param_name) if _sdc_detector.need_sample() else None
|
|
731
764
|
if dev_num > 1:
|
|
732
765
|
dev_num_r = 1.0 / dev_num
|
|
733
766
|
all_reduce = AllReduce(group=group)
|
|
@@ -762,6 +795,9 @@ def get_bprop_mirror_operator(self):
|
|
|
762
795
|
if dump_device_local_norm:
|
|
763
796
|
dout = F.depend(dout, F.assign_add(squared_device_local_norm,
|
|
764
797
|
cast(squared_norm, squared_device_local_norm.dtype)))
|
|
798
|
+
if feat_value_dump_name and dout.ndim > 1:
|
|
799
|
+
feat_value = square(F.max(F.abs(dout))[0])
|
|
800
|
+
dout = F.depend(dout, tensor_dump(feat_value_dump_name, feat_value))
|
|
765
801
|
|
|
766
802
|
if dev_num == 1:
|
|
767
803
|
return (dout,)
|
|
@@ -23,15 +23,6 @@ from mindspore.ops.composite.multitype_ops.zeros_like_impl import zeros_like
|
|
|
23
23
|
from mindspore.ops._grad_experimental.grad_base import bprop_getters
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
@bprop_getters.register("raise")
|
|
27
|
-
def get_bprop_raise(self):
|
|
28
|
-
"""Grad definition for `raise` operation."""
|
|
29
|
-
def bprop(x, y, z, out, dout):
|
|
30
|
-
return x, y, z
|
|
31
|
-
|
|
32
|
-
return bprop
|
|
33
|
-
|
|
34
|
-
|
|
35
26
|
@bprop_getters.register(inner.ParallelResizeBilinear)
|
|
36
27
|
def get_bprop_parallel_resize_bilinear(self):
|
|
37
28
|
"""Grad definition for `ParallelResizeBilinear` operation."""
|
|
@@ -214,13 +214,8 @@ from .cumsum import _cumsum_aicpu
|
|
|
214
214
|
from .round import _round_aicpu
|
|
215
215
|
from .stft import _stft_aicpu
|
|
216
216
|
from .floor_div import _floor_div_aicpu
|
|
217
|
-
from .priority_replay_buffer import _prb_create_op_cpu
|
|
218
|
-
from .priority_replay_buffer import _prb_push_op_cpu
|
|
219
217
|
from .conjugate_transpose import _conjugate_transpose_aicpu
|
|
220
|
-
from .priority_replay_buffer import _prb_sample_op_cpu
|
|
221
|
-
from .priority_replay_buffer import _prb_update_op_cpu
|
|
222
218
|
from .equal import _equal_aicpu
|
|
223
|
-
from .priority_replay_buffer import _prb_destroy_op_cpu
|
|
224
219
|
from .right_shift import _right_shift_aicpu
|
|
225
220
|
from .tril import _tril_aicpu
|
|
226
221
|
from .linspace import _lin_space_aicpu
|
|
@@ -242,10 +237,6 @@ from .sparse_tensor_to_csr_sparse_matrix import _sparse_tensor_to_csr_sparse_mat
|
|
|
242
237
|
from .csr_sparse_matrix_to_sparse_tensor import _csr_sparse_matrix_to_sparse_tensor_aicpu
|
|
243
238
|
from .linear_sum_assignment import _linear_sum_assignment_aicpu
|
|
244
239
|
from .random_shuffle import _random_shuffle_aicpu
|
|
245
|
-
from .reservoir_replay_buffer import _rrb_create_op_cpu
|
|
246
|
-
from .reservoir_replay_buffer import _rrb_push_op_cpu
|
|
247
|
-
from .reservoir_replay_buffer import _rrb_sample_op_cpu
|
|
248
|
-
from .reservoir_replay_buffer import _rrb_destroy_op_cpu
|
|
249
240
|
from .concat_offset import _concat_offset_aicpu
|
|
250
241
|
from .range import _range_aicpu
|
|
251
242
|
from .range_v2 import _range_v2_aicpu
|
|
@@ -414,7 +405,6 @@ from .segment_prod import _segment_prod_aicpu
|
|
|
414
405
|
from .segment_sum import _segment_sum_aicpu
|
|
415
406
|
from .set_size import _set_size_aicpu
|
|
416
407
|
from .slice import _slice_aicpu
|
|
417
|
-
from .sparse_cross import _sparse_cross_aicpu
|
|
418
408
|
from .sparse_slice import _sparse_slice_aicpu
|
|
419
409
|
from .sparse_softmax import _sparse_softmax_aicpu
|
|
420
410
|
from .sparse_tensor_dense_add import _sparse_tensor_dense_add_aicpu
|
|
@@ -69,11 +69,7 @@ from .tensor_copy_slices import _tensor_copy_slices_cpu
|
|
|
69
69
|
from .l2loss import _l2loss_cpu
|
|
70
70
|
from .pyexecute import _pyexecute_cpu
|
|
71
71
|
from .pyfunc import _pyfunc_cpu
|
|
72
|
-
from .buffer_append import _buffer_append_cpu
|
|
73
|
-
from .buffer_get import _buffer_get_cpu
|
|
74
72
|
from .raise_op import _raise_cpu
|
|
75
|
-
from .
|
|
76
|
-
from .priority_replay_buffer import _prb_push_op_cpu
|
|
77
|
-
from .priority_replay_buffer import _prb_sample_op_cpu
|
|
73
|
+
from .joinedstr_op import _joinedstr_cpu
|
|
78
74
|
from .space_to_batch_nd import _space_to_batch_nd_cpu
|
|
79
75
|
from .sspaddmm import _sspaddmm_cpu
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2025 Huawei Technologies Co., Ltd
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -11,18 +11,18 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
|
|
15
|
-
"""
|
|
14
|
+
# ============================================================================
|
|
15
|
+
"""JoinedStr op"""
|
|
16
16
|
from mindspore.ops.op_info_register import op_info_register, CpuRegOp, DataType
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
joinedstr_op_info = CpuRegOp("JoinedStr") \
|
|
19
19
|
.input(0, "x", "dynamic") \
|
|
20
|
-
.output(0, "
|
|
20
|
+
.output(0, "y", "dynamic") \
|
|
21
21
|
.dtype_format(DataType.I32_Default, DataType.I32_Default) \
|
|
22
22
|
.get_op_info()
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
@op_info_register(
|
|
26
|
-
def
|
|
27
|
-
"""
|
|
25
|
+
@op_info_register(joinedstr_op_info)
|
|
26
|
+
def _joinedstr_cpu():
|
|
27
|
+
"""JoinedStr cpu register"""
|
|
28
28
|
return
|
|
@@ -96,6 +96,8 @@ op_args_default_value = {
|
|
|
96
96
|
"ConvTranspose2D": {"bias": None, "stride": 1, "padding": 0, "output_padding": 0, "groups": 1, "dilation": 1},
|
|
97
97
|
"Correlate": {"pad_mode": 'valid'},
|
|
98
98
|
"CountNonZero": {"dim": None},
|
|
99
|
+
"CrossEntropyLossGrad": {"weight": None, "grad_zloss": None, "lse_for_zloss": None, "reduction": 'mean', "ignore_index": -100, "label_smoothing": 0.0, "lse_square_scale_for_zloss": 0.0},
|
|
100
|
+
"CrossEntropyLoss": {"weight": None, "reduction": 'mean', "ignore_index": -100, "label_smoothing": 0.0, "lse_square_scale_for_zloss": 0.0, "return_zloss": False},
|
|
99
101
|
"Cross": {"dim": -65530},
|
|
100
102
|
"CumsumExt": {"dtype": None},
|
|
101
103
|
"CumProd": {"exclusive": False, "reverse": False},
|
|
@@ -103,6 +105,7 @@ op_args_default_value = {
|
|
|
103
105
|
"DCTN": {"type": 2, "s": None, "axes": None, "norm": None},
|
|
104
106
|
"DCT": {"type": 2, "n": None, "axis": -1, "norm": None},
|
|
105
107
|
"Dense": {"bias": None},
|
|
108
|
+
"DequantSwigluQuant": {"bias": None, "quant_scale": None, "quant_offset": None, "group_index": None, "activate_left": False, "quant_mode": 'static'},
|
|
106
109
|
"Diagonal": {"offset": 0, "dim1": 0, "dim2": 1},
|
|
107
110
|
"DiagonalView": {"offset": 0, "dim1": 0, "dim2": 1},
|
|
108
111
|
"DiagExt": {"diagonal": 0},
|
|
@@ -113,20 +116,10 @@ op_args_default_value = {
|
|
|
113
116
|
"EluExt": {"alpha": 1.0},
|
|
114
117
|
"EluGradExt": {"alpha": 1.0, "is_result": False},
|
|
115
118
|
"Elu": {"alpha": 1.0},
|
|
116
|
-
"EmbeddingApplyAdamW": {"ams_grad": (0,), "mask_zero": (0,), "padding_key": (0,), "padding_key_mask": (1,), "completion_key": (0,), "completion_key_mask": (1,), "_embedding_dim": 1, "_max_key_num": 1},
|
|
117
|
-
"EmbeddingApplyAdam": {"mask_zero": (0,), "padding_key": (0,), "padding_key_mask": (1,), "completion_key": (0,), "completion_key_mask": (1,), "_embedding_dim": 1, "_max_key_num": 1},
|
|
118
|
-
"EmbeddingApplyAdaGrad": {"mask_zero": (0,), "padding_key": (0,), "padding_key_mask": (1,), "completion_key": (0,), "completion_key_mask": (1,), "_embedding_dim": 1, "_max_key_num": 1},
|
|
119
|
-
"EmbeddingApplyFtrl": {"mask_zero": (0,), "padding_key": (0,), "padding_key_mask": (1,), "completion_key": (0,), "completion_key_mask": (1,), "_embedding_dim": 1, "_max_key_num": 1},
|
|
120
|
-
"EmbeddingApplyRmsprop": {"mask_zero": (0,), "padding_key": (0,), "padding_key_mask": (1,), "completion_key": (0,), "completion_key_mask": (1,), "_embedding_dim": 1, "_max_key_num": 1},
|
|
121
|
-
"EmbeddingApplySgd": {"mask_zero": (0,), "padding_key": (0,), "padding_key_mask": (1,), "completion_key": (0,), "completion_key_mask": (1,), "_embedding_dim": 1, "_max_key_num": 1},
|
|
122
119
|
"EmbeddingDenseBackward": {"padding_idx": None, "scale_grad_by_freq": False},
|
|
123
|
-
"EmbeddingFeatureMappingFileSize": {"only_offset_flag": True},
|
|
124
|
-
"EmbeddingFeatureMappingFind": {"num": 1},
|
|
125
|
-
"EmbeddingFeatureMappingImport": {"only_offset_flag": True, "num": 1},
|
|
126
120
|
"Embedding": {"padding_idx": None, "max_norm": None, "norm_type": 2.0, "scale_grad_by_freq": False},
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"Empty": {"dtype": None, "device": None},
|
|
121
|
+
"EmptyLike": {"dtype": None, "device": None, "pin_memory": False},
|
|
122
|
+
"Empty": {"dtype": None, "device": None, "pin_memory": False},
|
|
130
123
|
"ExtractImagePatches": {"padding": 'VALID'},
|
|
131
124
|
"FFNExt": {"expertTokens": None, "bias1": None, "bias2": None, "scale": None, "offset": None, "deqScale1": None, "deqScale2": None, "antiquant_scale1": None, "antiquant_scale2": None, "antiquant_offset1": None, "antiquant_offset2": None, "activation": 'fastgelu', "inner_precise": 0},
|
|
132
125
|
"FFT2": {"s": None, "dim": (-2, -1), "norm": None},
|
|
@@ -177,11 +170,13 @@ op_args_default_value = {
|
|
|
177
170
|
"IndexAddExt": {"alpha": 1},
|
|
178
171
|
"InnerInplaceIndexPut": {"accumulate": False},
|
|
179
172
|
"InnerMoeTokenUnpermute": {"probs": None, "padded_mode": False, "restore_shape": None},
|
|
173
|
+
"InnerUnique": {"sorted": True, "return_inverse": False},
|
|
180
174
|
"InplaceAddmm": {"beta": 1, "alpha": 1},
|
|
181
175
|
"InplaceAddsExt": {"alpha": 1},
|
|
182
176
|
"InplaceAddExt": {"alpha": 1},
|
|
183
177
|
"InplaceClampScalar": {"min": None, "max": None},
|
|
184
178
|
"InplaceClampTensor": {"min": None, "max": None},
|
|
179
|
+
"InplaceCopy": {"non_blocking": False},
|
|
185
180
|
"InplaceDivMods": {"rounding_mode": None},
|
|
186
181
|
"InplaceDivMod": {"rounding_mode": None},
|
|
187
182
|
"InplaceElu": {"alpha": 1.0},
|
|
@@ -239,6 +234,8 @@ op_args_default_value = {
|
|
|
239
234
|
"Meshgrid": {"indexing": 'xy'},
|
|
240
235
|
"MinimumGrad": {"grad_x": True, "grad_y": True},
|
|
241
236
|
"MinDim": {"keepdim": False},
|
|
237
|
+
"Mla": {"attn_mask": None, "deq_scale_qk": None, "deq_scale_pv": None, "q_seq_lens": None, "context_lens": None, "head_num": 32, "scale_value": 0.0, "kv_head_num": 1, "mask_mode": 'MASK_NONE', "is_ring": 0},
|
|
238
|
+
"MlaPreprocess": {"param_cache_mode": 0},
|
|
242
239
|
"MoeDistributeCombine": {"tp_send_counts": None, "x_active_mask": None, "activate_scale": None, "weight_scale": None, "group_list": None, "expand_scales": None, "group_ep": None, "group_tp": None, "tp_world_size": 0, "tp_rank_id": 0, "expert_shard_type": 0, "shared_expert_num": 0, "shared_export_rank_num": 0, "global_bs": 0, "out_dtype": 0, "common_quant_mode": 0, "group_list_type": 0},
|
|
243
240
|
"MoeDistributeDispatch": {"expert_scales": None, "scales": None, "x_active_mask": None, "group_ep": None, "group_tp": None, "tp_world_size": 0, "tp_rank_id": 0, "expert_shard_type": 0, "shared_expert_num": 0, "shared_expert_rank_num": 0, "quant_mode": 0, "global_bs": 0, "expert_token_nums_type": 0},
|
|
244
241
|
"MoeTokenPermuteGrad": {"num_topk": 1, "padded_mode": False},
|
|
@@ -300,6 +297,7 @@ op_args_default_value = {
|
|
|
300
297
|
"RFFTFreq": {"d": 1.0, "dtype": None},
|
|
301
298
|
"RFFTN": {"s": None, "dim": None, "norm": None},
|
|
302
299
|
"RFFT": {"n": None, "dim": -1, "norm": None},
|
|
300
|
+
"RingAttentionUpdate": {"actual_seq_qlen": None, "layout": 'SBH'},
|
|
303
301
|
"RmsNorm": {"epsilon": 1e-6},
|
|
304
302
|
"Roll": {"dims": None},
|
|
305
303
|
"RotaryPositionEmbeddingGrad": {"dx": None, "mode": 0},
|
|
@@ -347,6 +345,9 @@ op_args_default_value = {
|
|
|
347
345
|
"TopKRouter": {"drop_type": 0},
|
|
348
346
|
"TopkExt": {"dim": -1, "largest": True, "sorted": True},
|
|
349
347
|
"TopPRouter": {"drop_type": 0, "threshold": 0.0, "router_prob": 0.0},
|
|
348
|
+
"ToDevice": {"device": None, "dtype": None, "non_blocking": False, "copy": False},
|
|
349
|
+
"ToDtype": {"dtype": None, "non_blocking": False, "copy": False},
|
|
350
|
+
"ToOther": {"non_blocking": False, "copy": False},
|
|
350
351
|
"TraceV2Grad": {"offset": 0, "axis1": 1, "axis2": 0},
|
|
351
352
|
"TraceV2": {"offset": 0, "axis1": 1, "axis2": 0, "dtype": None},
|
|
352
353
|
"TriangularSolve": {"upper": True, "transpose": False, "unitriangular": False},
|
|
@@ -381,7 +382,7 @@ op_args_default_value = {
|
|
|
381
382
|
"FusedInferAttentionScore": {"pse_shift": None, "attn_mask": None, "actual_seq_lengths": None, "actual_seq_lengths_kv": None, "dequant_scale1": None, "quant_scale1": None, "dequant_scale2": None, "quant_scale2": None, "quant_offset2": None, "antiquant_scale": None, "antiquant_offset": None, "block_table": None, "query_padding_size": None, "kv_padding_size": None, "key_antiquant_scale": None, "key_antiquant_offset": None, "value_antiquant_scale": None, "value_antiquant_offset": None, "key_shared_prefix": None, "value_shared_prefix": None, "actual_shared_prefix_len": None, "num_heads": 1, "scale_value": 1.0, "pre_tokens": 2147483647, "next_tokens": 2147483647, "input_layout": 'BSH', "num_key_value_heads": 0, "sparse_mode": 0, "inner_precise": 1, "block_size": 0, "antiquant_mode": 0, "softmax_lse_flag": False, "key_antiquant_mode": 0, "value_antiquant_mode": 0},
|
|
382
383
|
"GroupedMatmul": {"bias": None, "scale": None, "offset": None, "antiquant_scale": None, "antiquant_offset": None, "group_list": None, "split_item": 0, "group_type": -1, "transpose_a": False, "transpose_b": False},
|
|
383
384
|
"GroupedMatmulV2": {"bias": None, "scale": None, "offset": None, "antiquant_scale": None, "antiquant_offset": None, "group_list": None, "split_item": 0, "group_type": -1},
|
|
384
|
-
"GroupedMatmulV4": {"bias": None, "scale": None, "offset": None, "antiquant_scale": None, "antiquant_offset": None, "pre_token_scale": None, "group_list": None, "activation_input": None, "activation_quant_scale": None, "activation_quant_offset": None, "split_item": 0, "group_type": -1, "group_list_type": 0, "act_type": 0},
|
|
385
|
+
"GroupedMatmulV4": {"bias": None, "scale": None, "offset": None, "antiquant_scale": None, "antiquant_offset": None, "pre_token_scale": None, "group_list": None, "activation_input": None, "activation_quant_scale": None, "activation_quant_offset": None, "split_item": 0, "group_type": -1, "group_list_type": 0, "act_type": 0, "output_dtype": None},
|
|
385
386
|
"KVCacheScatterUpdate": {"reduce": 'none'},
|
|
386
387
|
"MatmulAllReduceAddRmsNorm": {"reduce_op": 'sum', "comm_turn": 0, "stream_mode": 1},
|
|
387
388
|
"MoeFinalizeRouting": {"x2": None, "bias": None, "scales": None, "expanded_row_idx": None, "expanded_expert_idx": None},
|
|
@@ -415,7 +416,6 @@ op_args_default_value = {
|
|
|
415
416
|
"DeprecatedBaddbmm": {"beta": 1, "alpha": 1},
|
|
416
417
|
"DeprecatedBincount": {"weights": None, "minlength": 0},
|
|
417
418
|
"DeprecatedChunk": {"axis": 0},
|
|
418
|
-
"DeprecatedInplaceCopy": {"non_blocking": False},
|
|
419
419
|
"DeprecatedCountNonzero": {"axis": (), "keep_dims": False, "dtype": None},
|
|
420
420
|
"DeprecatedCumsum": {"axis": None, "dtype": None},
|
|
421
421
|
"DeprecatedDiv": {"rounding_mode": None},
|
|
@@ -430,11 +430,13 @@ op_args_default_value = {
|
|
|
430
430
|
"DeprecatedMedian": {"axis": -1, "keepdims": False},
|
|
431
431
|
"DeprecatedMin": {"axis": None, "keepdims": False, "initial": None, "where": True, "return_indices": False},
|
|
432
432
|
"DeprecatedNansum": {"axis": None, "keepdims": False, "dtype": None},
|
|
433
|
+
"DeprecatedPermute": {"axis": None},
|
|
433
434
|
"DeprecatedProd": {"dim": None, "keepdim": False, "dtype": None},
|
|
434
435
|
"DeprecatedRepeatInterleave": {"dim": None},
|
|
435
436
|
"DeprecatedRoll": {"dims": None},
|
|
436
437
|
"DeprecatedSort": {"axis": -1, "descending": False},
|
|
437
438
|
"DeprecatedSplit": {"axis": 0},
|
|
439
|
+
"DeprecatedSqueeze": {"axis": None},
|
|
438
440
|
"DeprecatedStd": {"axis": None, "ddof": 0, "keepdims": False},
|
|
439
441
|
"DeprecatedSum": {"axis": None, "dtype": None, "keepdims": False, "initial": None},
|
|
440
442
|
"DeprecatedTake": {"axis": None, "mode": 'clip'},
|
|
@@ -458,19 +460,10 @@ op_labels = {
|
|
|
458
460
|
"BroadcastToView": {"side_effect_mem": True},
|
|
459
461
|
"ChunkView": {"side_effect_mem": True},
|
|
460
462
|
"DiagonalView": {"side_effect_mem": True},
|
|
461
|
-
"DistCommAllReduce": {"side_effect_mem": True},
|
|
462
|
-
"DistCommReduce": {"side_effect_mem": True},
|
|
463
463
|
"DropoutExt": {"side_effect_hidden": True},
|
|
464
464
|
"DropoutGenMaskExt": {"side_effect_hidden": True},
|
|
465
465
|
"Dropout": {"side_effect_hidden": True},
|
|
466
|
-
"EmbeddingApplyAdamW": {"_process_node_engine_id": 'PS'},
|
|
467
|
-
"EmbeddingApplyAdam": {"_process_node_engine_id": 'PS'},
|
|
468
|
-
"EmbeddingApplyAdaGrad": {"_process_node_engine_id": 'PS'},
|
|
469
|
-
"EmbeddingApplyFtrl": {"_process_node_engine_id": 'PS'},
|
|
470
|
-
"EmbeddingApplyRmsprop": {"_process_node_engine_id": 'PS'},
|
|
471
|
-
"EmbeddingApplySgd": {"_process_node_engine_id": 'PS'},
|
|
472
466
|
"Embedding": {"side_effect_mem": True},
|
|
473
|
-
"EmbeddingTableEvict": {"_process_node_engine_id": 'PS'},
|
|
474
467
|
"ExpandDimsView": {"side_effect_mem": True},
|
|
475
468
|
"Generator": {"side_effect_mem": True},
|
|
476
469
|
"GroupTopk": {"side_effect_mem": True},
|
|
@@ -478,6 +471,8 @@ op_labels = {
|
|
|
478
471
|
"InplaceAddmm": {"side_effect_mem": True},
|
|
479
472
|
"InplaceAddsExt": {"side_effect_mem": True},
|
|
480
473
|
"InplaceAddExt": {"side_effect_mem": True},
|
|
474
|
+
"InplaceBernoulliScalar": {"side_effect_mem": True},
|
|
475
|
+
"InplaceBernoulliTensor": {"side_effect_mem": True},
|
|
481
476
|
"InplaceCopy": {"side_effect_mem": True},
|
|
482
477
|
"InplaceDivMods": {"side_effect_mem": True},
|
|
483
478
|
"InplaceDivMod": {"side_effect_mem": True},
|
|
@@ -495,10 +490,12 @@ op_labels = {
|
|
|
495
490
|
"InplaceGroupedMatmulAdd": {"side_effect_mem": True},
|
|
496
491
|
"InplaceHardtanh": {"side_effect_mem": True},
|
|
497
492
|
"InplaceIndexAddExt": {"side_effect_mem": True},
|
|
493
|
+
"InplaceIndexCopy": {"side_effect_mem": True},
|
|
498
494
|
"InplaceIndexPut": {"side_effect_mem": True},
|
|
499
495
|
"InplaceLog": {"side_effect_mem": True},
|
|
500
496
|
"InplaceMaskedFillScalar": {"side_effect_mem": True},
|
|
501
497
|
"InplaceMaskedFillTensor": {"side_effect_mem": True},
|
|
498
|
+
"InplaceMaskedScatter": {"side_effect_mem": True},
|
|
502
499
|
"InplaceMatmulAdd": {"side_effect_mem": True},
|
|
503
500
|
"InplaceMuls": {"side_effect_mem": True},
|
|
504
501
|
"InplaceMul": {"side_effect_mem": True},
|
|
@@ -506,18 +503,24 @@ op_labels = {
|
|
|
506
503
|
"InplacePut": {"side_effect_mem": True},
|
|
507
504
|
"InplaceRandom": {"side_effect_mem": True},
|
|
508
505
|
"InplaceReLU": {"side_effect_mem": True},
|
|
506
|
+
"InplaceRemainderTensorScalar": {"side_effect_mem": True},
|
|
507
|
+
"InplaceRemainderTensorTensor": {"side_effect_mem": True},
|
|
509
508
|
"InplaceScatterAdd": {"side_effect_mem": True},
|
|
510
509
|
"InplaceScatterSrc": {"side_effect_mem": True},
|
|
511
510
|
"InplaceScatterSrcReduce": {"side_effect_mem": True},
|
|
512
511
|
"InplaceScatterValue": {"side_effect_mem": True},
|
|
513
512
|
"InplaceScatterValueReduce": {"side_effect_mem": True},
|
|
513
|
+
"InplaceSigmoid": {"side_effect_mem": True},
|
|
514
|
+
"InplaceSign": {"side_effect_mem": True},
|
|
514
515
|
"InplaceSiLU": {"side_effect_mem": True},
|
|
515
516
|
"InplaceSubExt": {"side_effect_mem": True},
|
|
516
517
|
"InplaceSubScalar": {"side_effect_mem": True},
|
|
517
518
|
"InplaceTanh": {"side_effect_mem": True},
|
|
518
519
|
"InplaceThreshold": {"side_effect_mem": True},
|
|
519
520
|
"InplaceUniform": {"side_effect_mem": True},
|
|
521
|
+
"KvScaleCache": {"side_effect_mem": True},
|
|
520
522
|
"Log": {"cust_aicpu": 'Log', "base": -1.0, "scale": 1.0, "shift": 0.0},
|
|
523
|
+
"MlaPreprocess": {"side_effect_mem": True},
|
|
521
524
|
"NarrowView": {"side_effect_mem": True},
|
|
522
525
|
"ReshapeAndCache": {"side_effect_mem": True},
|
|
523
526
|
"ResizeD": {"mode": 'linear'},
|
|
@@ -531,6 +534,7 @@ op_labels = {
|
|
|
531
534
|
"TransposeView": {"side_effect_mem": True},
|
|
532
535
|
"UnstackExtView": {"side_effect_mem": True},
|
|
533
536
|
"KVCacheScatterUpdate": {"side_effect_mem": True},
|
|
537
|
+
"DistCommAllReduce": {"side_effect_mem": True},
|
|
538
|
+
"DistCommReduce": {"side_effect_mem": True},
|
|
534
539
|
"InplaceExponential": {"side_effect_mem": True},
|
|
535
|
-
"DeprecatedInplaceCopy": {"side_effect_mem": True},
|
|
536
540
|
}
|
|
@@ -118,11 +118,11 @@ def add(input, other, alpha=1):
|
|
|
118
118
|
input (Union[Tensor, number.Number, bool]): The first input is a number.Number or
|
|
119
119
|
a bool or a tensor whose data type is
|
|
120
120
|
`number <https://www.mindspore.cn/docs/en/master/api_python/mindspore/mindspore.dtype.html>`_ or
|
|
121
|
-
`
|
|
121
|
+
`bool <https://www.mindspore.cn/docs/en/master/api_python/mindspore/mindspore.dtype.html>`_.
|
|
122
122
|
other (Union[Tensor, number.Number, bool]): The second input, is a number.Number or
|
|
123
123
|
a bool or a tensor whose data type is
|
|
124
124
|
`number <https://www.mindspore.cn/docs/en/master/api_python/mindspore/mindspore.dtype.html>`_ or
|
|
125
|
-
`
|
|
125
|
+
`bool <https://www.mindspore.cn/docs/en/master/api_python/mindspore/mindspore.dtype.html>`_.
|
|
126
126
|
alpha (number.Number): A scaling factor applied to `other`, default 1.
|
|
127
127
|
|
|
128
128
|
Returns:
|
|
@@ -905,7 +905,6 @@ def histc(input, bins=100, min=0, max=0):
|
|
|
905
905
|
Elements lower than min or higher than max are ignored.
|
|
906
906
|
|
|
907
907
|
.. warning::
|
|
908
|
-
This is an experimental API that is subject to change or deletion.
|
|
909
908
|
If input is int64, valid values fit within int32; exceeding this may cause precision errors.
|
|
910
909
|
|
|
911
910
|
Args:
|
|
@@ -1732,9 +1731,6 @@ def outer(input, vec2):
|
|
|
1732
1731
|
Return outer product of `input` and `vec2`. If `input` is a vector of size :math:`n`
|
|
1733
1732
|
and `vec2` is a vector of size :math:`m` , then output must be a matrix of shape :math:`(n, m)` .
|
|
1734
1733
|
|
|
1735
|
-
.. warning::
|
|
1736
|
-
This is an experimental API that is subject to change or deletion.
|
|
1737
|
-
|
|
1738
1734
|
.. note::
|
|
1739
1735
|
This function does not broadcast.
|
|
1740
1736
|
|
|
@@ -1957,14 +1953,13 @@ def stack(tensors, dim=0):
|
|
|
1957
1953
|
:math:`(x_1, x_2, ..., x_{dim}, N, x_{dim+1}, ..., x_R)`.
|
|
1958
1954
|
|
|
1959
1955
|
Args:
|
|
1960
|
-
tensors (Union[tuple, list]): A Tuple or list of Tensor objects with the same shape
|
|
1956
|
+
tensors (Union[tuple, list]): A Tuple or list of Tensor objects with the same shape.
|
|
1961
1957
|
dim (int, optional): Dimension to stack. The range is [-(R+1), R+1). Default: ``0`` .
|
|
1962
1958
|
|
|
1963
1959
|
Returns:
|
|
1964
|
-
|
|
1960
|
+
A stacked Tensor.
|
|
1965
1961
|
|
|
1966
1962
|
Raises:
|
|
1967
|
-
TypeError: If the data types of elements in `tensors` are not the same.
|
|
1968
1963
|
ValueError: If `dim` is out of the range [-(R+1), R+1);
|
|
1969
1964
|
or if the shapes of elements in `tensors` are not the same.
|
|
1970
1965
|
|
|
@@ -2003,11 +1998,11 @@ def sub(input, other, alpha=1):
|
|
|
2003
1998
|
input (Union[Tensor, number.Number, bool]): The first input is a number.Number or
|
|
2004
1999
|
a bool or a tensor whose data type is
|
|
2005
2000
|
`number <https://www.mindspore.cn/docs/en/master/api_python/mindspore/mindspore.dtype.html>`_ or
|
|
2006
|
-
`
|
|
2001
|
+
`bool <https://www.mindspore.cn/docs/en/master/api_python/mindspore/mindspore.dtype.html>`_.
|
|
2007
2002
|
other (Union[Tensor, number.Number, bool]): The second input, is a number.Number or
|
|
2008
2003
|
a bool or a tensor whose data type is
|
|
2009
2004
|
`number <https://www.mindspore.cn/docs/en/master/api_python/mindspore/mindspore.dtype.html>`_ or
|
|
2010
|
-
`
|
|
2005
|
+
`bool <https://www.mindspore.cn/docs/en/master/api_python/mindspore/mindspore.dtype.html>`_.
|
|
2011
2006
|
alpha (number.Number): A scaling factor applied to `other`, default 1.
|
|
2012
2007
|
|
|
2013
2008
|
Returns:
|