mindspore 2.6.0rc1__cp39-cp39-win_amd64.whl → 2.7.0rc1__cp39-cp39-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/__init__.py +1 -1
- mindspore/_c_dataengine.cp39-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp39-win_amd64.pyd +0 -0
- mindspore/_checkparam.py +40 -9
- mindspore/{_deprecated → _extends/optimize}/__init__.py +9 -3
- mindspore/_extends/optimize/cell_utils.py +96 -0
- mindspore/_extends/parse/__init__.py +2 -2
- mindspore/_extends/parse/compile_config.py +44 -22
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +1 -1
- mindspore/_extends/parse/parser.py +37 -62
- mindspore/_extends/parse/resources.py +39 -0
- mindspore/_extends/parse/standard_method.py +43 -13
- mindspore/_extends/parse/trope.py +8 -1
- mindspore/_extends/pijit/__init__.py +1 -2
- mindspore/amp.py +4 -4
- 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/adasum.py +1 -1
- mindspore/boost/boost_cell_wrapper.py +4 -4
- mindspore/common/__init__.py +27 -2
- mindspore/common/_grad_function.py +2 -1
- mindspore/common/_pijit_context.py +28 -7
- mindspore/common/_stub_tensor.py +1 -209
- mindspore/common/_tensor_cpp_method.py +1 -1
- mindspore/common/_tensor_docs.py +77 -16
- mindspore/common/api.py +238 -113
- mindspore/common/dtype.py +21 -11
- mindspore/common/dump.py +10 -15
- mindspore/common/generator.py +5 -3
- mindspore/common/hook_handle.py +11 -2
- mindspore/common/jit_config.py +1 -1
- mindspore/common/jit_trace.py +84 -105
- mindspore/common/parameter.py +26 -12
- mindspore/common/recompute.py +3 -3
- mindspore/common/sparse_tensor.py +0 -3
- mindspore/common/symbol.py +0 -1
- mindspore/common/tensor.py +81 -81
- mindspore/communication/_comm_helper.py +46 -4
- mindspore/communication/management.py +79 -7
- mindspore/context.py +58 -40
- mindspore/dataset/core/config.py +3 -3
- mindspore/dataset/engine/datasets.py +20 -7
- mindspore/dataset/engine/datasets_user_defined.py +33 -3
- mindspore/dataset/engine/iterators.py +2 -2
- mindspore/dataset/engine/obs/config_loader.py +2 -2
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +8 -0
- mindspore/dataset/transforms/py_transforms.py +7 -3
- mindspore/dataset/transforms/transforms.py +7 -3
- mindspore/dataset/vision/validators.py +1 -0
- mindspore/device_context/ascend/device.py +1 -1
- mindspore/device_context/gpu/__init__.py +2 -2
- mindspore/device_context/gpu/device.py +1 -1
- mindspore/device_context/gpu/op_precision.py +4 -2
- mindspore/device_context/gpu/op_tuning.py +6 -3
- mindspore/device_manager.py +16 -9
- mindspore/dnnl.dll +0 -0
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +3 -7
- mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
- mindspore/experimental/optim/adadelta.py +13 -20
- mindspore/experimental/optim/adagrad.py +15 -22
- mindspore/experimental/optim/adam.py +17 -24
- mindspore/experimental/optim/adamax.py +14 -22
- mindspore/experimental/optim/adamw.py +28 -34
- mindspore/experimental/optim/asgd.py +15 -25
- mindspore/experimental/optim/lr_scheduler.py +27 -45
- mindspore/experimental/optim/nadam.py +14 -24
- mindspore/experimental/optim/optimizer.py +13 -23
- mindspore/experimental/optim/radam.py +18 -24
- mindspore/experimental/optim/rmsprop.py +14 -25
- mindspore/experimental/optim/rprop.py +15 -26
- mindspore/experimental/optim/sgd.py +9 -19
- mindspore/hal/__init__.py +4 -4
- mindspore/hal/contiguous_tensors_handle.py +2 -2
- mindspore/hal/memory.py +27 -7
- mindspore/include/api/cell.h +37 -1
- mindspore/include/api/delegate.h +10 -0
- mindspore/include/api/model.h +3 -0
- mindspore/include/api/types.h +2 -2
- mindspore/include/c_api/model_c.h +0 -58
- mindspore/include/c_api/tensor_c.h +0 -26
- mindspore/include/dataset/vision_ascend.h +1 -1
- mindspore/jpeg62.dll +0 -0
- mindspore/mindrecord/tools/cifar10.py +60 -11
- mindspore/mindrecord/tools/cifar10_to_mr.py +5 -0
- 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_cpu_res_manager.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_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 +6 -46
- mindspore/mint/distributed/__init__.py +1 -0
- mindspore/mint/distributed/distributed.py +212 -9
- mindspore/mint/nn/__init__.py +1 -1
- mindspore/mint/nn/functional.py +53 -6
- mindspore/mint/nn/layer/_functions.py +164 -294
- mindspore/mint/nn/layer/activation.py +8 -6
- mindspore/mint/nn/layer/conv.py +137 -101
- mindspore/mint/nn/layer/normalization.py +8 -22
- mindspore/mint/optim/adam.py +19 -18
- mindspore/mint/optim/adamw.py +14 -8
- mindspore/mint/optim/sgd.py +5 -5
- mindspore/nn/cell.py +328 -502
- mindspore/nn/grad/cell_grad.py +11 -12
- mindspore/nn/layer/activation.py +32 -34
- mindspore/nn/layer/basic.py +67 -64
- mindspore/nn/layer/channel_shuffle.py +4 -4
- mindspore/nn/layer/combined.py +4 -2
- mindspore/nn/layer/conv.py +117 -110
- mindspore/nn/layer/dense.py +9 -7
- mindspore/nn/layer/embedding.py +50 -52
- mindspore/nn/layer/image.py +37 -39
- mindspore/nn/layer/math.py +111 -112
- mindspore/nn/layer/normalization.py +56 -44
- mindspore/nn/layer/pooling.py +58 -63
- mindspore/nn/layer/rnn_cells.py +33 -33
- mindspore/nn/layer/rnns.py +56 -56
- mindspore/nn/layer/thor_layer.py +74 -73
- mindspore/nn/layer/transformer.py +11 -1
- mindspore/nn/learning_rate_schedule.py +20 -20
- mindspore/nn/loss/loss.py +79 -81
- mindspore/nn/optim/adam.py +3 -3
- mindspore/nn/optim/adasum.py +2 -2
- mindspore/nn/optim/asgd.py +2 -0
- mindspore/nn/optim/optimizer.py +1 -1
- mindspore/nn/optim/thor.py +2 -2
- mindspore/nn/probability/distribution/exponential.py +2 -1
- mindspore/nn/probability/distribution/poisson.py +2 -1
- mindspore/nn/sparse/sparse.py +3 -3
- mindspore/nn/wrap/cell_wrapper.py +34 -37
- mindspore/nn/wrap/grad_reducer.py +37 -37
- mindspore/nn/wrap/loss_scale.py +72 -74
- mindspore/numpy/array_creations.py +5 -5
- mindspore/numpy/fft.py +1 -1
- mindspore/numpy/math_ops.py +5 -5
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/_grad_experimental/grad_comm_ops.py +51 -13
- mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -0
- mindspore/ops/_vmap/vmap_array_ops.py +31 -13
- mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +42 -11
- mindspore/ops/auto_generate/gen_extend_func.py +23 -141
- mindspore/ops/auto_generate/gen_ops_def.py +727 -321
- mindspore/ops/auto_generate/gen_ops_prim.py +1721 -984
- mindspore/ops/auto_generate/pyboost_inner_prim.py +31 -1
- mindspore/ops/composite/__init__.py +10 -0
- mindspore/ops/composite/base.py +8 -4
- mindspore/ops/composite/multitype_ops/__init__.py +12 -1
- mindspore/ops/composite/multitype_ops/_compile_utils.py +133 -109
- mindspore/ops/composite/multitype_ops/add_impl.py +70 -2
- mindspore/ops/composite/multitype_ops/div_impl.py +49 -0
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +29 -0
- mindspore/ops/composite/multitype_ops/getitem_impl.py +11 -0
- mindspore/ops/composite/multitype_ops/mod_impl.py +5 -3
- mindspore/ops/composite/multitype_ops/mul_impl.py +49 -0
- mindspore/ops/composite/multitype_ops/setitem_impl.py +57 -0
- mindspore/ops/composite/multitype_ops/sub_impl.py +34 -0
- mindspore/ops/composite/multitype_ops/zeros_like_impl.py +14 -0
- mindspore/ops/function/__init__.py +3 -1
- mindspore/ops/function/_add_attr_func.py +11 -6
- mindspore/ops/function/array_func.py +9 -96
- mindspore/ops/function/debug_func.py +4 -3
- mindspore/ops/function/grad/grad_func.py +1 -1
- mindspore/ops/function/math_func.py +33 -540
- mindspore/ops/function/nn_func.py +28 -74
- mindspore/ops/function/other_func.py +4 -1
- mindspore/ops/function/random_func.py +44 -5
- mindspore/ops/function/vmap_func.py +2 -1
- mindspore/ops/functional.py +2 -3
- mindspore/ops/functional_overload.py +571 -6
- mindspore/ops/op_info_register.py +21 -0
- mindspore/ops/operations/__init__.py +16 -11
- mindspore/ops/operations/_custom_ops_utils.py +689 -34
- mindspore/ops/operations/_inner_ops.py +3 -6
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/array_ops.py +2 -2
- mindspore/ops/operations/comm_ops.py +185 -26
- mindspore/ops/operations/custom_ops.py +294 -174
- mindspore/ops/operations/debug_ops.py +59 -4
- mindspore/ops/operations/image_ops.py +13 -13
- mindspore/ops/operations/manually_defined/ops_def.py +15 -16
- mindspore/ops/operations/math_ops.py +3 -4
- mindspore/ops/operations/nn_ops.py +7 -39
- mindspore/ops/primitive.py +6 -10
- mindspore/ops/tensor_method.py +47 -8
- mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +1 -1
- mindspore/ops_generate/api/functional_map_cpp_generator.py +10 -9
- mindspore/ops_generate/api/functions_cc_generator.py +58 -10
- mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +1 -1
- mindspore/ops_generate/common/base_generator.py +14 -0
- mindspore/ops_generate/common/gen_constants.py +8 -3
- mindspore/ops_generate/common/gen_utils.py +0 -19
- mindspore/ops_generate/common/op_proto.py +11 -4
- mindspore/ops_generate/common/template.py +88 -11
- mindspore/ops_generate/gen_ops.py +1 -1
- mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +4 -4
- mindspore/ops_generate/op_def/ops_def_cc_generator.py +0 -3
- mindspore/ops_generate/op_def/ops_name_h_generator.py +0 -3
- mindspore/ops_generate/op_def/ops_primitive_h_generator.py +0 -4
- mindspore/ops_generate/op_def_py/op_prim_py_generator.py +5 -2
- mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +49 -8
- mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +2 -2
- mindspore/ops_generate/pyboost/gen_pyboost_func.py +31 -0
- mindspore/ops_generate/pyboost/op_template_parser.py +98 -72
- mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +70 -273
- mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +14 -6
- mindspore/ops_generate/pyboost/pyboost_functions_impl_cpp_generator.py +316 -0
- mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +1 -1
- mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +5 -3
- mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +1 -1
- mindspore/ops_generate/pyboost/pyboost_internal_functions_cpp_generator.py +76 -0
- mindspore/ops_generate/pyboost/pyboost_internal_functions_h_generator.py +76 -0
- mindspore/ops_generate/pyboost/pyboost_internal_kernel_info_adapter_generator.py +125 -0
- mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +4 -3
- mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +348 -61
- mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +1 -1
- mindspore/ops_generate/pyboost/pyboost_utils.py +118 -9
- mindspore/ops_generate/tensor_py_cc_generator.py +1 -24
- mindspore/parallel/_auto_parallel_context.py +11 -8
- mindspore/parallel/_cell_wrapper.py +113 -45
- mindspore/parallel/_parallel_serialization.py +1 -1
- mindspore/parallel/_ps_context.py +4 -6
- mindspore/parallel/_tensor.py +167 -12
- mindspore/parallel/_transformer/moe.py +1 -1
- mindspore/parallel/_transformer/transformer.py +13 -8
- mindspore/parallel/auto_parallel.py +14 -7
- mindspore/parallel/checkpoint_convert.py +3 -3
- mindspore/parallel/checkpoint_transform.py +11 -7
- mindspore/parallel/cluster/process_entity/_api.py +84 -48
- mindspore/parallel/cluster/process_entity/_utils.py +95 -7
- mindspore/parallel/cluster/run.py +43 -4
- mindspore/parallel/function/__init__.py +8 -1
- mindspore/parallel/function/reshard_func.py +6 -7
- mindspore/parallel/nn/__init__.py +15 -2
- mindspore/parallel/nn/parallel_cell_wrapper.py +9 -10
- mindspore/parallel/nn/parallel_grad_reducer.py +7 -6
- mindspore/parallel/shard.py +3 -4
- mindspore/parallel/transform_safetensors.py +463 -174
- mindspore/profiler/__init__.py +2 -1
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -7
- mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +3 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +12 -6
- mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +4 -4
- mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +4 -1
- mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +2 -1
- mindspore/profiler/analysis/task_manager.py +1 -1
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +5 -1
- mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +2 -1
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +42 -22
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +3 -2
- mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +9 -5
- mindspore/profiler/analysis/viewer/ms_operator_details_viewer.py +132 -0
- mindspore/profiler/common/constant.py +16 -0
- mindspore/profiler/common/profiler_context.py +25 -27
- mindspore/profiler/common/profiler_info.py +0 -16
- mindspore/profiler/common/profiler_op_analyse.py +235 -0
- mindspore/profiler/common/profiler_output_path.py +23 -8
- mindspore/profiler/common/profiler_parameters.py +128 -35
- mindspore/profiler/dynamic_profile/__init__.py +0 -0
- mindspore/profiler/dynamic_profile/dynamic_monitor_proxy.py +39 -0
- mindspore/profiler/dynamic_profile/dynamic_profiler_config_context.py +666 -0
- mindspore/profiler/dynamic_profile/dynamic_profiler_utils.py +62 -0
- mindspore/profiler/dynamic_profiler.py +305 -314
- mindspore/profiler/envprofiler.py +12 -7
- mindspore/profiler/experimental_config.py +96 -6
- mindspore/profiler/mstx.py +33 -12
- mindspore/profiler/platform/__init__.py +2 -3
- mindspore/profiler/platform/npu_profiler.py +29 -19
- mindspore/profiler/profiler.py +35 -19
- mindspore/profiler/profiler_action_controller.py +64 -76
- mindspore/profiler/schedule.py +10 -4
- mindspore/rewrite/common/config.py +1 -0
- mindspore/rewrite/common/namer.py +1 -0
- mindspore/rewrite/common/namespace.py +1 -0
- mindspore/rewrite/node/node.py +31 -11
- mindspore/rewrite/parsers/assign_parser.py +1 -1
- mindspore/rewrite/symbol_tree/symbol_tree.py +1 -1
- mindspore/run_check/_check_version.py +7 -10
- mindspore/runtime/__init__.py +5 -5
- mindspore/runtime/event.py +10 -4
- mindspore/runtime/executor.py +60 -45
- mindspore/runtime/memory.py +30 -32
- mindspore/runtime/thread_bind_core.py +298 -164
- mindspore/safeguard/rewrite_obfuscation.py +12 -13
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/_utils.py +14 -4
- mindspore/train/amp.py +43 -20
- mindspore/train/callback/__init__.py +5 -5
- mindspore/train/callback/_checkpoint.py +3 -6
- mindspore/train/callback/_flops_collector.py +1 -1
- mindspore/train/callback/_landscape.py +0 -1
- mindspore/train/callback/_train_fault_tolerance.py +97 -16
- mindspore/train/data_sink.py +11 -2
- mindspore/train/dataset_helper.py +9 -0
- mindspore/train/model.py +135 -55
- mindspore/train/serialization.py +133 -111
- mindspore/train/summary/summary_record.py +13 -2
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +3 -2
- mindspore/utils/dryrun.py +0 -6
- mindspore/utils/runtime_execution_order_check.py +163 -77
- mindspore/utils/sdc_detect.py +68 -0
- mindspore/utils/utils.py +6 -9
- mindspore/version.py +1 -1
- {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/METADATA +5 -4
- {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/RECORD +333 -371
- mindspore/_deprecated/jit.py +0 -198
- mindspore/experimental/es/__init__.py +0 -22
- mindspore/experimental/es/embedding_service.py +0 -891
- mindspore/experimental/es/embedding_service_layer.py +0 -581
- mindspore/profiler/parser/__init__.py +0 -14
- mindspore/profiler/parser/aicpu_data_parser.py +0 -272
- mindspore/profiler/parser/ascend_analysis/__init__.py +0 -14
- mindspore/profiler/parser/ascend_analysis/constant.py +0 -71
- mindspore/profiler/parser/ascend_analysis/file_manager.py +0 -180
- mindspore/profiler/parser/ascend_analysis/function_event.py +0 -185
- mindspore/profiler/parser/ascend_analysis/fwk_cann_parser.py +0 -136
- mindspore/profiler/parser/ascend_analysis/fwk_file_parser.py +0 -131
- mindspore/profiler/parser/ascend_analysis/msprof_timeline_parser.py +0 -104
- mindspore/profiler/parser/ascend_analysis/path_manager.py +0 -313
- mindspore/profiler/parser/ascend_analysis/profiler_info_parser.py +0 -123
- mindspore/profiler/parser/ascend_analysis/tlv_decoder.py +0 -86
- mindspore/profiler/parser/ascend_analysis/trace_event_manager.py +0 -75
- mindspore/profiler/parser/ascend_cluster_generator.py +0 -116
- mindspore/profiler/parser/ascend_communicate_generator.py +0 -314
- mindspore/profiler/parser/ascend_flops_generator.py +0 -116
- mindspore/profiler/parser/ascend_fpbp_generator.py +0 -82
- mindspore/profiler/parser/ascend_hccl_generator.py +0 -271
- mindspore/profiler/parser/ascend_integrate_generator.py +0 -42
- mindspore/profiler/parser/ascend_memory_generator.py +0 -185
- mindspore/profiler/parser/ascend_msprof_exporter.py +0 -282
- mindspore/profiler/parser/ascend_msprof_generator.py +0 -187
- mindspore/profiler/parser/ascend_op_generator.py +0 -334
- mindspore/profiler/parser/ascend_steptrace_generator.py +0 -94
- mindspore/profiler/parser/ascend_timeline_generator.py +0 -545
- mindspore/profiler/parser/base_timeline_generator.py +0 -483
- mindspore/profiler/parser/container.py +0 -229
- mindspore/profiler/parser/cpu_gpu_timeline_generator.py +0 -697
- mindspore/profiler/parser/flops_parser.py +0 -531
- mindspore/profiler/parser/framework_enum.py +0 -111
- mindspore/profiler/parser/framework_parser.py +0 -464
- mindspore/profiler/parser/framework_struct.py +0 -61
- mindspore/profiler/parser/gpu_analysis/__init__.py +0 -14
- mindspore/profiler/parser/gpu_analysis/function_event.py +0 -44
- mindspore/profiler/parser/gpu_analysis/fwk_file_parser.py +0 -89
- mindspore/profiler/parser/gpu_analysis/profiler_info_parser.py +0 -72
- mindspore/profiler/parser/hccl_parser.py +0 -573
- mindspore/profiler/parser/hwts_log_parser.py +0 -122
- mindspore/profiler/parser/integrator.py +0 -526
- mindspore/profiler/parser/memory_usage_parser.py +0 -277
- mindspore/profiler/parser/minddata_analyzer.py +0 -800
- mindspore/profiler/parser/minddata_parser.py +0 -186
- mindspore/profiler/parser/minddata_pipeline_parser.py +0 -299
- mindspore/profiler/parser/op_intermediate_parser.py +0 -149
- mindspore/profiler/parser/optime_parser.py +0 -250
- mindspore/profiler/parser/profiler_info.py +0 -213
- mindspore/profiler/parser/step_trace_parser.py +0 -666
- {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/entry_points.txt +0 -0
- {mindspore-2.6.0rc1.dist-info → mindspore-2.7.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -20,9 +20,19 @@ from mindspore.ops.composite.multitype_ops import _compile_utils as utils
|
|
|
20
20
|
from mindspore.ops.composite import base
|
|
21
21
|
from mindspore.ops import functional as F
|
|
22
22
|
from mindspore.ops.composite.multitype_ops._constexpr_utils import make_tensor, check_equal
|
|
23
|
+
from mindspore.ops.auto_generate.gen_ops_prim import InplaceAddExt, InplaceAddsExt
|
|
23
24
|
from mindspore.common import CSRTensor, COOTensor
|
|
24
25
|
from ...operations._sequence_ops import SequenceAdd
|
|
25
26
|
|
|
27
|
+
# x += y
|
|
28
|
+
augassign_add = base.MultitypeFuncGraph('augassign_add', True)
|
|
29
|
+
"""
|
|
30
|
+
`augassign_add` is a metafuncgraph object which will add two objects according to input type using ".register"
|
|
31
|
+
decorator.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
augassign_add.set_need_raise()
|
|
35
|
+
|
|
26
36
|
|
|
27
37
|
add = base.MultitypeFuncGraph('add', True)
|
|
28
38
|
"""`add` is a metafuncgraph object which will add two objects according to input type using ".register" decorator."""
|
|
@@ -103,7 +113,7 @@ class _ListAdd(base.ListAdd_):
|
|
|
103
113
|
_list_add = _ListAdd('list_add')
|
|
104
114
|
"""`_list_add` is an metafuncgraph object which will concatenate two lists to form a list."""
|
|
105
115
|
|
|
106
|
-
|
|
116
|
+
@augassign_add.register("Number", "Number")
|
|
107
117
|
@add.register("Number", "Number")
|
|
108
118
|
@_add_backward.register("Number", "Number")
|
|
109
119
|
def _scalar_add_scalar(x, y):
|
|
@@ -119,7 +129,7 @@ def _scalar_add_scalar(x, y):
|
|
|
119
129
|
"""
|
|
120
130
|
return F.scalar_add(x, y)
|
|
121
131
|
|
|
122
|
-
|
|
132
|
+
@augassign_add.register("String", "String")
|
|
123
133
|
@add.register("String", "String")
|
|
124
134
|
def _string_concat_string(x, y):
|
|
125
135
|
"""
|
|
@@ -135,6 +145,7 @@ def _string_concat_string(x, y):
|
|
|
135
145
|
return F.string_concat(x, y)
|
|
136
146
|
|
|
137
147
|
|
|
148
|
+
@augassign_add.register("Number", "Tensor")
|
|
138
149
|
@add.register("Number", "Tensor")
|
|
139
150
|
def _scalar_add_tensor(x, y):
|
|
140
151
|
"""
|
|
@@ -150,6 +161,21 @@ def _scalar_add_tensor(x, y):
|
|
|
150
161
|
return F.add(x, y)
|
|
151
162
|
|
|
152
163
|
|
|
164
|
+
@augassign_add.register("Tensor", "Number")
|
|
165
|
+
def _tensor_add_scalar_augassign(x, y):
|
|
166
|
+
"""
|
|
167
|
+
Tensor is added to number.
|
|
168
|
+
|
|
169
|
+
Args:
|
|
170
|
+
x (Tensor): x
|
|
171
|
+
y (Number): The dtype is same as x.
|
|
172
|
+
|
|
173
|
+
Returns:
|
|
174
|
+
Tensor, has the same dtype as x.
|
|
175
|
+
"""
|
|
176
|
+
return InplaceAddsExt()(x, y)
|
|
177
|
+
|
|
178
|
+
|
|
153
179
|
@add.register("Tensor", "Number")
|
|
154
180
|
def _tensor_add_scalar(x, y):
|
|
155
181
|
"""
|
|
@@ -165,6 +191,7 @@ def _tensor_add_scalar(x, y):
|
|
|
165
191
|
return F.add(x, y)
|
|
166
192
|
|
|
167
193
|
|
|
194
|
+
@augassign_add.register("Tuple", "Tensor")
|
|
168
195
|
@add.register("Tuple", "Tensor")
|
|
169
196
|
def _tuple_add_tensor(x, y):
|
|
170
197
|
"""
|
|
@@ -181,6 +208,7 @@ def _tuple_add_tensor(x, y):
|
|
|
181
208
|
return F.tensor_add(x, y)
|
|
182
209
|
|
|
183
210
|
|
|
211
|
+
@augassign_add.register("Tensor", "Tuple")
|
|
184
212
|
@add.register("Tensor", "Tuple")
|
|
185
213
|
def _tensor_add_tuple(x, y):
|
|
186
214
|
"""
|
|
@@ -197,6 +225,7 @@ def _tensor_add_tuple(x, y):
|
|
|
197
225
|
return F.tensor_add(x, y)
|
|
198
226
|
|
|
199
227
|
|
|
228
|
+
@augassign_add.register("List", "Tensor")
|
|
200
229
|
@add.register("List", "Tensor")
|
|
201
230
|
def _list_add_tensor(x, y):
|
|
202
231
|
"""
|
|
@@ -213,6 +242,7 @@ def _list_add_tensor(x, y):
|
|
|
213
242
|
return F.tensor_add(x, y)
|
|
214
243
|
|
|
215
244
|
|
|
245
|
+
@augassign_add.register("Tensor", "List")
|
|
216
246
|
@add.register("Tensor", "List")
|
|
217
247
|
def _tensor_add_list(x, y):
|
|
218
248
|
"""
|
|
@@ -229,6 +259,7 @@ def _tensor_add_list(x, y):
|
|
|
229
259
|
return F.tensor_add(x, y)
|
|
230
260
|
|
|
231
261
|
|
|
262
|
+
@augassign_add.register("List", "List")
|
|
232
263
|
@add.register("List", "List")
|
|
233
264
|
def _list_add_list(x, y):
|
|
234
265
|
"""
|
|
@@ -246,6 +277,21 @@ def _list_add_list(x, y):
|
|
|
246
277
|
return _list_add(x, y)
|
|
247
278
|
|
|
248
279
|
|
|
280
|
+
@augassign_add.register("Tensor", "Tensor")
|
|
281
|
+
def _tensor_add_tensor_augassign(x, y):
|
|
282
|
+
"""
|
|
283
|
+
Returns x + y element-wise.
|
|
284
|
+
|
|
285
|
+
Args:
|
|
286
|
+
x (Tensor): x
|
|
287
|
+
y (Tensor): The dtype is same as x.
|
|
288
|
+
|
|
289
|
+
Returns:
|
|
290
|
+
Tensor, has the same dtype as x.
|
|
291
|
+
"""
|
|
292
|
+
return InplaceAddExt()(x, y)
|
|
293
|
+
|
|
294
|
+
|
|
249
295
|
@add.register("Tensor", "Tensor")
|
|
250
296
|
def _tensor_add_tensor(x, y):
|
|
251
297
|
"""
|
|
@@ -261,6 +307,7 @@ def _tensor_add_tensor(x, y):
|
|
|
261
307
|
return F.add(x, y)
|
|
262
308
|
|
|
263
309
|
|
|
310
|
+
@augassign_add.register("RowTensor", "Tensor")
|
|
264
311
|
@add.register("RowTensor", "Tensor")
|
|
265
312
|
def add_rowtensor_tensor(x, y):
|
|
266
313
|
"""
|
|
@@ -306,6 +353,7 @@ def _add_env(x, y):
|
|
|
306
353
|
return F.environ_add(x, y)
|
|
307
354
|
|
|
308
355
|
|
|
356
|
+
@augassign_add.register("Tuple", "Tuple")
|
|
309
357
|
@add.register("Tuple", "Tuple")
|
|
310
358
|
def _add_tuple(x, y):
|
|
311
359
|
"""
|
|
@@ -323,6 +371,7 @@ def _add_tuple(x, y):
|
|
|
323
371
|
return _tuple_add(x, y)
|
|
324
372
|
|
|
325
373
|
|
|
374
|
+
@augassign_add.register("CSRTensor", "CSRTensor")
|
|
326
375
|
@add.register("CSRTensor", "CSRTensor")
|
|
327
376
|
def _add_csrtensor(x, y):
|
|
328
377
|
"""
|
|
@@ -340,6 +389,7 @@ def _add_csrtensor(x, y):
|
|
|
340
389
|
return F.csr_add(x, y, make_tensor(1, x.values.dtype), make_tensor(1, x.values.dtype))
|
|
341
390
|
|
|
342
391
|
|
|
392
|
+
@augassign_add.register("COOTensor", "COOTensor")
|
|
343
393
|
@add.register("COOTensor", "COOTensor")
|
|
344
394
|
def _add_cootensor(x, y):
|
|
345
395
|
"""
|
|
@@ -357,6 +407,7 @@ def _add_cootensor(x, y):
|
|
|
357
407
|
return F.coo_add(x, y, make_tensor(0, x.values.dtype))
|
|
358
408
|
|
|
359
409
|
|
|
410
|
+
@augassign_add.register("COOTensor", "Tensor")
|
|
360
411
|
@add.register("COOTensor", "Tensor")
|
|
361
412
|
def _add_cootensor_tensor(x, y):
|
|
362
413
|
"""
|
|
@@ -374,6 +425,7 @@ def _add_cootensor_tensor(x, y):
|
|
|
374
425
|
return F.tensor_scatter_add(y, x.indices, x.values)
|
|
375
426
|
|
|
376
427
|
|
|
428
|
+
@augassign_add.register("Tensor", "COOTensor")
|
|
377
429
|
@add.register("Tensor", "COOTensor")
|
|
378
430
|
def _add_tensor_cootensor(x, y):
|
|
379
431
|
"""
|
|
@@ -451,6 +503,21 @@ def _add_rowtensor_tensor(x, y):
|
|
|
451
503
|
return x + y
|
|
452
504
|
|
|
453
505
|
|
|
506
|
+
@_add_backward.register("Tensor", "RowTensor")
|
|
507
|
+
def _add_tensor_rowtensor(x, y):
|
|
508
|
+
"""
|
|
509
|
+
Adds Tensor and RowTensor.
|
|
510
|
+
|
|
511
|
+
Args:
|
|
512
|
+
x (Tensor): x
|
|
513
|
+
y (RowTensor): y
|
|
514
|
+
|
|
515
|
+
Returns:
|
|
516
|
+
RowTensor, the dtype is same as y.
|
|
517
|
+
"""
|
|
518
|
+
return y + x
|
|
519
|
+
|
|
520
|
+
|
|
454
521
|
@_add_backward.register("None", "None")
|
|
455
522
|
def _add_nonetensor_tensor(x, y):
|
|
456
523
|
"""
|
|
@@ -601,6 +668,7 @@ hyper_add = base.HyperMap(_add_backward)
|
|
|
601
668
|
|
|
602
669
|
|
|
603
670
|
# pylint: disable=protected-access
|
|
671
|
+
@augassign_add._register_default()
|
|
604
672
|
@add._register_default()
|
|
605
673
|
def default_add(x, y):
|
|
606
674
|
"""Default function for add."""
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"""Implementation for internal polymorphism `div` operations."""
|
|
17
17
|
from __future__ import division
|
|
18
18
|
|
|
19
|
+
from mindspore.ops.auto_generate.gen_ops_prim import InplaceDiv, InplaceDivs
|
|
19
20
|
from mindspore.ops.composite.multitype_ops import _compile_utils as utils
|
|
20
21
|
from mindspore.ops.composite.multitype_ops._constexpr_utils import log_warning, check_equal
|
|
21
22
|
from mindspore.ops.composite import base
|
|
@@ -24,6 +25,15 @@ from mindspore.common import COOTensor
|
|
|
24
25
|
from mindspore.ops.auto_generate import div_op
|
|
25
26
|
|
|
26
27
|
|
|
28
|
+
# x /= y
|
|
29
|
+
augassign_div = base.MultitypeFuncGraph("augassign_div", True)
|
|
30
|
+
"""
|
|
31
|
+
augassign_div is a metafuncgraph object which will div two objects according to input type
|
|
32
|
+
using ".register" decorator
|
|
33
|
+
"""
|
|
34
|
+
augassign_div.set_need_raise()
|
|
35
|
+
|
|
36
|
+
|
|
27
37
|
div = base.MultitypeFuncGraph("div", True)
|
|
28
38
|
"""
|
|
29
39
|
div is a metafuncgraph object which will div two objects according to input type
|
|
@@ -32,6 +42,7 @@ using ".register" decorator
|
|
|
32
42
|
div.set_need_raise()
|
|
33
43
|
|
|
34
44
|
|
|
45
|
+
@augassign_div.register("CSRTensor", "Tensor")
|
|
35
46
|
@div.register("CSRTensor", "Tensor")
|
|
36
47
|
def _csrtensor_div_tensor(x, y):
|
|
37
48
|
"""
|
|
@@ -44,6 +55,7 @@ def _csrtensor_div_tensor(x, y):
|
|
|
44
55
|
return F.csr_div(x, y)
|
|
45
56
|
|
|
46
57
|
|
|
58
|
+
@augassign_div.register("COOTensor", "Tensor")
|
|
47
59
|
@div.register("COOTensor", "Tensor")
|
|
48
60
|
def _cootensor_div_tensor(x, y):
|
|
49
61
|
"""
|
|
@@ -58,6 +70,7 @@ def _cootensor_div_tensor(x, y):
|
|
|
58
70
|
return COOTensor(x.indices, x.values / other_values, x.shape)
|
|
59
71
|
|
|
60
72
|
|
|
73
|
+
@augassign_div.register("Number", "Number")
|
|
61
74
|
@div.register("Number", "Number")
|
|
62
75
|
def _div_scalar(x, y):
|
|
63
76
|
"""
|
|
@@ -73,6 +86,21 @@ def _div_scalar(x, y):
|
|
|
73
86
|
return F.scalar_div(x, y)
|
|
74
87
|
|
|
75
88
|
|
|
89
|
+
@augassign_div.register("Tensor", "Tensor")
|
|
90
|
+
def _div_tensor_augassign(x, y):
|
|
91
|
+
"""
|
|
92
|
+
Two tensors divide by element.
|
|
93
|
+
|
|
94
|
+
Args:
|
|
95
|
+
x (Tensor): The first input tensor.
|
|
96
|
+
y (Tensor): The second input tensor.
|
|
97
|
+
|
|
98
|
+
Returns:
|
|
99
|
+
Tensor, has the same dtype as x.
|
|
100
|
+
"""
|
|
101
|
+
return InplaceDiv()(x, y)
|
|
102
|
+
|
|
103
|
+
|
|
76
104
|
@div.register("Tensor", "Tensor")
|
|
77
105
|
def _div_tensor(x, y):
|
|
78
106
|
"""
|
|
@@ -88,6 +116,7 @@ def _div_tensor(x, y):
|
|
|
88
116
|
return div_op(x, y)
|
|
89
117
|
|
|
90
118
|
|
|
119
|
+
@augassign_div.register("Number", "Tensor")
|
|
91
120
|
@div.register("Number", "Tensor")
|
|
92
121
|
def _scalar_div_tensor(x, y):
|
|
93
122
|
"""
|
|
@@ -103,6 +132,21 @@ def _scalar_div_tensor(x, y):
|
|
|
103
132
|
return div_op(x, y)
|
|
104
133
|
|
|
105
134
|
|
|
135
|
+
@augassign_div.register("Tensor", "Number")
|
|
136
|
+
def _tensor_div_scalar_augassign(x, y):
|
|
137
|
+
"""
|
|
138
|
+
Tensor divided by number.
|
|
139
|
+
|
|
140
|
+
Args:
|
|
141
|
+
x (Tensor): x
|
|
142
|
+
y (Number): The dtype is same as x.
|
|
143
|
+
|
|
144
|
+
Returns:
|
|
145
|
+
Tensor, has the same dtype as x.
|
|
146
|
+
"""
|
|
147
|
+
return InplaceDivs()(x, y)
|
|
148
|
+
|
|
149
|
+
|
|
106
150
|
@div.register("Tensor", "Number")
|
|
107
151
|
def _tensor_div_scalar(x, y):
|
|
108
152
|
"""
|
|
@@ -118,6 +162,7 @@ def _tensor_div_scalar(x, y):
|
|
|
118
162
|
return div_op(x, y)
|
|
119
163
|
|
|
120
164
|
|
|
165
|
+
@augassign_div.register("Tuple", "Tensor")
|
|
121
166
|
@div.register("Tuple", "Tensor")
|
|
122
167
|
def _tuple_div_tensor(x, y):
|
|
123
168
|
"""
|
|
@@ -134,6 +179,7 @@ def _tuple_div_tensor(x, y):
|
|
|
134
179
|
return F.tensor_div(x, y)
|
|
135
180
|
|
|
136
181
|
|
|
182
|
+
@augassign_div.register("Tensor", "Tuple")
|
|
137
183
|
@div.register("Tensor", "Tuple")
|
|
138
184
|
def _tensor_div_tuple(x, y):
|
|
139
185
|
"""
|
|
@@ -150,6 +196,7 @@ def _tensor_div_tuple(x, y):
|
|
|
150
196
|
return F.tensor_div(x, y)
|
|
151
197
|
|
|
152
198
|
|
|
199
|
+
@augassign_div.register("List", "Tensor")
|
|
153
200
|
@div.register("List", "Tensor")
|
|
154
201
|
def _list_div_tensor(x, y):
|
|
155
202
|
"""
|
|
@@ -166,6 +213,7 @@ def _list_div_tensor(x, y):
|
|
|
166
213
|
return F.tensor_div(x, y)
|
|
167
214
|
|
|
168
215
|
|
|
216
|
+
@augassign_div.register("Tensor", "List")
|
|
169
217
|
@div.register("Tensor", "List")
|
|
170
218
|
def _tensor_div_list(x, y):
|
|
171
219
|
"""
|
|
@@ -183,6 +231,7 @@ def _tensor_div_list(x, y):
|
|
|
183
231
|
|
|
184
232
|
|
|
185
233
|
# pylint: disable=protected-access
|
|
234
|
+
@augassign_div._register_default()
|
|
186
235
|
@div._register_default()
|
|
187
236
|
def default_div(x, y):
|
|
188
237
|
"""Default function for div."""
|
|
@@ -15,11 +15,21 @@
|
|
|
15
15
|
|
|
16
16
|
"""Implementation for internal polymorphism `floordiv` operations."""
|
|
17
17
|
from __future__ import absolute_import
|
|
18
|
+
from mindspore.ops.auto_generate.gen_ops_prim import InplaceFloorDivide, InplaceFloorDivides
|
|
18
19
|
from mindspore.ops.composite.multitype_ops import _compile_utils as utils
|
|
19
20
|
from mindspore.ops.composite import base
|
|
20
21
|
from mindspore.ops import functional as F
|
|
21
22
|
|
|
22
23
|
|
|
24
|
+
# x //= y
|
|
25
|
+
augassign_floordiv = base.MultitypeFuncGraph("augassign_floordiv", True)
|
|
26
|
+
"""
|
|
27
|
+
`augassign_floordiv` is a metafuncgraph object which will compute the floordiv of two objects
|
|
28
|
+
using ".register" decorator.
|
|
29
|
+
"""
|
|
30
|
+
augassign_floordiv.set_need_raise()
|
|
31
|
+
|
|
32
|
+
|
|
23
33
|
floordiv = base.MultitypeFuncGraph("floordiv", True)
|
|
24
34
|
"""
|
|
25
35
|
`floordiv` is a metafuncgraph object which will compute the floordiv of two objects
|
|
@@ -28,30 +38,45 @@ using ".register" decorator.
|
|
|
28
38
|
floordiv.set_need_raise()
|
|
29
39
|
|
|
30
40
|
|
|
41
|
+
@augassign_floordiv.register("Number", "Number")
|
|
31
42
|
@floordiv.register("Number", "Number")
|
|
32
43
|
def _floordiv_scalar(x, y):
|
|
33
44
|
"""Returns x // y where x and y are all scalars."""
|
|
34
45
|
return F.scalar_floordiv(x, y)
|
|
35
46
|
|
|
36
47
|
|
|
48
|
+
@augassign_floordiv.register("Tensor", "Tensor")
|
|
49
|
+
def _floordiv_tensor_augassign(x, y):
|
|
50
|
+
"""Returns x // y where x and y are all tensors."""
|
|
51
|
+
return InplaceFloorDivide()(x, y)
|
|
52
|
+
|
|
53
|
+
|
|
37
54
|
@floordiv.register("Tensor", "Tensor")
|
|
38
55
|
def _floordiv_tensor(x, y):
|
|
39
56
|
"""Returns x // y where x and y are all tensors."""
|
|
40
57
|
return F.tensor_floordiv(x, y)
|
|
41
58
|
|
|
42
59
|
|
|
60
|
+
@augassign_floordiv.register("Tensor", "Number")
|
|
61
|
+
def _tensor_floordiv_scalar_augassign(x, y):
|
|
62
|
+
"""Returns x // y where x is a tensor and y is a scalar. x and y should have same dtype."""
|
|
63
|
+
return InplaceFloorDivides()(x, y)
|
|
64
|
+
|
|
65
|
+
|
|
43
66
|
@floordiv.register("Tensor", "Number")
|
|
44
67
|
def _tensor_floordiv_scalar(x, y):
|
|
45
68
|
"""Returns x // y where x is a tensor and y is a scalar. x and y should have same dtype."""
|
|
46
69
|
return F.tensor_floordiv(x, y)
|
|
47
70
|
|
|
48
71
|
|
|
72
|
+
@augassign_floordiv.register("Number", "Tensor")
|
|
49
73
|
@floordiv.register("Number", "Tensor")
|
|
50
74
|
def _scalar_floordiv_tensor(x, y):
|
|
51
75
|
"""Returns x // y where x is a scalar and y is a tensor. x and y should have same dtype."""
|
|
52
76
|
return F.tensor_floordiv(x, y)
|
|
53
77
|
|
|
54
78
|
|
|
79
|
+
@augassign_floordiv.register("Tuple", "Tensor")
|
|
55
80
|
@floordiv.register("Tuple", "Tensor")
|
|
56
81
|
def _tuple_floordiv_tensor(x, y):
|
|
57
82
|
"""Returns x // y where x is a tuple and y is a tensor. """
|
|
@@ -59,6 +84,7 @@ def _tuple_floordiv_tensor(x, y):
|
|
|
59
84
|
return F.tensor_floordiv(x, y)
|
|
60
85
|
|
|
61
86
|
|
|
87
|
+
@augassign_floordiv.register("Tensor", "Tuple")
|
|
62
88
|
@floordiv.register("Tensor", "Tuple")
|
|
63
89
|
def _tensor_floordiv_tuple(x, y):
|
|
64
90
|
"""Returns x // y where x is a tensor and y is a tuple. """
|
|
@@ -66,6 +92,7 @@ def _tensor_floordiv_tuple(x, y):
|
|
|
66
92
|
return F.tensor_floordiv(x, y)
|
|
67
93
|
|
|
68
94
|
|
|
95
|
+
@augassign_floordiv.register("List", "Tensor")
|
|
69
96
|
@floordiv.register("List", "Tensor")
|
|
70
97
|
def _list_floordiv_tensor(x, y):
|
|
71
98
|
"""Returns x // y where x is a list and y is a tensor. """
|
|
@@ -73,6 +100,7 @@ def _list_floordiv_tensor(x, y):
|
|
|
73
100
|
return F.tensor_floordiv(x, y)
|
|
74
101
|
|
|
75
102
|
|
|
103
|
+
@augassign_floordiv.register("Tensor", "List")
|
|
76
104
|
@floordiv.register("Tensor", "List")
|
|
77
105
|
def _tensor_floordiv_list(x, y):
|
|
78
106
|
"""Returns x // y where x is a tensor and y is a list. """
|
|
@@ -81,6 +109,7 @@ def _tensor_floordiv_list(x, y):
|
|
|
81
109
|
|
|
82
110
|
|
|
83
111
|
# pylint: disable=protected-access
|
|
112
|
+
@augassign_floordiv._register_default()
|
|
84
113
|
@floordiv._register_default()
|
|
85
114
|
def default_floordiv(x, y):
|
|
86
115
|
"""Default function for floordiv."""
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
"""Implementation for internal polymorphism `getitem` operations."""
|
|
17
17
|
from __future__ import absolute_import
|
|
18
|
+
import os
|
|
18
19
|
from mindspore.ops.operations import _inner_ops as inner
|
|
19
20
|
from mindspore.ops.operations import _map_tensor_ops
|
|
20
21
|
from mindspore.ops.composite.multitype_ops import _compile_utils as compile_utils
|
|
@@ -286,6 +287,8 @@ def _tensor_getitem_by_number(data, number_index):
|
|
|
286
287
|
Outputs:
|
|
287
288
|
Tensor, element type is as same as the element type of data.
|
|
288
289
|
"""
|
|
290
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
291
|
+
return compile_utils._tensor_getitem(data, number_index)
|
|
289
292
|
return compile_utils.tensor_index_by_number(data, number_index)
|
|
290
293
|
|
|
291
294
|
|
|
@@ -316,6 +319,8 @@ def _tensor_getitem_by_slice(data, slice_index):
|
|
|
316
319
|
Outputs:
|
|
317
320
|
Tensor, element type is the same as the element type of data.
|
|
318
321
|
"""
|
|
322
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
323
|
+
return compile_utils._tensor_getitem(data, slice_index)
|
|
319
324
|
return compile_utils.tensor_index_by_slice(data, slice_index)
|
|
320
325
|
|
|
321
326
|
|
|
@@ -331,6 +336,8 @@ def _tensor_getitem_by_tensor(data, tensor_index):
|
|
|
331
336
|
Outputs:
|
|
332
337
|
Tensor, element type is the same as the element type of data.
|
|
333
338
|
"""
|
|
339
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
340
|
+
return compile_utils._tensor_getitem(data, tensor_index)
|
|
334
341
|
return compile_utils.tensor_index_by_tensor(data, tensor_index)
|
|
335
342
|
|
|
336
343
|
|
|
@@ -361,6 +368,8 @@ def _tensor_getitem_by_list(data, list_index):
|
|
|
361
368
|
Outputs:
|
|
362
369
|
Tensor ,same as data.
|
|
363
370
|
"""
|
|
371
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
372
|
+
return compile_utils._tensor_getitem(data, list_index)
|
|
364
373
|
return compile_utils.tensor_index_by_list(data, list_index)
|
|
365
374
|
|
|
366
375
|
|
|
@@ -376,6 +385,8 @@ def _tensor_getitem_by_tuple(data, tuple_index):
|
|
|
376
385
|
Outputs:
|
|
377
386
|
Tensor, element type is the same as the element type of data.
|
|
378
387
|
"""
|
|
388
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
389
|
+
return compile_utils._tensor_getitem(data, tuple_index)
|
|
379
390
|
return compile_utils.tensor_index_by_tuple(data, tuple_index)
|
|
380
391
|
|
|
381
392
|
|
|
@@ -18,6 +18,8 @@ from __future__ import absolute_import
|
|
|
18
18
|
from mindspore.ops.composite.multitype_ops import _compile_utils as utils
|
|
19
19
|
from mindspore.ops.composite import base
|
|
20
20
|
from mindspore.ops import functional as F
|
|
21
|
+
from mindspore.ops.auto_generate import (remainder_tensor_tensor_op, remainder_tensor_scalar_op,
|
|
22
|
+
remainder_scalar_tensor_op)
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
mod = base.MultitypeFuncGraph("mod", True)
|
|
@@ -37,19 +39,19 @@ def _mod_scalar(x, y):
|
|
|
37
39
|
@mod.register("Tensor", "Tensor")
|
|
38
40
|
def _mod_tensor(x, y):
|
|
39
41
|
"""Returns x % y where x and y are all tensors."""
|
|
40
|
-
return
|
|
42
|
+
return remainder_tensor_tensor_op(x, y)
|
|
41
43
|
|
|
42
44
|
|
|
43
45
|
@mod.register("Tensor", "Number")
|
|
44
46
|
def _tensor_mod_scalar(x, y):
|
|
45
47
|
"""Returns x % y where x is a tensor and y is a scalar. x and y should have same dtype."""
|
|
46
|
-
return
|
|
48
|
+
return remainder_tensor_scalar_op(x, y)
|
|
47
49
|
|
|
48
50
|
|
|
49
51
|
@mod.register("Number", "Tensor")
|
|
50
52
|
def _scalar_mod_tensor(x, y):
|
|
51
53
|
"""Returns x % y where x is a scalar and y is a tensor. x and y should have same dtype."""
|
|
52
|
-
return
|
|
54
|
+
return remainder_scalar_tensor_op(x, y)
|
|
53
55
|
|
|
54
56
|
|
|
55
57
|
@mod.register("Tuple", "Tensor")
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
# ============================================================================
|
|
15
15
|
"""Implementation for internal polymorphism `mul` operations."""
|
|
16
16
|
from mindspore.ops.operations import _inner_ops as inner
|
|
17
|
+
from mindspore.ops.auto_generate.gen_ops_prim import InplaceMul, InplaceMuls
|
|
17
18
|
from mindspore.ops.composite.multitype_ops import _compile_utils as utils
|
|
18
19
|
from mindspore.ops.composite.multitype_ops._constexpr_utils import check_equal
|
|
19
20
|
from mindspore.ops.composite import base
|
|
@@ -22,6 +23,15 @@ from mindspore.common import COOTensor
|
|
|
22
23
|
from ...operations._sequence_ops import SequenceMul
|
|
23
24
|
|
|
24
25
|
|
|
26
|
+
# x *= y
|
|
27
|
+
augassign_mul = base.MultitypeFuncGraph("augassign_mul", True)
|
|
28
|
+
"""
|
|
29
|
+
`augassign_mul` is a metafuncgraph object which will multiply two objects according to input type
|
|
30
|
+
using ".register" decorator.
|
|
31
|
+
"""
|
|
32
|
+
augassign_mul.set_need_raise()
|
|
33
|
+
|
|
34
|
+
|
|
25
35
|
mul = base.MultitypeFuncGraph("mul", True)
|
|
26
36
|
"""
|
|
27
37
|
`mul` is a metafuncgraph object which will multiply two objects according to input type
|
|
@@ -30,6 +40,7 @@ using ".register" decorator.
|
|
|
30
40
|
mul.set_need_raise()
|
|
31
41
|
|
|
32
42
|
|
|
43
|
+
@augassign_mul.register("Number", "Number")
|
|
33
44
|
@mul.register("Number", "Number")
|
|
34
45
|
def _mul_scalar(x, y):
|
|
35
46
|
"""
|
|
@@ -41,6 +52,17 @@ def _mul_scalar(x, y):
|
|
|
41
52
|
return F.scalar_mul(x, y)
|
|
42
53
|
|
|
43
54
|
|
|
55
|
+
@augassign_mul.register("Tensor", "Tensor")
|
|
56
|
+
def _mul_tensor_augassign(x, y):
|
|
57
|
+
"""
|
|
58
|
+
Returns x * y by element-wise where x and y are all tensors.
|
|
59
|
+
|
|
60
|
+
Outputs:
|
|
61
|
+
Tensor, has the same dtype as x.
|
|
62
|
+
"""
|
|
63
|
+
return InplaceMul()(x, y)
|
|
64
|
+
|
|
65
|
+
|
|
44
66
|
@mul.register("Tensor", "Tensor")
|
|
45
67
|
def _mul_tensor(x, y):
|
|
46
68
|
"""
|
|
@@ -52,6 +74,7 @@ def _mul_tensor(x, y):
|
|
|
52
74
|
return F.tensor_mul(x, y)
|
|
53
75
|
|
|
54
76
|
|
|
77
|
+
@augassign_mul.register("Number", "Tensor")
|
|
55
78
|
@mul.register("Number", "Tensor")
|
|
56
79
|
def _scalar_mul_tensor(x, y):
|
|
57
80
|
"""
|
|
@@ -63,6 +86,17 @@ def _scalar_mul_tensor(x, y):
|
|
|
63
86
|
return F.tensor_mul(x, y)
|
|
64
87
|
|
|
65
88
|
|
|
89
|
+
@augassign_mul.register("Tensor", "Number")
|
|
90
|
+
def _tensor_mul_scalar_augassign(x, y):
|
|
91
|
+
"""
|
|
92
|
+
Returns x * y where x is a tensor and y is a scalar. x and y have same dtype.
|
|
93
|
+
|
|
94
|
+
Outputs:
|
|
95
|
+
Tensor, has the same dtype as x.
|
|
96
|
+
"""
|
|
97
|
+
return InplaceMuls()(x, y)
|
|
98
|
+
|
|
99
|
+
|
|
66
100
|
@mul.register("Tensor", "Number")
|
|
67
101
|
def _tensor_mul_scalar(x, y):
|
|
68
102
|
"""
|
|
@@ -74,6 +108,7 @@ def _tensor_mul_scalar(x, y):
|
|
|
74
108
|
return F.tensor_muls(x, y)
|
|
75
109
|
|
|
76
110
|
|
|
111
|
+
@augassign_mul.register("Number", "String")
|
|
77
112
|
@mul.register("Number", "String")
|
|
78
113
|
def _number_mul_string(x, y):
|
|
79
114
|
"""
|
|
@@ -85,6 +120,7 @@ def _number_mul_string(x, y):
|
|
|
85
120
|
return inner.string_mul(x, y)
|
|
86
121
|
|
|
87
122
|
|
|
123
|
+
@augassign_mul.register("String", "Number")
|
|
88
124
|
@mul.register("String", "Number")
|
|
89
125
|
def _string_mul_number(x, y):
|
|
90
126
|
"""
|
|
@@ -96,6 +132,7 @@ def _string_mul_number(x, y):
|
|
|
96
132
|
return inner.string_mul(x, y)
|
|
97
133
|
|
|
98
134
|
|
|
135
|
+
@augassign_mul.register("List", "Number")
|
|
99
136
|
@mul.register("List", "Number")
|
|
100
137
|
def _list_mul_scalar(x, y):
|
|
101
138
|
"""
|
|
@@ -116,6 +153,7 @@ def _list_mul_scalar(x, y):
|
|
|
116
153
|
return res
|
|
117
154
|
|
|
118
155
|
|
|
156
|
+
@augassign_mul.register("Number", "List")
|
|
119
157
|
@mul.register("Number", "List")
|
|
120
158
|
def _scalar_mul_list(x, y):
|
|
121
159
|
"""
|
|
@@ -136,6 +174,7 @@ def _scalar_mul_list(x, y):
|
|
|
136
174
|
return res
|
|
137
175
|
|
|
138
176
|
|
|
177
|
+
@augassign_mul.register("Tuple", "Number")
|
|
139
178
|
@mul.register("Tuple", "Number")
|
|
140
179
|
def _tuple_mul_scalar(x, y):
|
|
141
180
|
"""
|
|
@@ -156,6 +195,7 @@ def _tuple_mul_scalar(x, y):
|
|
|
156
195
|
return res
|
|
157
196
|
|
|
158
197
|
|
|
198
|
+
@augassign_mul.register("Number", "Tuple")
|
|
159
199
|
@mul.register("Number", "Tuple")
|
|
160
200
|
def _scalar_mul_tuple(x, y):
|
|
161
201
|
"""
|
|
@@ -176,6 +216,7 @@ def _scalar_mul_tuple(x, y):
|
|
|
176
216
|
return res
|
|
177
217
|
|
|
178
218
|
|
|
219
|
+
@augassign_mul.register("Tensor", "Tuple")
|
|
179
220
|
@mul.register("Tensor", "Tuple")
|
|
180
221
|
def _tensor_mul_tuple(x, y):
|
|
181
222
|
"""
|
|
@@ -192,6 +233,7 @@ def _tensor_mul_tuple(x, y):
|
|
|
192
233
|
return F.tensor_mul(x, y)
|
|
193
234
|
|
|
194
235
|
|
|
236
|
+
@augassign_mul.register("Tuple", "Tensor")
|
|
195
237
|
@mul.register("Tuple", "Tensor")
|
|
196
238
|
def _tuple_mul_tensor(x, y):
|
|
197
239
|
"""
|
|
@@ -208,6 +250,7 @@ def _tuple_mul_tensor(x, y):
|
|
|
208
250
|
return F.tensor_mul(x, y)
|
|
209
251
|
|
|
210
252
|
|
|
253
|
+
@augassign_mul.register("Tensor", "List")
|
|
211
254
|
@mul.register("Tensor", "List")
|
|
212
255
|
def _tensor_mul_list(x, y):
|
|
213
256
|
"""
|
|
@@ -224,6 +267,7 @@ def _tensor_mul_list(x, y):
|
|
|
224
267
|
return F.tensor_mul(x, y)
|
|
225
268
|
|
|
226
269
|
|
|
270
|
+
@augassign_mul.register("List", "Tensor")
|
|
227
271
|
@mul.register("List", "Tensor")
|
|
228
272
|
def _list_mul_tensor(x, y):
|
|
229
273
|
"""
|
|
@@ -240,6 +284,7 @@ def _list_mul_tensor(x, y):
|
|
|
240
284
|
return F.tensor_mul(x, y)
|
|
241
285
|
|
|
242
286
|
|
|
287
|
+
@augassign_mul.register("CSRTensor", "Tensor")
|
|
243
288
|
@mul.register("CSRTensor", "Tensor")
|
|
244
289
|
def _csrtensor_mul_tensor(x, y):
|
|
245
290
|
"""
|
|
@@ -251,6 +296,7 @@ def _csrtensor_mul_tensor(x, y):
|
|
|
251
296
|
return F.csr_mul(x, y)
|
|
252
297
|
|
|
253
298
|
|
|
299
|
+
@augassign_mul.register("Tensor", "CSRTensor")
|
|
254
300
|
@mul.register("Tensor", "CSRTensor")
|
|
255
301
|
def _tensor_mul_csrtensor(x, y):
|
|
256
302
|
"""
|
|
@@ -262,6 +308,7 @@ def _tensor_mul_csrtensor(x, y):
|
|
|
262
308
|
return F.csr_mul(y, x)
|
|
263
309
|
|
|
264
310
|
|
|
311
|
+
@augassign_mul.register("COOTensor", "Tensor")
|
|
265
312
|
@mul.register("COOTensor", "Tensor")
|
|
266
313
|
def _cootensor_mul_tensor(x, y):
|
|
267
314
|
"""
|
|
@@ -275,6 +322,7 @@ def _cootensor_mul_tensor(x, y):
|
|
|
275
322
|
return COOTensor(x.indices, x.values * other_values, x.shape)
|
|
276
323
|
|
|
277
324
|
|
|
325
|
+
@augassign_mul.register("Tensor", "COOTensor")
|
|
278
326
|
@mul.register("Tensor", "COOTensor")
|
|
279
327
|
def _tensor_mul_cootensor(x, y):
|
|
280
328
|
"""
|
|
@@ -289,6 +337,7 @@ def _tensor_mul_cootensor(x, y):
|
|
|
289
337
|
|
|
290
338
|
|
|
291
339
|
# pylint: disable=protected-access
|
|
340
|
+
@augassign_mul._register_default()
|
|
292
341
|
@mul._register_default()
|
|
293
342
|
def default_mul(x, y):
|
|
294
343
|
"""Default function for mul."""
|