mindspore 2.5.0__cp310-cp310-win_amd64.whl → 2.6.0rc1__cp310-cp310-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/__init__.py +6 -4
- mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -0
- mindspore/_checkparam.py +3 -33
- mindspore/_deprecated/__init__.py +17 -0
- mindspore/_deprecated/jit.py +198 -0
- mindspore/_extends/builtin_operations.py +1 -1
- mindspore/_extends/parse/__init__.py +6 -7
- mindspore/_extends/parse/compile_config.py +19 -0
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +22 -3
- mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
- mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
- mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
- mindspore/_extends/parse/parser.py +24 -193
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +97 -74
- mindspore/_extends/pijit/__init__.py +2 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +16 -11
- mindspore/_extends/pijit/tensor_func_list.py +27 -0
- mindspore/_extends/utils.py +1 -1
- mindspore/amp.py +4 -4
- mindspore/atlprov.dll +0 -0
- mindspore/avcodec-59.dll +0 -0
- mindspore/avdevice-59.dll +0 -0
- mindspore/avfilter-8.dll +0 -0
- mindspore/avformat-59.dll +0 -0
- mindspore/avutil-57.dll +0 -0
- mindspore/boost/__init__.py +2 -2
- mindspore/boost/base.py +3 -7
- mindspore/boost/boost_cell_wrapper.py +2 -2
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +4 -3
- mindspore/common/_grad_function.py +56 -0
- mindspore/common/_pijit_context.py +14 -5
- mindspore/common/_register_for_tensor.py +1 -1
- mindspore/common/_stub_tensor.py +5 -10
- mindspore/common/_tensor_cpp_method.py +1 -1
- mindspore/common/_tensor_docs.py +1915 -3287
- mindspore/common/api.py +341 -354
- mindspore/common/auto_dynamic_shape.py +41 -44
- mindspore/common/dtype.py +5 -2
- mindspore/common/dump.py +7 -5
- mindspore/common/file_system.py +3 -0
- mindspore/common/hook_handle.py +5 -3
- mindspore/common/initializer.py +10 -6
- mindspore/common/jit_begin_end.py +94 -0
- mindspore/common/jit_config.py +6 -1
- mindspore/common/jit_context.py +76 -0
- mindspore/common/jit_trace.py +378 -0
- mindspore/common/lazy_inline.py +2 -2
- mindspore/common/mutable.py +5 -4
- mindspore/common/parameter.py +106 -39
- mindspore/common/seed.py +2 -2
- mindspore/common/sparse_tensor.py +23 -17
- mindspore/common/tensor.py +297 -714
- mindspore/communication/__init__.py +7 -5
- mindspore/communication/_comm_helper.py +47 -2
- mindspore/communication/comm_func.py +70 -53
- mindspore/communication/management.py +83 -17
- mindspore/context.py +214 -560
- mindspore/dataset/__init__.py +44 -20
- mindspore/dataset/audio/__init__.py +2 -8
- mindspore/dataset/audio/transforms.py +3 -17
- mindspore/dataset/core/config.py +3 -3
- mindspore/dataset/engine/cache_client.py +1 -1
- mindspore/dataset/engine/datasets.py +102 -120
- mindspore/dataset/engine/datasets_audio.py +22 -22
- mindspore/dataset/engine/datasets_standard_format.py +43 -24
- mindspore/dataset/engine/datasets_text.py +78 -85
- mindspore/dataset/engine/datasets_user_defined.py +108 -76
- mindspore/dataset/engine/datasets_vision.py +111 -108
- mindspore/dataset/engine/iterators.py +5 -3
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
- mindspore/dataset/engine/samplers.py +279 -57
- mindspore/dataset/engine/serializer_deserializer.py +2 -1
- mindspore/dataset/engine/validators.py +10 -0
- mindspore/dataset/text/__init__.py +7 -6
- mindspore/dataset/text/transforms.py +6 -5
- mindspore/dataset/text/utils.py +3 -3
- mindspore/dataset/transforms/__init__.py +0 -9
- mindspore/dataset/transforms/transforms.py +3 -3
- mindspore/dataset/utils/browse_dataset.py +1 -1
- mindspore/dataset/vision/__init__.py +2 -9
- mindspore/dataset/vision/transforms.py +202 -158
- mindspore/dataset/vision/utils.py +7 -5
- mindspore/device_context/ascend/op_debug.py +60 -1
- mindspore/device_context/ascend/op_tuning.py +0 -4
- mindspore/device_manager.py +39 -3
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/es/embedding_service.py +35 -27
- mindspore/experimental/map_parameter.py +4 -4
- mindspore/experimental/optim/adadelta.py +22 -26
- mindspore/experimental/optim/adagrad.py +4 -4
- mindspore/experimental/optim/adam.py +4 -0
- mindspore/experimental/optim/adamax.py +4 -4
- mindspore/experimental/optim/adamw.py +4 -0
- mindspore/experimental/optim/asgd.py +1 -1
- mindspore/experimental/optim/lr_scheduler.py +40 -22
- mindspore/experimental/optim/radam.py +5 -5
- mindspore/experimental/optim/rprop.py +1 -1
- mindspore/experimental/optim/sgd.py +1 -1
- mindspore/hal/contiguous_tensors_handle.py +6 -10
- mindspore/hal/device.py +55 -81
- mindspore/hal/event.py +38 -55
- mindspore/hal/memory.py +93 -144
- mindspore/hal/stream.py +81 -125
- mindspore/include/dataset/constants.h +7 -4
- mindspore/include/dataset/execute.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +40 -2
- mindspore/mindrecord/__init__.py +20 -7
- mindspore/mindspore_backend_common.dll +0 -0
- mindspore/mindspore_backend_manager.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_dump.dll +0 -0
- mindspore/mindspore_frontend.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_memory_pool.dll +0 -0
- mindspore/mindspore_ms_backend.dll +0 -0
- mindspore/mindspore_ops.dll +0 -0
- mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
- mindspore/mindspore_ops_kernel_common.dll +0 -0
- mindspore/mindspore_profiler.dll +0 -0
- mindspore/mindspore_pyboost.dll +0 -0
- mindspore/mindspore_pynative.dll +0 -0
- mindspore/mindspore_res_manager.dll +0 -0
- mindspore/mindspore_runtime_pipeline.dll +0 -0
- mindspore/mint/__init__.py +131 -700
- mindspore/mint/distributed/__init__.py +5 -1
- mindspore/mint/distributed/distributed.py +194 -109
- mindspore/mint/linalg/__init__.py +2 -0
- mindspore/mint/nn/__init__.py +280 -18
- mindspore/mint/nn/functional.py +282 -64
- mindspore/mint/nn/layer/__init__.py +4 -0
- mindspore/mint/nn/layer/_functions.py +7 -3
- mindspore/mint/nn/layer/activation.py +120 -13
- mindspore/mint/nn/layer/conv.py +218 -24
- mindspore/mint/nn/layer/normalization.py +15 -16
- mindspore/mint/nn/layer/padding.py +1 -1
- mindspore/mint/nn/layer/pooling.py +66 -1
- mindspore/mint/optim/__init__.py +2 -1
- mindspore/mint/optim/sgd.py +171 -0
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1250 -176
- mindspore/nn/layer/activation.py +23 -21
- mindspore/nn/layer/basic.py +22 -16
- mindspore/nn/layer/container.py +1 -1
- mindspore/nn/layer/conv.py +22 -17
- mindspore/nn/layer/embedding.py +9 -8
- mindspore/nn/layer/normalization.py +48 -42
- mindspore/nn/layer/pooling.py +75 -31
- mindspore/nn/layer/transformer.py +11 -10
- mindspore/nn/learning_rate_schedule.py +4 -2
- mindspore/nn/loss/loss.py +27 -19
- mindspore/nn/optim/ada_grad.py +6 -5
- mindspore/nn/optim/adadelta.py +9 -7
- mindspore/nn/optim/adafactor.py +1 -1
- mindspore/nn/optim/adam.py +16 -12
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +1 -1
- mindspore/nn/optim/ftrl.py +11 -9
- mindspore/nn/optim/lamb.py +1 -1
- mindspore/nn/optim/lazyadam.py +12 -10
- mindspore/nn/optim/momentum.py +7 -6
- mindspore/nn/optim/optimizer.py +2 -2
- mindspore/nn/optim/proximal_ada_grad.py +12 -10
- mindspore/nn/optim/rmsprop.py +13 -12
- mindspore/nn/optim/rprop.py +9 -7
- mindspore/nn/optim/sgd.py +9 -6
- mindspore/nn/optim/tft_wrapper.py +5 -2
- mindspore/nn/probability/bijector/bijector.py +17 -11
- mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
- mindspore/nn/probability/bijector/invert.py +2 -2
- mindspore/nn/probability/bijector/scalar_affine.py +3 -3
- mindspore/nn/probability/bijector/softplus.py +3 -2
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +1 -1
- mindspore/nn/probability/distribution/cauchy.py +4 -2
- mindspore/nn/probability/distribution/exponential.py +6 -7
- mindspore/nn/probability/distribution/gamma.py +2 -2
- mindspore/nn/probability/distribution/gumbel.py +2 -2
- mindspore/nn/probability/distribution/half_normal.py +5 -3
- mindspore/nn/probability/distribution/logistic.py +5 -3
- mindspore/nn/probability/distribution/poisson.py +1 -1
- mindspore/nn/probability/distribution/uniform.py +5 -3
- mindspore/nn/reinforcement/_tensors_queue.py +1 -1
- mindspore/nn/reinforcement/tensor_array.py +1 -1
- mindspore/nn/wrap/__init__.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +178 -117
- mindspore/nn/wrap/grad_reducer.py +45 -36
- mindspore/nn/wrap/loss_scale.py +3 -3
- mindspore/numpy/array_creations.py +3 -3
- mindspore/numpy/array_ops.py +1 -1
- mindspore/numpy/math_ops.py +4 -4
- mindspore/numpy/utils.py +1 -2
- mindspore/numpy/utils_const.py +1 -2
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +3 -2
- mindspore/ops/_grad_experimental/grad_comm_ops.py +18 -3
- mindspore/ops/_grad_experimental/grad_debug_ops.py +8 -1
- mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
- mindspore/ops/_register_for_op.py +0 -11
- mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
- mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -4
- mindspore/ops/_vmap/vmap_array_ops.py +7 -6
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +2 -1
- mindspore/ops/_vmap/vmap_math_ops.py +4 -7
- mindspore/ops/_vmap/vmap_nn_ops.py +9 -8
- mindspore/ops/auto_generate/__init__.py +4 -3
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +102 -49
- mindspore/ops/auto_generate/gen_extend_func.py +281 -135
- mindspore/ops/auto_generate/gen_ops_def.py +2574 -2326
- mindspore/ops/auto_generate/gen_ops_prim.py +8566 -2755
- mindspore/ops/auto_generate/pyboost_inner_prim.py +106 -76
- mindspore/ops/composite/__init__.py +2 -1
- mindspore/ops/composite/base.py +19 -24
- mindspore/ops/composite/math_ops.py +6 -16
- mindspore/ops/composite/multitype_ops/__init__.py +5 -2
- mindspore/ops/composite/multitype_ops/_compile_utils.py +2 -3
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
- mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
- mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
- mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
- mindspore/ops/composite/multitype_ops/pow_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
- mindspore/ops/function/__init__.py +28 -2
- mindspore/ops/function/_add_attr_func.py +58 -0
- mindspore/ops/function/array_func.py +1629 -2345
- mindspore/ops/function/clip_func.py +38 -45
- mindspore/ops/function/debug_func.py +36 -44
- mindspore/ops/function/grad/__init__.py +1 -0
- mindspore/ops/function/grad/grad_func.py +104 -71
- mindspore/ops/function/image_func.py +1 -1
- mindspore/ops/function/linalg_func.py +46 -78
- mindspore/ops/function/math_func.py +3035 -3705
- mindspore/ops/function/nn_func.py +676 -241
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +17 -30
- mindspore/ops/function/random_func.py +204 -361
- mindspore/ops/function/reshard_func.py +4 -70
- mindspore/ops/function/sparse_func.py +3 -3
- mindspore/ops/function/sparse_unary_func.py +5 -5
- mindspore/ops/function/spectral_func.py +25 -58
- mindspore/ops/function/vmap_func.py +24 -17
- mindspore/ops/functional.py +6 -4
- mindspore/ops/functional_overload.py +547 -4
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +10 -5
- mindspore/ops/operations/_custom_ops_utils.py +247 -0
- mindspore/ops/operations/_grad_ops.py +1 -10
- mindspore/ops/operations/_inner_ops.py +5 -76
- mindspore/ops/operations/_ms_kernel.py +4 -10
- mindspore/ops/operations/_rl_inner_ops.py +1 -1
- mindspore/ops/operations/_scalar_ops.py +3 -2
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/_tensor_array.py +1 -1
- mindspore/ops/operations/array_ops.py +37 -22
- mindspore/ops/operations/comm_ops.py +150 -107
- mindspore/ops/operations/custom_ops.py +221 -23
- mindspore/ops/operations/debug_ops.py +115 -16
- mindspore/ops/operations/inner_ops.py +1 -1
- mindspore/ops/operations/linalg_ops.py +1 -58
- mindspore/ops/operations/manually_defined/_inner.py +1 -1
- mindspore/ops/operations/manually_defined/ops_def.py +746 -79
- mindspore/ops/operations/math_ops.py +21 -18
- mindspore/ops/operations/nn_ops.py +65 -191
- mindspore/ops/operations/other_ops.py +62 -9
- mindspore/ops/operations/random_ops.py +13 -7
- mindspore/ops/operations/reshard_ops.py +1 -1
- mindspore/ops/operations/sparse_ops.py +2 -2
- mindspore/ops/primitive.py +43 -32
- mindspore/ops/tensor_method.py +232 -13
- mindspore/ops_generate/__init__.py +0 -5
- mindspore/ops_generate/aclnn/__init__.py +0 -0
- mindspore/ops_generate/{aclnn_kernel_register_auto_cc_generator.py → aclnn/aclnn_kernel_register_auto_cc_generator.py} +43 -18
- mindspore/ops_generate/{gen_aclnn_implement.py → aclnn/gen_aclnn_implement.py} +49 -51
- mindspore/ops_generate/api/__init__.py +0 -0
- mindspore/ops_generate/{add_tensor_docs_generator.py → api/add_tensor_docs_generator.py} +9 -7
- mindspore/ops_generate/{cpp_create_prim_instance_helper_generator.py → api/cpp_create_prim_instance_helper_generator.py} +6 -9
- mindspore/ops_generate/{functional_map_cpp_generator.py → api/functional_map_cpp_generator.py} +25 -12
- mindspore/ops_generate/{functional_overload_py_generator.py → api/functional_overload_py_generator.py} +8 -6
- mindspore/ops_generate/{functions_cc_generator.py → api/functions_cc_generator.py} +14 -10
- mindspore/ops_generate/api/gen_api.py +103 -0
- mindspore/ops_generate/{op_api_proto.py → api/op_api_proto.py} +98 -69
- mindspore/ops_generate/{tensor_func_reg_cpp_generator.py → api/tensor_func_reg_cpp_generator.py} +82 -43
- mindspore/ops_generate/common/__init__.py +0 -0
- mindspore/ops_generate/common/gen_constants.py +91 -0
- mindspore/ops_generate/{gen_utils.py → common/gen_utils.py} +72 -19
- mindspore/ops_generate/{op_proto.py → common/op_proto.py} +64 -1
- mindspore/ops_generate/{template.py → common/template.py} +96 -84
- mindspore/ops_generate/gen_ops.py +23 -325
- mindspore/ops_generate/op_def/__init__.py +0 -0
- mindspore/ops_generate/op_def/gen_op_def.py +90 -0
- mindspore/ops_generate/{lite_ops_cpp_generator.py → op_def/lite_ops_cpp_generator.py} +47 -11
- mindspore/ops_generate/{ops_def_cc_generator.py → op_def/ops_def_cc_generator.py} +18 -7
- mindspore/ops_generate/{ops_def_h_generator.py → op_def/ops_def_h_generator.py} +5 -5
- mindspore/ops_generate/{ops_name_h_generator.py → op_def/ops_name_h_generator.py} +30 -15
- mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
- mindspore/ops_generate/op_def_py/__init__.py +0 -0
- mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
- mindspore/ops_generate/{op_def_py_generator.py → op_def_py/op_def_py_generator.py} +6 -5
- mindspore/ops_generate/{op_prim_py_generator.py → op_def_py/op_prim_py_generator.py} +24 -15
- mindspore/ops_generate/pyboost/__init__.py +0 -0
- mindspore/ops_generate/{auto_grad_impl_cc_generator.py → pyboost/auto_grad_impl_cc_generator.py} +11 -7
- mindspore/ops_generate/{auto_grad_reg_cc_generator.py → pyboost/auto_grad_reg_cc_generator.py} +7 -7
- mindspore/ops_generate/{gen_pyboost_func.py → pyboost/gen_pyboost_func.py} +40 -16
- mindspore/ops_generate/{op_template_parser.py → pyboost/op_template_parser.py} +105 -24
- mindspore/ops_generate/{pyboost_functions_cpp_generator.py → pyboost/pyboost_functions_cpp_generator.py} +55 -18
- mindspore/ops_generate/{pyboost_functions_h_generator.py → pyboost/pyboost_functions_h_generator.py} +42 -10
- mindspore/ops_generate/{pyboost_functions_py_generator.py → pyboost/pyboost_functions_py_generator.py} +6 -6
- mindspore/ops_generate/{pyboost_grad_function_cpp_generator.py → pyboost/pyboost_grad_function_cpp_generator.py} +11 -10
- mindspore/ops_generate/{pyboost_inner_prim_generator.py → pyboost/pyboost_inner_prim_generator.py} +8 -7
- mindspore/ops_generate/{pyboost_native_grad_functions_generator.py → pyboost/pyboost_native_grad_functions_generator.py} +14 -10
- mindspore/ops_generate/{pyboost_op_cpp_code_generator.py → pyboost/pyboost_op_cpp_code_generator.py} +140 -53
- mindspore/ops_generate/{pyboost_overload_functions_cpp_generator.py → pyboost/pyboost_overload_functions_cpp_generator.py} +28 -15
- mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +88 -4
- mindspore/ops_generate/resources/__init__.py +0 -0
- mindspore/ops_generate/resources/resource_list.py +30 -0
- mindspore/ops_generate/resources/resource_loader.py +36 -0
- mindspore/ops_generate/resources/resource_manager.py +64 -0
- mindspore/ops_generate/resources/yaml_loader.py +88 -0
- mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
- mindspore/parallel/__init__.py +6 -2
- mindspore/parallel/_auto_parallel_context.py +133 -6
- mindspore/parallel/_cell_wrapper.py +130 -15
- mindspore/parallel/_parallel_serialization.py +95 -4
- mindspore/parallel/_ps_context.py +1 -1
- mindspore/parallel/_recovery_context.py +7 -2
- mindspore/parallel/_tensor.py +142 -18
- mindspore/parallel/_utils.py +198 -25
- mindspore/parallel/algo_parameter_config.py +3 -3
- mindspore/parallel/auto_parallel.py +732 -0
- mindspore/parallel/checkpoint_convert.py +159 -0
- mindspore/parallel/checkpoint_transform.py +656 -37
- mindspore/parallel/cluster/process_entity/_api.py +151 -19
- mindspore/parallel/cluster/run.py +1 -1
- mindspore/parallel/function/__init__.py +24 -0
- mindspore/parallel/function/reshard_func.py +259 -0
- mindspore/parallel/nn/__init__.py +25 -0
- mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
- mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
- mindspore/parallel/parameter_broadcast.py +24 -13
- mindspore/parallel/shard.py +137 -61
- mindspore/parallel/transform_safetensors.py +287 -95
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +9 -5
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +6 -2
- mindspore/profiler/analysis/parser/ms_framework_parser.py +4 -4
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -4
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +22 -0
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +241 -86
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +41 -2
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +33 -35
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +7 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +8 -3
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +141 -30
- mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +5 -6
- mindspore/profiler/common/ascend_msprof_exporter.py +5 -4
- mindspore/profiler/common/constant.py +12 -0
- mindspore/profiler/common/msprof_cmd_tool.py +42 -23
- mindspore/profiler/common/path_manager.py +24 -0
- mindspore/profiler/common/profiler_context.py +26 -2
- mindspore/profiler/common/profiler_meta_data.py +74 -0
- mindspore/profiler/common/profiler_parameters.py +59 -18
- mindspore/profiler/common/profiler_path_manager.py +66 -7
- mindspore/profiler/dynamic_profiler.py +112 -79
- mindspore/profiler/envprofiler.py +26 -1
- mindspore/profiler/experimental_config.py +197 -0
- mindspore/profiler/mstx.py +57 -14
- mindspore/profiler/platform/npu_profiler.py +33 -7
- mindspore/profiler/profiler.py +541 -45
- mindspore/profiler/profiler_action_controller.py +1 -1
- mindspore/profiler/profiler_interface.py +4 -0
- mindspore/profiler/schedule.py +57 -22
- mindspore/rewrite/api/node.py +15 -13
- mindspore/rewrite/api/symbol_tree.py +1 -1
- mindspore/run_check/_check_version.py +25 -14
- mindspore/run_check/run_check.py +1 -1
- mindspore/runtime/__init__.py +2 -2
- mindspore/runtime/executor.py +40 -11
- mindspore/runtime/memory.py +25 -8
- mindspore/safeguard/rewrite_obfuscation.py +12 -9
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +35 -7
- mindspore/train/amp.py +1 -1
- mindspore/train/callback/__init__.py +2 -2
- mindspore/train/callback/_callback.py +2 -16
- mindspore/train/callback/_checkpoint.py +24 -40
- mindspore/train/callback/_cluster_monitor.py +14 -18
- mindspore/train/callback/_flops_collector.py +2 -3
- mindspore/train/callback/_history.py +7 -4
- mindspore/train/callback/_lambda_callback.py +2 -2
- mindspore/train/callback/_landscape.py +0 -3
- mindspore/train/callback/_loss_monitor.py +2 -1
- mindspore/train/callback/_on_request_exit.py +6 -5
- mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
- mindspore/train/callback/_summary_collector.py +8 -13
- mindspore/train/callback/_time_monitor.py +2 -1
- mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +179 -103
- mindspore/train/data_sink.py +25 -2
- mindspore/train/dataset_helper.py +4 -5
- mindspore/train/loss_scale_manager.py +8 -7
- mindspore/train/metrics/accuracy.py +3 -3
- mindspore/train/metrics/confusion_matrix.py +9 -9
- mindspore/train/metrics/error.py +3 -3
- mindspore/train/metrics/hausdorff_distance.py +4 -4
- mindspore/train/metrics/mean_surface_distance.py +3 -3
- mindspore/train/metrics/metric.py +0 -12
- mindspore/train/metrics/occlusion_sensitivity.py +4 -2
- mindspore/train/metrics/precision.py +8 -6
- mindspore/train/metrics/recall.py +9 -9
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +19 -12
- mindspore/train/model.py +176 -103
- mindspore/train/serialization.py +246 -988
- mindspore/train/summary/_summary_adapter.py +2 -2
- mindspore/train/summary/summary_record.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +3 -2
- mindspore/utils/dryrun.py +4 -2
- mindspore/utils/hooks.py +81 -0
- mindspore/utils/utils.py +138 -4
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +2 -1
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +483 -438
- mindspore/_install_custom.py +0 -43
- mindspore/common/_register_for_adapter.py +0 -74
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -136
- mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
- mindspore/ops_generate/gen_constants.py +0 -190
- mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
- mindspore/ops_generate/ops_primitive_h_generator.py +0 -81
- /mindspore/ops_generate/{base_generator.py → common/base_generator.py} +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/entry_points.txt +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
mindspore/ops/composite/base.py
CHANGED
|
@@ -24,6 +24,7 @@ import numpy as np
|
|
|
24
24
|
import mindspore as ms
|
|
25
25
|
from mindspore import context
|
|
26
26
|
from mindspore.common.parameter import Parameter, ParameterTuple
|
|
27
|
+
from mindspore.common.tensor import Tensor
|
|
27
28
|
from mindspore.parallel._utils import _grads_divided_by_device_num_if_recomputation
|
|
28
29
|
from mindspore._c_expression import GradOperation_, HyperMap_, Map_, MultitypeFuncGraph_, Tail_, \
|
|
29
30
|
TupleAdd_, UnpackCall_, ZipOperation_, ListAppend_, TupleGetItemTensor_, ListInsert_, \
|
|
@@ -35,7 +36,6 @@ from mindspore._c_expression import GradOperation_, HyperMap_, Map_, MultitypeFu
|
|
|
35
36
|
from mindspore.common import dtype as mstype
|
|
36
37
|
from mindspore.common.api import jit, _pynative_executor, _wrap_func
|
|
37
38
|
from mindspore.common.api import _add_flags, _core
|
|
38
|
-
from mindspore.ops.primitive import Primitive
|
|
39
39
|
from mindspore.ops import signature as sig
|
|
40
40
|
|
|
41
41
|
__all__ = [TupleAdd_, ListAdd_, UnpackCall_, TupleGetItemTensor_, SequenceSliceGetItem_,
|
|
@@ -358,16 +358,14 @@ class GradOperation(GradOperation_):
|
|
|
358
358
|
# In PYNATIVE_MODE calling Grad from functions decorated with 'jit', use the out layer after_grad do
|
|
359
359
|
# grad in GRAPH_MODE.
|
|
360
360
|
if context.get_context("mode") == context.GRAPH_MODE:
|
|
361
|
-
dynamic_shape_inputs = None
|
|
362
361
|
if isinstance(fn, ms.nn.Cell):
|
|
363
|
-
dynamic_shape_inputs = fn.get_inputs()
|
|
364
362
|
fn.grad_ops_label = True
|
|
365
363
|
if self.get_by_list:
|
|
366
|
-
@jit
|
|
364
|
+
@jit
|
|
367
365
|
def after_grad(*args, **kwargs):
|
|
368
366
|
return grad_(fn, weights)(*args, **kwargs)
|
|
369
367
|
else:
|
|
370
|
-
@jit
|
|
368
|
+
@jit
|
|
371
369
|
def after_grad(*args, **kwargs):
|
|
372
370
|
return grad_(fn)(*args, **kwargs)
|
|
373
371
|
elif self.pynative_:
|
|
@@ -578,11 +576,7 @@ class _Grad(GradOperation_):
|
|
|
578
576
|
outputs = fn(*args, **kwargs)
|
|
579
577
|
if not isinstance(outputs, tuple) or len(outputs) < 2:
|
|
580
578
|
raise ValueError("When has_aux is True, origin fn requires more than one outputs.")
|
|
581
|
-
|
|
582
|
-
stop_gradient = Primitive("StopGradient")
|
|
583
|
-
for item in outputs[1:]:
|
|
584
|
-
res += (stop_gradient(item),)
|
|
585
|
-
return res
|
|
579
|
+
return outputs
|
|
586
580
|
|
|
587
581
|
grad_ = _Grad(self.get_all, self.get_by_list, self.sens_param, self.get_by_position, self.has_aux,
|
|
588
582
|
self.get_value, self.return_ids, self.merge_forward)
|
|
@@ -592,20 +586,17 @@ class _Grad(GradOperation_):
|
|
|
592
586
|
# In PYNATIVE_MODE calling Grad from functions decorated with 'jit', use the out layer after_grad do
|
|
593
587
|
# grad in GRAPH_MODE.
|
|
594
588
|
if context.get_context("mode") == context.GRAPH_MODE:
|
|
595
|
-
dynamic_shape_inputs = None
|
|
596
|
-
if isinstance(fn, ms.nn.Cell):
|
|
597
|
-
dynamic_shape_inputs = fn.get_inputs()
|
|
598
589
|
if self.get_by_position:
|
|
599
|
-
@jit
|
|
590
|
+
@jit
|
|
600
591
|
def after_grad(*args):
|
|
601
592
|
return grad_(fn, weights, grad_position)(*args)
|
|
602
593
|
else:
|
|
603
594
|
if self.get_by_list:
|
|
604
|
-
@jit
|
|
595
|
+
@jit
|
|
605
596
|
def after_grad(*args):
|
|
606
597
|
return grad_(fn, weights)(*args)
|
|
607
598
|
else:
|
|
608
|
-
@jit
|
|
599
|
+
@jit
|
|
609
600
|
def after_grad(*args):
|
|
610
601
|
return grad_(fn)(*args)
|
|
611
602
|
elif self.pynative_:
|
|
@@ -615,9 +606,12 @@ class _Grad(GradOperation_):
|
|
|
615
606
|
@_wrap_func
|
|
616
607
|
def after_grad(*args, **kwargs):
|
|
617
608
|
run_args, res = self._pynative_forward_run(fn, grad_, weights, *args, **kwargs)
|
|
618
|
-
|
|
609
|
+
if self.has_aux:
|
|
610
|
+
out = _pynative_executor.grad_aux(fn, grad_, weights, grad_position, *run_args)
|
|
611
|
+
else:
|
|
612
|
+
out = _pynative_executor.grad(fn, grad_, weights, grad_position, *run_args)
|
|
619
613
|
out = _grads_divided_by_device_num_if_recomputation(out)
|
|
620
|
-
if self.return_ids and out:
|
|
614
|
+
if self.return_ids and (isinstance(out, Tensor) or out) and out is not None:
|
|
621
615
|
out = _combine_with_ids(grad_position, weights, out)
|
|
622
616
|
if self.get_value:
|
|
623
617
|
return res, out
|
|
@@ -820,14 +814,15 @@ class MultitypeFuncGraph(MultitypeFuncGraph_):
|
|
|
820
814
|
self.register_fn(type_names, fn)
|
|
821
815
|
self.entries.append((types, fn))
|
|
822
816
|
return fn
|
|
823
|
-
|
|
824
817
|
return deco
|
|
825
818
|
|
|
826
|
-
def
|
|
819
|
+
def _register_default(self, convert_to_interpret=True):
|
|
827
820
|
def deco(fn):
|
|
828
|
-
|
|
821
|
+
if not convert_to_interpret:
|
|
822
|
+
self.register_default_fn(fn)
|
|
823
|
+
else:
|
|
824
|
+
self.default_func = fn
|
|
829
825
|
return fn
|
|
830
|
-
|
|
831
826
|
return deco
|
|
832
827
|
|
|
833
828
|
# pylint: disable=missing-docstring
|
|
@@ -928,9 +923,9 @@ class Map(Map_):
|
|
|
928
923
|
Apply the operations to every element of the sequence.
|
|
929
924
|
|
|
930
925
|
Args:
|
|
931
|
-
ops (Union[MultitypeFuncGraph, None]): `ops` is the operation to apply. If `ops` is `None`,
|
|
926
|
+
ops (Union[MultitypeFuncGraph, None], optional): `ops` is the operation to apply. If `ops` is `None`,
|
|
932
927
|
the operations should be put in the first input of the instance. Default: ``None`` .
|
|
933
|
-
reverse (bool): The optimizer needs to be inverted in some scenarios to improve parallel performance,
|
|
928
|
+
reverse (bool, optional): The optimizer needs to be inverted in some scenarios to improve parallel performance,
|
|
934
929
|
general users please ignore. `Reverse` is the flag to decide if apply the operation reversely.
|
|
935
930
|
Only supported in graph mode. Default is ``False`` .
|
|
936
931
|
|
|
@@ -85,8 +85,9 @@ def matmul(x1, x2, dtype=None):
|
|
|
85
85
|
def mm(input, mat2):
|
|
86
86
|
r"""
|
|
87
87
|
Returns the matrix product of two arrays.
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
|
|
89
|
+
If `input` is a :math:`(n \times m)` tensor, `mat2` is a
|
|
90
|
+
:math:`(m \times p)` tensor, `out` will be a :math:`(n \times p)` tensor.
|
|
90
91
|
|
|
91
92
|
Note:
|
|
92
93
|
- This function cannot support broadcasting.
|
|
@@ -95,28 +96,17 @@ def mm(input, mat2):
|
|
|
95
96
|
|
|
96
97
|
Args:
|
|
97
98
|
input (Tensor): The first matrix of matrix multiplication.
|
|
98
|
-
The last dimension of `input` must be the same size as the first dimension of `mat2`.
|
|
99
99
|
mat2 (Tensor): The second matrix of matrix multiplication.
|
|
100
|
-
The last dimension of `input` must be the same size as the first dimension of `mat2`.
|
|
101
100
|
|
|
102
101
|
Returns:
|
|
103
|
-
Tensor or scalar
|
|
104
|
-
|
|
105
|
-
Raises:
|
|
106
|
-
ValueError: If the last dimension of `input` is not the same size as the
|
|
107
|
-
second-to-last dimension of `mat2`.
|
|
108
|
-
ValueError: If `input` or `mat2` is not a Tensor.
|
|
102
|
+
Tensor or scalar
|
|
109
103
|
|
|
110
104
|
Supported Platforms:
|
|
111
105
|
``Ascend`` ``GPU`` ``CPU``
|
|
112
106
|
|
|
113
107
|
Examples:
|
|
114
|
-
>>> import mindspore
|
|
115
|
-
>>>
|
|
116
|
-
>>> import numpy as np
|
|
117
|
-
>>> x1 = ms.Tensor(np.random.rand(2, 3), ms.float32)
|
|
118
|
-
>>> x2 = ms.Tensor(np.random.rand(3, 4), ms.float32)
|
|
119
|
-
>>> out = ops.mm(x1, x2)
|
|
108
|
+
>>> import mindspore
|
|
109
|
+
>>> out = mindspore.ops.mm(mindspore.ops.ones((2, 3)), mindspore.ops.ones((3, 4)))
|
|
120
110
|
>>> print(out.shape)
|
|
121
111
|
(2, 4)
|
|
122
112
|
"""
|
|
@@ -25,7 +25,7 @@ from mindspore.ops.composite.multitype_ops.mod_impl import mod
|
|
|
25
25
|
from mindspore.ops.composite.multitype_ops.getitem_impl import getitem
|
|
26
26
|
from mindspore.ops.composite.multitype_ops.setitem_impl import setitem
|
|
27
27
|
from mindspore.ops.composite.multitype_ops.zeros_like_impl import zeros_like
|
|
28
|
-
from mindspore.ops.composite.multitype_ops.ones_like_impl import ones_like
|
|
28
|
+
from mindspore.ops.composite.multitype_ops.ones_like_impl import ones_like, _ones_like_for_grad
|
|
29
29
|
from mindspore.ops.composite.multitype_ops.equal_impl import equal
|
|
30
30
|
from mindspore.ops.composite.multitype_ops.not_equal_impl import not_equal
|
|
31
31
|
from mindspore.ops.composite.multitype_ops.less_impl import less
|
|
@@ -44,6 +44,7 @@ from mindspore.ops.composite.multitype_ops.right_shift_impl import right_shift
|
|
|
44
44
|
from mindspore.ops.composite.multitype_ops.uadd_impl import uadd
|
|
45
45
|
from mindspore.ops.composite.multitype_ops.in_impl import in_
|
|
46
46
|
from mindspore.ops.composite.multitype_ops.not_in_impl import not_in_
|
|
47
|
+
from mindspore.ops.composite.multitype_ops.invert_impl import invert
|
|
47
48
|
__all__ = [
|
|
48
49
|
'add',
|
|
49
50
|
'sub',
|
|
@@ -73,5 +74,7 @@ __all__ = [
|
|
|
73
74
|
'left_shift',
|
|
74
75
|
'right_shift',
|
|
75
76
|
'in_',
|
|
76
|
-
'not_in_'
|
|
77
|
+
'not_in_',
|
|
78
|
+
'invert',
|
|
79
|
+
'_ones_like_for_grad'
|
|
77
80
|
]
|
|
@@ -18,7 +18,6 @@ from __future__ import absolute_import
|
|
|
18
18
|
from enum import IntEnum
|
|
19
19
|
import numpy as np
|
|
20
20
|
|
|
21
|
-
from mindspore._c_expression import Tensor as Tensor_
|
|
22
21
|
from mindspore.ops.composite.multitype_ops import _constexpr_utils as const_utils
|
|
23
22
|
from mindspore.ops import functional as F
|
|
24
23
|
from mindspore.ops import operations as P
|
|
@@ -52,8 +51,8 @@ select_view = SelectView()
|
|
|
52
51
|
copy_with_slice = CopyWithSlice()
|
|
53
52
|
|
|
54
53
|
tensor_1d = Tensor([0], dtype=mstype.int64)
|
|
55
|
-
empty_tensor_1d =
|
|
56
|
-
empty_tensor_9d =
|
|
54
|
+
empty_tensor_1d = Tensor(shape=(0,), dtype=mstype.int64)
|
|
55
|
+
empty_tensor_9d = Tensor(shape=(0,)*9, dtype=mstype.int64)
|
|
57
56
|
|
|
58
57
|
|
|
59
58
|
|
|
@@ -27,7 +27,6 @@ from mindspore.ops.operations import _inner_ops
|
|
|
27
27
|
from mindspore.ops.primitive import constexpr, _primexpr
|
|
28
28
|
from mindspore import log as logger
|
|
29
29
|
from mindspore import context
|
|
30
|
-
from mindspore._c_expression import Tensor as Tensor_
|
|
31
30
|
|
|
32
31
|
ALL_TENSOR = 0
|
|
33
32
|
NO_TENSOR = 1
|
|
@@ -201,7 +200,7 @@ def make_tensor(a, dtype=mstype.int64, data_shape=None, dim_size=None):
|
|
|
201
200
|
|
|
202
201
|
if isinstance(a, (list, tuple)):
|
|
203
202
|
if not a:
|
|
204
|
-
return
|
|
203
|
+
return Tensor(a, dtype)
|
|
205
204
|
# Convert all tuple/nested tuples to lists
|
|
206
205
|
a = _deep_list(a, dim_size)
|
|
207
206
|
# Convert all tensor sub-elements to numpy arrays
|
|
@@ -600,7 +600,8 @@ def _dict_add_dict(x, y):
|
|
|
600
600
|
hyper_add = base.HyperMap(_add_backward)
|
|
601
601
|
|
|
602
602
|
|
|
603
|
-
|
|
603
|
+
# pylint: disable=protected-access
|
|
604
|
+
@add._register_default()
|
|
604
605
|
def default_add(x, y):
|
|
605
606
|
"""Default function for add."""
|
|
606
607
|
return x + y
|
|
@@ -50,7 +50,8 @@ def _scalar_bitwise_and_tensor(x, y):
|
|
|
50
50
|
return F.bitwise_and(x, y)
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
# pylint: disable=protected-access
|
|
54
|
+
@bitwise_and._register_default()
|
|
54
55
|
def default_bitwsie_add(x, y):
|
|
55
56
|
"""Default function for bitwise_and."""
|
|
56
57
|
return x & y
|
|
@@ -50,7 +50,8 @@ def _scalar_bitwise_or_tensor(x, y):
|
|
|
50
50
|
return F.bitwise_or(x, y)
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
# pylint: disable=protected-access
|
|
54
|
+
@bitwise_or._register_default()
|
|
54
55
|
def default_bitwsie_or(x, y):
|
|
55
56
|
"""Default function for bitwise_or."""
|
|
56
57
|
return x | y
|
|
@@ -50,7 +50,8 @@ def _scalar_bitwise_xor_tensor(x, y):
|
|
|
50
50
|
return F.bitwise_xor(x, y)
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
# pylint: disable=protected-access
|
|
54
|
+
@bitwise_xor._register_default()
|
|
54
55
|
def default_bitwsie_xor(x, y):
|
|
55
56
|
"""Default function for bitwise_xor."""
|
|
56
57
|
return x ^ y
|
|
@@ -21,6 +21,7 @@ from mindspore.ops.composite.multitype_ops._constexpr_utils import log_warning,
|
|
|
21
21
|
from mindspore.ops.composite import base
|
|
22
22
|
from mindspore.ops import functional as F
|
|
23
23
|
from mindspore.common import COOTensor
|
|
24
|
+
from mindspore.ops.auto_generate import div_op
|
|
24
25
|
|
|
25
26
|
|
|
26
27
|
div = base.MultitypeFuncGraph("div", True)
|
|
@@ -84,7 +85,7 @@ def _div_tensor(x, y):
|
|
|
84
85
|
Returns:
|
|
85
86
|
Tensor, has the same dtype as x.
|
|
86
87
|
"""
|
|
87
|
-
return
|
|
88
|
+
return div_op(x, y)
|
|
88
89
|
|
|
89
90
|
|
|
90
91
|
@div.register("Number", "Tensor")
|
|
@@ -99,7 +100,7 @@ def _scalar_div_tensor(x, y):
|
|
|
99
100
|
Returns:
|
|
100
101
|
Tensor, has the same dtype as x.
|
|
101
102
|
"""
|
|
102
|
-
return
|
|
103
|
+
return div_op(x, y)
|
|
103
104
|
|
|
104
105
|
|
|
105
106
|
@div.register("Tensor", "Number")
|
|
@@ -114,7 +115,7 @@ def _tensor_div_scalar(x, y):
|
|
|
114
115
|
Returns:
|
|
115
116
|
Tensor, has the same dtype as x.
|
|
116
117
|
"""
|
|
117
|
-
return
|
|
118
|
+
return div_op(x, y)
|
|
118
119
|
|
|
119
120
|
|
|
120
121
|
@div.register("Tuple", "Tensor")
|
|
@@ -181,7 +182,8 @@ def _tensor_div_list(x, y):
|
|
|
181
182
|
return F.tensor_div(x, y)
|
|
182
183
|
|
|
183
184
|
|
|
184
|
-
|
|
185
|
+
# pylint: disable=protected-access
|
|
186
|
+
@div._register_default()
|
|
185
187
|
def default_div(x, y):
|
|
186
188
|
"""Default function for div."""
|
|
187
189
|
if y != 0:
|
|
@@ -306,7 +306,7 @@ def _number_equal_string(x, y):
|
|
|
306
306
|
|
|
307
307
|
Args:
|
|
308
308
|
x (Number): The first input which is a number.
|
|
309
|
-
y (
|
|
309
|
+
y (str): The second input which is a string.
|
|
310
310
|
|
|
311
311
|
Returns:
|
|
312
312
|
bool, return false.
|
|
@@ -320,7 +320,7 @@ def _string_equal_number(x, y):
|
|
|
320
320
|
Determine if number equal string.
|
|
321
321
|
|
|
322
322
|
Args:
|
|
323
|
-
x (
|
|
323
|
+
x (str): The first input which is a string.
|
|
324
324
|
y (Number): The second input which is a number.
|
|
325
325
|
|
|
326
326
|
Returns:
|
|
@@ -329,7 +329,8 @@ def _string_equal_number(x, y):
|
|
|
329
329
|
return False
|
|
330
330
|
|
|
331
331
|
|
|
332
|
-
|
|
332
|
+
# pylint: disable=protected-access
|
|
333
|
+
@equal._register_default()
|
|
333
334
|
def default_equal(x, y):
|
|
334
335
|
"""Default function for equal."""
|
|
335
336
|
return x == y
|
|
@@ -80,7 +80,8 @@ def _tensor_floordiv_list(x, y):
|
|
|
80
80
|
return F.tensor_floordiv(x, y)
|
|
81
81
|
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
# pylint: disable=protected-access
|
|
84
|
+
@floordiv._register_default()
|
|
84
85
|
def default_floordiv(x, y):
|
|
85
86
|
"""Default function for floordiv."""
|
|
86
87
|
if y == 0:
|
|
@@ -265,7 +265,7 @@ def _string_getitem_by_number(data, number_index):
|
|
|
265
265
|
Getting item of string by number index.
|
|
266
266
|
|
|
267
267
|
Inputs:
|
|
268
|
-
data (
|
|
268
|
+
data (str): A string.
|
|
269
269
|
number_index (Number): Index in scalar.
|
|
270
270
|
|
|
271
271
|
Outputs:
|
|
@@ -394,7 +394,8 @@ def _map_tensor_getitem(map_tensor, key_tensor):
|
|
|
394
394
|
return _map_tensor_ops.MapTensorGet(True)(map_tensor, key_tensor)
|
|
395
395
|
|
|
396
396
|
|
|
397
|
-
|
|
397
|
+
# pylint: disable=protected-access
|
|
398
|
+
@getitem._register_default()
|
|
398
399
|
def default_getitem(x, y):
|
|
399
400
|
"""Default function for getitem."""
|
|
400
401
|
return x[y]
|
|
@@ -47,8 +47,8 @@ def _greater_equal_string(x, y):
|
|
|
47
47
|
Determine whether x is greater than or equal to y.
|
|
48
48
|
|
|
49
49
|
Args:
|
|
50
|
-
x(
|
|
51
|
-
y(
|
|
50
|
+
x(str): String.
|
|
51
|
+
y(str): String.
|
|
52
52
|
|
|
53
53
|
Returns:
|
|
54
54
|
bool, if x >= y return true, x < y return false.
|
|
@@ -103,7 +103,8 @@ def _greater_equal_list(x, y):
|
|
|
103
103
|
return list_greater_equal()(x, y)
|
|
104
104
|
|
|
105
105
|
|
|
106
|
-
|
|
106
|
+
# pylint: disable=protected-access
|
|
107
|
+
@greater_equal._register_default()
|
|
107
108
|
def default_greater_equal(x, y):
|
|
108
109
|
"""Default function for greater equal."""
|
|
109
110
|
return x >= y
|
|
@@ -48,8 +48,8 @@ def _greater_string(x, y):
|
|
|
48
48
|
Determine whether x is greater than y.
|
|
49
49
|
|
|
50
50
|
Args:
|
|
51
|
-
x(
|
|
52
|
-
y(
|
|
51
|
+
x(str): String.
|
|
52
|
+
y(str): String.
|
|
53
53
|
|
|
54
54
|
Returns:
|
|
55
55
|
bool, if x > y return true, x <= y return false.
|
|
@@ -104,7 +104,8 @@ def _greater_than_list(x, y):
|
|
|
104
104
|
return list_greater_than()(x, y)
|
|
105
105
|
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
# pylint: disable=protected-access
|
|
108
|
+
@greater._register_default()
|
|
108
109
|
def default_greater(x, y):
|
|
109
110
|
"""Default function for greater."""
|
|
110
111
|
return x > y
|
|
@@ -190,7 +190,8 @@ def _mstype_in_tuple(x, y):
|
|
|
190
190
|
return const_utils.check_in_sequence(x, y)
|
|
191
191
|
|
|
192
192
|
|
|
193
|
-
|
|
193
|
+
# pylint: disable=protected-access
|
|
194
|
+
@in_._register_default()
|
|
194
195
|
def default_in(x, y):
|
|
195
196
|
"""Default function for in."""
|
|
196
197
|
return x in y
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
"""Implementation for internal polymorphism `invert` operations."""
|
|
17
|
+
from mindspore.ops.composite import base
|
|
18
|
+
from mindspore.ops import functional as F
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
invert = base.MultitypeFuncGraph('invert', True)
|
|
22
|
+
|
|
23
|
+
@invert.register("Number")
|
|
24
|
+
def _invert_scalar(x):
|
|
25
|
+
"""
|
|
26
|
+
return the inverted value of x.
|
|
27
|
+
|
|
28
|
+
Args:
|
|
29
|
+
x (Number): x
|
|
30
|
+
Returns:
|
|
31
|
+
Number. Equal to -x-1, has the same type of x.
|
|
32
|
+
"""
|
|
33
|
+
if isinstance(x, bool):
|
|
34
|
+
if x:
|
|
35
|
+
return -2
|
|
36
|
+
return -1
|
|
37
|
+
if not isinstance(x, int):
|
|
38
|
+
raise TypeError(f"bad operand type for unary ~: '{type(x)}")
|
|
39
|
+
return -x-1
|
|
40
|
+
|
|
41
|
+
@invert.register("Tensor")
|
|
42
|
+
def _invert_tensor(x):
|
|
43
|
+
"""
|
|
44
|
+
return the inverted tensor of x.
|
|
45
|
+
Arg:
|
|
46
|
+
x (Tensor): x
|
|
47
|
+
Returns:
|
|
48
|
+
Tensor.
|
|
49
|
+
"""
|
|
50
|
+
return F.logical_not(x)
|
|
@@ -31,7 +31,8 @@ def _left_shift_scalar(x, y):
|
|
|
31
31
|
return inner.bit_left_shift(x, y)
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
# pylint: disable=protected-access
|
|
35
|
+
@left_shift._register_default()
|
|
35
36
|
def default_left_shift(x, y):
|
|
36
37
|
"""Default function for left shift."""
|
|
37
38
|
return x << y
|
|
@@ -49,8 +49,8 @@ def _less_equal_string(x, y):
|
|
|
49
49
|
Determine whether x is less than or equal to y.
|
|
50
50
|
|
|
51
51
|
Args:
|
|
52
|
-
x(
|
|
53
|
-
y(
|
|
52
|
+
x(str): String.
|
|
53
|
+
y(str): String.
|
|
54
54
|
|
|
55
55
|
Returns:
|
|
56
56
|
bool, if x <= y return true, x > y return false.
|
|
@@ -105,7 +105,8 @@ def _less_equal_list(x, y):
|
|
|
105
105
|
return _seq.list_le()(x, y)
|
|
106
106
|
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
# pylint: disable=protected-access
|
|
109
|
+
@less_equal._register_default()
|
|
109
110
|
def default_less_equal(x, y):
|
|
110
111
|
"""Default function for less equal."""
|
|
111
112
|
return x <= y
|
|
@@ -50,8 +50,8 @@ def _less_string(x, y):
|
|
|
50
50
|
Determine whether x is less than y.
|
|
51
51
|
|
|
52
52
|
Args:
|
|
53
|
-
x(
|
|
54
|
-
y(
|
|
53
|
+
x(str): String.
|
|
54
|
+
y(str): String.
|
|
55
55
|
|
|
56
56
|
Returns:
|
|
57
57
|
bool, if x < y return true, x >= y return false.
|
|
@@ -106,7 +106,8 @@ def _less_list(x, y):
|
|
|
106
106
|
return _seq.list_lt()(x, y)
|
|
107
107
|
|
|
108
108
|
|
|
109
|
-
|
|
109
|
+
# pylint: disable=protected-access
|
|
110
|
+
@less._register_default()
|
|
110
111
|
def default_less(x, y):
|
|
111
112
|
"""Default function for less."""
|
|
112
113
|
return x < y
|
|
@@ -43,7 +43,7 @@ def _logical_not_string(x):
|
|
|
43
43
|
Return logical not operation result of x.
|
|
44
44
|
|
|
45
45
|
Args:
|
|
46
|
-
x(
|
|
46
|
+
x(str): String.
|
|
47
47
|
|
|
48
48
|
Returns:
|
|
49
49
|
bool, Return logical not operation result of x.
|
|
@@ -107,7 +107,8 @@ def _logical_not_list(x):
|
|
|
107
107
|
return x.__len__() == 0
|
|
108
108
|
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
# pylint: disable=protected-access
|
|
111
|
+
@logical_not._register_default()
|
|
111
112
|
def default_logical_not(x):
|
|
112
113
|
"""Default function for logical not."""
|
|
113
114
|
return not x
|
|
@@ -54,7 +54,8 @@ def _logical_and_tensor(x, y):
|
|
|
54
54
|
return F.logical_and(x, y)
|
|
55
55
|
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
# pylint: disable=protected-access
|
|
58
|
+
@logical_and._register_default()
|
|
58
59
|
def default_logical_and(x, y):
|
|
59
60
|
"""Default function for logical and."""
|
|
60
61
|
return x and y
|
|
@@ -55,7 +55,8 @@ def _logical_or_tensor(x, y):
|
|
|
55
55
|
return F.logical_or(x, y)
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
# pylint: disable=protected-access
|
|
59
|
+
@logical_or._register_default()
|
|
59
60
|
def default_logical_or(x, y):
|
|
60
61
|
"""Default function for logical or."""
|
|
61
62
|
return x or y
|
|
@@ -71,7 +71,7 @@ def _tensor_mul_scalar(x, y):
|
|
|
71
71
|
Outputs:
|
|
72
72
|
Tensor, has the same dtype as x.
|
|
73
73
|
"""
|
|
74
|
-
return F.
|
|
74
|
+
return F.tensor_muls(x, y)
|
|
75
75
|
|
|
76
76
|
|
|
77
77
|
@mul.register("Number", "String")
|
|
@@ -288,7 +288,8 @@ def _tensor_mul_cootensor(x, y):
|
|
|
288
288
|
return COOTensor(y.indices, y.values * other_values, y.shape)
|
|
289
289
|
|
|
290
290
|
|
|
291
|
-
|
|
291
|
+
# pylint: disable=protected-access
|
|
292
|
+
@mul._register_default()
|
|
292
293
|
def default_mul(x, y):
|
|
293
294
|
"""Default function for mul."""
|
|
294
295
|
return x * y
|
|
@@ -73,7 +73,8 @@ def _negative_cootensor(x):
|
|
|
73
73
|
return COOTensor(x.indices, F.neg(x.values), x.shape)
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
# pylint: disable=protected-access
|
|
77
|
+
@negative._register_default()
|
|
77
78
|
def default_negative(x):
|
|
78
79
|
"""Default function for negative."""
|
|
79
80
|
return -x
|
|
@@ -284,7 +284,8 @@ def _none_not_equal_list(x, y):
|
|
|
284
284
|
return True
|
|
285
285
|
|
|
286
286
|
|
|
287
|
-
|
|
287
|
+
# pylint: disable=protected-access
|
|
288
|
+
@not_equal._register_default()
|
|
288
289
|
def default_not_equal(x, y):
|
|
289
290
|
"""Default function for not equal."""
|
|
290
291
|
return x != y
|
|
@@ -190,7 +190,8 @@ def _mstype_not_in_tuple(x, y):
|
|
|
190
190
|
return not const_utils.check_in_sequence(x, y)
|
|
191
191
|
|
|
192
192
|
|
|
193
|
-
|
|
193
|
+
# pylint: disable=protected-access
|
|
194
|
+
@not_in_._register_default()
|
|
194
195
|
def default_not_in(x, y):
|
|
195
196
|
"""Default function for not in."""
|
|
196
197
|
return x not in y
|