mindspore 2.6.0__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 +36 -61
- mindspore/_extends/parse/resources.py +39 -0
- mindspore/_extends/parse/standard_method.py +32 -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 +76 -15
- mindspore/common/api.py +193 -112
- mindspore/common/dtype.py +21 -11
- mindspore/common/dump.py +10 -15
- mindspore/common/generator.py +2 -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 +48 -83
- mindspore/communication/_comm_helper.py +46 -4
- mindspore/communication/management.py +79 -7
- mindspore/context.py +38 -23
- mindspore/dataset/core/config.py +3 -3
- mindspore/dataset/engine/datasets.py +20 -7
- mindspore/dataset/engine/datasets_user_defined.py +32 -2
- 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 -5
- 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 +1 -0
- 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 +4 -44
- mindspore/mint/distributed/__init__.py +1 -0
- mindspore/mint/distributed/distributed.py +208 -5
- 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 +122 -98
- 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 +325 -499
- 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 +86 -85
- 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 +1 -1
- mindspore/nn/optim/adasum.py +2 -2
- 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 +1 -1
- 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 +6 -13
- mindspore/ops/_vmap/vmap_nn_ops.py +8 -16
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +17 -8
- mindspore/ops/auto_generate/gen_extend_func.py +1 -51
- mindspore/ops/auto_generate/gen_ops_def.py +463 -257
- mindspore/ops/auto_generate/gen_ops_prim.py +1127 -885
- 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 +132 -108
- 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 +7 -94
- mindspore/ops/function/debug_func.py +4 -3
- mindspore/ops/function/grad/grad_func.py +1 -1
- mindspore/ops/function/math_func.py +21 -367
- mindspore/ops/function/nn_func.py +26 -41
- mindspore/ops/function/other_func.py +4 -1
- mindspore/ops/function/random_func.py +31 -4
- mindspore/ops/functional.py +0 -2
- mindspore/ops/functional_overload.py +463 -6
- mindspore/ops/op_info_register.py +21 -0
- mindspore/ops/operations/__init__.py +5 -2
- mindspore/ops/operations/_custom_ops_utils.py +675 -8
- mindspore/ops/operations/_inner_ops.py +3 -6
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/comm_ops.py +185 -26
- mindspore/ops/operations/custom_ops.py +235 -172
- mindspore/ops/operations/debug_ops.py +55 -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 +5 -6
- mindspore/ops/primitive.py +6 -10
- mindspore/ops/tensor_method.py +36 -4
- 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 +7 -2
- 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_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 +4 -2
- mindspore/parallel/_cell_wrapper.py +106 -40
- 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 +12 -5
- mindspore/parallel/checkpoint_convert.py +3 -3
- mindspore/parallel/checkpoint_transform.py +3 -1
- 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 +1 -1
- 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 +2 -2
- mindspore/parallel/transform_safetensors.py +462 -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 +3 -0
- 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 +21 -30
- 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 +6 -2
- 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 +71 -13
- mindspore/train/data_sink.py +11 -2
- mindspore/train/dataset_helper.py +9 -0
- mindspore/train/model.py +51 -33
- 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 +162 -78
- mindspore/utils/sdc_detect.py +68 -0
- mindspore/utils/utils.py +6 -9
- mindspore/version.py +1 -1
- {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/METADATA +5 -4
- {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/RECORD +329 -367
- 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.0.dist-info → mindspore-2.7.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/entry_points.txt +0 -0
- {mindspore-2.6.0.dist-info → mindspore-2.7.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"""Implementation for internal polymorphism `setitem` operations."""
|
|
17
17
|
|
|
18
18
|
from __future__ import absolute_import
|
|
19
|
+
import os
|
|
19
20
|
from mindspore.ops.composite.multitype_ops import _compile_utils as compile_utils
|
|
20
21
|
from mindspore.ops import functional as F
|
|
21
22
|
from mindspore.ops.operations._inner_ops import SliceGetItem
|
|
@@ -293,6 +294,8 @@ def _tensor_setitem_by_tensor_with_tensor(data, index, value_tensor):
|
|
|
293
294
|
Outputs:
|
|
294
295
|
Tensor, element type and shape is same as data.
|
|
295
296
|
"""
|
|
297
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
298
|
+
return compile_utils._tensor_setitem(data, index, value_tensor)
|
|
296
299
|
return compile_utils.tensor_setitem_by_tensor_with_tensor(data, index, value_tensor)
|
|
297
300
|
|
|
298
301
|
|
|
@@ -316,6 +319,8 @@ def _tensor_setitem_by_tensor_with_number(data, index, value):
|
|
|
316
319
|
Outputs:
|
|
317
320
|
Tensor, element type and shape is same as data.
|
|
318
321
|
"""
|
|
322
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
323
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
319
324
|
return compile_utils.tensor_setitem_by_tensor_with_number(data, index, value)
|
|
320
325
|
|
|
321
326
|
|
|
@@ -337,6 +342,8 @@ def _tensor_setitem_by_tuple_with_number(data, tuple_index, value):
|
|
|
337
342
|
Outputs:
|
|
338
343
|
Tensor, element type and shape is same as data.
|
|
339
344
|
"""
|
|
345
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
346
|
+
return compile_utils._tensor_setitem(data, tuple_index, value)
|
|
340
347
|
return compile_utils.tensor_setitem_by_tuple_with_number(data, tuple_index, value)
|
|
341
348
|
|
|
342
349
|
|
|
@@ -358,6 +365,8 @@ def _tensor_setitem_by_tuple_with_tensor(data, tuple_index, value):
|
|
|
358
365
|
Outputs:
|
|
359
366
|
Tensor, element type and shape is same as data.
|
|
360
367
|
"""
|
|
368
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
369
|
+
return compile_utils._tensor_setitem(data, tuple_index, value)
|
|
361
370
|
return compile_utils.tensor_setitem_by_tuple_with_tensor(data, tuple_index, value)
|
|
362
371
|
|
|
363
372
|
|
|
@@ -380,6 +389,8 @@ def _tensor_setitem_by_tuple_with_tuple(data, tuple_index, value):
|
|
|
380
389
|
Outputs:
|
|
381
390
|
Tensor, element type and shape is same as data.
|
|
382
391
|
"""
|
|
392
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
393
|
+
return compile_utils._tensor_setitem(data, tuple_index, value)
|
|
383
394
|
return compile_utils.tensor_setitem_by_tuple_with_sequence(data, tuple_index, value)
|
|
384
395
|
|
|
385
396
|
|
|
@@ -402,6 +413,8 @@ def _tensor_setitem_by_tuple_with_list(data, tuple_index, value):
|
|
|
402
413
|
Outputs:
|
|
403
414
|
Tensor, element type and shape is same as data.
|
|
404
415
|
"""
|
|
416
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
417
|
+
return compile_utils._tensor_setitem(data, tuple_index, value)
|
|
405
418
|
return compile_utils.tensor_setitem_by_tuple_with_sequence(data, tuple_index, value)
|
|
406
419
|
|
|
407
420
|
|
|
@@ -418,6 +431,8 @@ def _tensor_setitem_by_tensor_with_tuple(data, index, value):
|
|
|
418
431
|
Outputs:
|
|
419
432
|
Tensor, element type and shape is same as data.
|
|
420
433
|
"""
|
|
434
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
435
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
421
436
|
return compile_utils.tensor_setitem_by_tensor_with_sequence(data, index, value)
|
|
422
437
|
|
|
423
438
|
|
|
@@ -434,6 +449,8 @@ def _tensor_setitem_by_tensor_with_list(data, index, value):
|
|
|
434
449
|
Outputs:
|
|
435
450
|
Tensor, element type and shape is same as data.
|
|
436
451
|
"""
|
|
452
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
453
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
437
454
|
return compile_utils.tensor_setitem_by_tensor_with_sequence(data, index, value)
|
|
438
455
|
|
|
439
456
|
|
|
@@ -456,6 +473,8 @@ def _tensor_setitem_by_slice_with_tensor(data, input_slice, value):
|
|
|
456
473
|
Outputs:
|
|
457
474
|
Tensor, element type and shape is same as data.
|
|
458
475
|
"""
|
|
476
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
477
|
+
return compile_utils._tensor_setitem(data, input_slice, value)
|
|
459
478
|
return compile_utils.tensor_setitem_by_slice(data, input_slice, value)
|
|
460
479
|
|
|
461
480
|
|
|
@@ -478,6 +497,8 @@ def _tensor_setitem_by_slice_with_number(data, input_slice, value):
|
|
|
478
497
|
Outputs:
|
|
479
498
|
Tensor, element type and shape is same as data.
|
|
480
499
|
"""
|
|
500
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
501
|
+
return compile_utils._tensor_setitem(data, input_slice, value)
|
|
481
502
|
return compile_utils.tensor_setitem_by_slice(data, input_slice, value)
|
|
482
503
|
|
|
483
504
|
|
|
@@ -500,6 +521,8 @@ def _tensor_setitem_by_slice_with_list(data, input_slice, value):
|
|
|
500
521
|
Outputs:
|
|
501
522
|
Tensor, element type and shape is same as data.
|
|
502
523
|
"""
|
|
524
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
525
|
+
return compile_utils._tensor_setitem(data, input_slice, value)
|
|
503
526
|
return compile_utils.tensor_setitem_by_slice(data, input_slice, value)
|
|
504
527
|
|
|
505
528
|
|
|
@@ -522,6 +545,8 @@ def _tensor_setitem_by_slice_with_tuple(data, input_slice, value):
|
|
|
522
545
|
Outputs:
|
|
523
546
|
Tensor, element type and shape is same as data.
|
|
524
547
|
"""
|
|
548
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
549
|
+
return compile_utils._tensor_setitem(data, input_slice, value)
|
|
525
550
|
return compile_utils.tensor_setitem_by_slice(data, input_slice, value)
|
|
526
551
|
|
|
527
552
|
|
|
@@ -543,6 +568,8 @@ def _tensor_setitem_by_number_with_number(data, index, value):
|
|
|
543
568
|
Outputs:
|
|
544
569
|
Tensor, element type and shape is same as data.
|
|
545
570
|
"""
|
|
571
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
572
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
546
573
|
if isinstance(index, bool):
|
|
547
574
|
return compile_utils.tensor_setitem_by_bool(data, index, value)
|
|
548
575
|
return compile_utils.tensor_setitem_by_number_with_number(data, index, value)
|
|
@@ -566,6 +593,8 @@ def _tensor_setitem_by_number_with_tensor(data, index, value):
|
|
|
566
593
|
Outputs:
|
|
567
594
|
Tensor, element type and shape is same as data.
|
|
568
595
|
"""
|
|
596
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
597
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
569
598
|
if isinstance(index, bool):
|
|
570
599
|
return compile_utils.tensor_setitem_by_bool(data, index, value)
|
|
571
600
|
return compile_utils.tensor_setitem_by_number_with_tensor(data, index, value)
|
|
@@ -589,6 +618,8 @@ def _tensor_setitem_by_number_with_tuple(data, index, value):
|
|
|
589
618
|
Outputs:
|
|
590
619
|
Tensor, element type and shape is same as data.
|
|
591
620
|
"""
|
|
621
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
622
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
592
623
|
if isinstance(index, bool):
|
|
593
624
|
return compile_utils.tensor_setitem_by_bool(data, index, value)
|
|
594
625
|
return compile_utils.tensor_setitem_by_number_with_sequence(data, index, value)
|
|
@@ -612,6 +643,8 @@ def _tensor_setitem_by_number_with_list(data, index, value):
|
|
|
612
643
|
Outputs:
|
|
613
644
|
Tensor, element type and shape is same as data.
|
|
614
645
|
"""
|
|
646
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
647
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
615
648
|
if isinstance(index, bool):
|
|
616
649
|
return compile_utils.tensor_setitem_by_bool(data, index, value)
|
|
617
650
|
return compile_utils.tensor_setitem_by_number_with_sequence(data, index, value)
|
|
@@ -634,6 +667,8 @@ def _tensor_setitem_by_ellipsis_with_number(data, index, value):
|
|
|
634
667
|
Outputs:
|
|
635
668
|
Tensor, element type and shape is same as data.
|
|
636
669
|
"""
|
|
670
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
671
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
637
672
|
return compile_utils.tensor_setitem_by_ellipsis_with_number(data, value)
|
|
638
673
|
|
|
639
674
|
|
|
@@ -654,6 +689,8 @@ def _tensor_setitem_by_ellipsis_with_tensor(data, index, value):
|
|
|
654
689
|
Outputs:
|
|
655
690
|
Tensor, element type and shape is same as data.
|
|
656
691
|
"""
|
|
692
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
693
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
657
694
|
return compile_utils.tensor_setitem_by_ellipsis_with_tensor(data, value)
|
|
658
695
|
|
|
659
696
|
|
|
@@ -674,6 +711,8 @@ def _tensor_setitem_by_ellipsis_with_list(data, index, value):
|
|
|
674
711
|
Outputs:
|
|
675
712
|
Tensor, element type and shape is same as data.
|
|
676
713
|
"""
|
|
714
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
715
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
677
716
|
return compile_utils.tensor_setitem_by_ellipsis_with_sequence(data, value)
|
|
678
717
|
|
|
679
718
|
|
|
@@ -694,6 +733,8 @@ def _tensor_setitem_by_ellipsis_with_tuple(data, index, value):
|
|
|
694
733
|
Outputs:
|
|
695
734
|
Tensor, element type and shape is same as data.
|
|
696
735
|
"""
|
|
736
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
737
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
697
738
|
return compile_utils.tensor_setitem_by_ellipsis_with_sequence(data, value)
|
|
698
739
|
|
|
699
740
|
|
|
@@ -714,6 +755,8 @@ def _tensor_setitem_by_none_with_number(data, index, value):
|
|
|
714
755
|
Outputs:
|
|
715
756
|
Tensor, element type and shape is same as data.
|
|
716
757
|
"""
|
|
758
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
759
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
717
760
|
return compile_utils.tensor_setitem_by_ellipsis_with_number(data, value)
|
|
718
761
|
|
|
719
762
|
|
|
@@ -734,6 +777,8 @@ def _tensor_setitem_by_none_with_tensor(data, index, value):
|
|
|
734
777
|
Outputs:
|
|
735
778
|
Tensor, element type and shape is same as data.
|
|
736
779
|
"""
|
|
780
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
781
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
737
782
|
return compile_utils.tensor_setitem_by_ellipsis_with_tensor(data, value)
|
|
738
783
|
|
|
739
784
|
|
|
@@ -754,6 +799,8 @@ def _tensor_setitem_by_none_with_list(data, index, value):
|
|
|
754
799
|
Outputs:
|
|
755
800
|
Tensor, element type and shape is same as data.
|
|
756
801
|
"""
|
|
802
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
803
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
757
804
|
return compile_utils.tensor_setitem_by_ellipsis_with_sequence(data, value)
|
|
758
805
|
|
|
759
806
|
|
|
@@ -774,6 +821,8 @@ def _tensor_setitem_by_none_with_tuple(data, index, value):
|
|
|
774
821
|
Outputs:
|
|
775
822
|
Tensor, element type and shape is same as data.
|
|
776
823
|
"""
|
|
824
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
825
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
777
826
|
return compile_utils.tensor_setitem_by_ellipsis_with_sequence(data, value)
|
|
778
827
|
|
|
779
828
|
|
|
@@ -794,6 +843,8 @@ def _tensor_setitem_by_list_with_number(data, index, value):
|
|
|
794
843
|
Outputs:
|
|
795
844
|
Tensor, element type and shape is same as data.
|
|
796
845
|
"""
|
|
846
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
847
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
797
848
|
value = F.cast(value, F.dtype(data))
|
|
798
849
|
return compile_utils.tensor_setitem_by_list(data, index, value)
|
|
799
850
|
|
|
@@ -815,6 +866,8 @@ def _tensor_setitem_by_list_with_tensor(data, index, value):
|
|
|
815
866
|
Outputs:
|
|
816
867
|
Tensor, element type and shape is same as data.
|
|
817
868
|
"""
|
|
869
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
870
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
818
871
|
return compile_utils.tensor_setitem_by_list(data, index, value)
|
|
819
872
|
|
|
820
873
|
|
|
@@ -835,6 +888,8 @@ def _tensor_setitem_by_list_with_tuple(data, index, value):
|
|
|
835
888
|
Outputs:
|
|
836
889
|
Tensor, element type and shape is same as data.
|
|
837
890
|
"""
|
|
891
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
892
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
838
893
|
value = compile_utils.sequence_to_tensor(value, F.dtype(data))
|
|
839
894
|
return compile_utils.tensor_setitem_by_list(data, index, value)
|
|
840
895
|
|
|
@@ -856,6 +911,8 @@ def _tensor_setitem_by_list_with_list(data, index, value):
|
|
|
856
911
|
Outputs:
|
|
857
912
|
Tensor, element type and shape is same as data.
|
|
858
913
|
"""
|
|
914
|
+
if os.environ.get("MS_DEV_TENSOR_INDEX_BOOST") == "1":
|
|
915
|
+
return compile_utils._tensor_setitem(data, index, value)
|
|
859
916
|
value = compile_utils.sequence_to_tensor(value, F.dtype(data))
|
|
860
917
|
return compile_utils.tensor_setitem_by_list(data, index, value)
|
|
861
918
|
|
|
@@ -16,12 +16,23 @@
|
|
|
16
16
|
"""Implementation for internal polymorphism `sub` operations."""
|
|
17
17
|
|
|
18
18
|
from __future__ import absolute_import
|
|
19
|
+
from mindspore.ops.auto_generate.gen_ops_prim import InplaceSubExt, InplaceSubScalar
|
|
19
20
|
from mindspore.ops.composite.multitype_ops import _compile_utils as utils
|
|
20
21
|
from mindspore.ops.composite.multitype_ops._constexpr_utils import check_equal, make_tensor
|
|
21
22
|
from mindspore.ops.composite import base
|
|
22
23
|
from mindspore.ops import functional as F
|
|
23
24
|
|
|
24
25
|
|
|
26
|
+
# x -= y
|
|
27
|
+
augassign_sub = base.MultitypeFuncGraph('augassign_sub', True)
|
|
28
|
+
"""
|
|
29
|
+
`augassign_sub` is a metafuncgraph object which will compute the subtraction of two objects
|
|
30
|
+
using ".register" decorator.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
augassign_sub.set_need_raise()
|
|
34
|
+
|
|
35
|
+
|
|
25
36
|
sub = base.MultitypeFuncGraph("sub", True)
|
|
26
37
|
"""
|
|
27
38
|
`sub` is a metafuncgraph object which will compute the subtraction of two objects
|
|
@@ -30,30 +41,45 @@ using ".register" decorator.
|
|
|
30
41
|
sub.set_need_raise()
|
|
31
42
|
|
|
32
43
|
|
|
44
|
+
@augassign_sub.register("Number", "Number")
|
|
33
45
|
@sub.register("Number", "Number")
|
|
34
46
|
def _sub_scalar(x, y):
|
|
35
47
|
"""Returns x - y where x and y are all scalars."""
|
|
36
48
|
return F.scalar_sub(x, y)
|
|
37
49
|
|
|
38
50
|
|
|
51
|
+
@augassign_sub.register("Tensor", "Tensor")
|
|
52
|
+
def _sub_tensor_augassign(x, y):
|
|
53
|
+
"""Returns x - y where x and y are all tensors."""
|
|
54
|
+
return InplaceSubExt()(x, y)
|
|
55
|
+
|
|
56
|
+
|
|
39
57
|
@sub.register("Tensor", "Tensor")
|
|
40
58
|
def _sub_tensor(x, y):
|
|
41
59
|
"""Returns x - y where x and y are all tensors."""
|
|
42
60
|
return F.tensor_sub(x, y)
|
|
43
61
|
|
|
44
62
|
|
|
63
|
+
@augassign_sub.register("Number", "Tensor")
|
|
45
64
|
@sub.register("Number", "Tensor")
|
|
46
65
|
def _scalar_sub_tensor(x, y):
|
|
47
66
|
"""Returns x - y where x is a scalar and y is a tensor. x and y should have same dtype."""
|
|
48
67
|
return F.tensor_sub(x, y)
|
|
49
68
|
|
|
50
69
|
|
|
70
|
+
@augassign_sub.register("Tensor", "Number")
|
|
71
|
+
def _tensor_sub_scalar_augassign(x, y):
|
|
72
|
+
"""Returns x - y where x is a tensor and y is a scalar. x and y should have same dtype."""
|
|
73
|
+
return InplaceSubScalar()(x, y)
|
|
74
|
+
|
|
75
|
+
|
|
51
76
|
@sub.register("Tensor", "Number")
|
|
52
77
|
def _tensor_sub_scalar(x, y):
|
|
53
78
|
"""Returns x - y where x is a tensor and y is a scalar. x and y should have same dtype."""
|
|
54
79
|
return F.tensor_sub(x, y)
|
|
55
80
|
|
|
56
81
|
|
|
82
|
+
@augassign_sub.register("Tuple", "Tensor")
|
|
57
83
|
@sub.register("Tuple", "Tensor")
|
|
58
84
|
def _tuple_sub_tensor(x, y):
|
|
59
85
|
"""Returns x - y where x is a tuple and y is a tensor. """
|
|
@@ -61,6 +87,7 @@ def _tuple_sub_tensor(x, y):
|
|
|
61
87
|
return F.tensor_sub(x, y)
|
|
62
88
|
|
|
63
89
|
|
|
90
|
+
@augassign_sub.register("Tensor", "Tuple")
|
|
64
91
|
@sub.register("Tensor", "Tuple")
|
|
65
92
|
def _tensor_sub_tuple(x, y):
|
|
66
93
|
"""Returns x - y where x is a tensor and y is a tuple. """
|
|
@@ -68,6 +95,7 @@ def _tensor_sub_tuple(x, y):
|
|
|
68
95
|
return F.tensor_sub(x, y)
|
|
69
96
|
|
|
70
97
|
|
|
98
|
+
@augassign_sub.register("List", "Tensor")
|
|
71
99
|
@sub.register("List", "Tensor")
|
|
72
100
|
def _list_sub_tensor(x, y):
|
|
73
101
|
"""Returns x - y where x is a list and y is a tensor. """
|
|
@@ -75,6 +103,7 @@ def _list_sub_tensor(x, y):
|
|
|
75
103
|
return F.tensor_sub(x, y)
|
|
76
104
|
|
|
77
105
|
|
|
106
|
+
@augassign_sub.register("Tensor", "List")
|
|
78
107
|
@sub.register("Tensor", "List")
|
|
79
108
|
def _tensor_sub_list(x, y):
|
|
80
109
|
"""Returns x - y where x is a tensor and y is a list. """
|
|
@@ -82,6 +111,7 @@ def _tensor_sub_list(x, y):
|
|
|
82
111
|
return F.tensor_sub(x, y)
|
|
83
112
|
|
|
84
113
|
|
|
114
|
+
@augassign_sub.register("CSRTensor", "CSRTensor")
|
|
85
115
|
@sub.register("CSRTensor", "CSRTensor")
|
|
86
116
|
def _sub_csrtensor(x, y):
|
|
87
117
|
"""Returns x - y where x and y are all CSR tensors."""
|
|
@@ -89,6 +119,7 @@ def _sub_csrtensor(x, y):
|
|
|
89
119
|
return F.csr_add(x, y, make_tensor(1, x.values.dtype), make_tensor(-1, x.values.dtype))
|
|
90
120
|
|
|
91
121
|
|
|
122
|
+
@augassign_sub.register("COOTensor", "COOTensor")
|
|
92
123
|
@sub.register("COOTensor", "COOTensor")
|
|
93
124
|
def _sub_cootensor(x, y):
|
|
94
125
|
"""Returns x - y where x and y are all COO tensors."""
|
|
@@ -96,6 +127,7 @@ def _sub_cootensor(x, y):
|
|
|
96
127
|
return F.coo_add(x, -y, make_tensor(0, x.values.dtype))
|
|
97
128
|
|
|
98
129
|
|
|
130
|
+
@augassign_sub.register("Tensor", "COOTensor")
|
|
99
131
|
@sub.register("Tensor", "COOTensor")
|
|
100
132
|
def _tensor_sub_cootensor(x, y):
|
|
101
133
|
"""Returns x - y where x is a tensor and y is a COO tensor."""
|
|
@@ -103,6 +135,7 @@ def _tensor_sub_cootensor(x, y):
|
|
|
103
135
|
return F.tensor_scatter_sub(x, y.indices, y.values)
|
|
104
136
|
|
|
105
137
|
|
|
138
|
+
@augassign_sub.register("COOTensor", "Tensor")
|
|
106
139
|
@sub.register("COOTensor", "Tensor")
|
|
107
140
|
def _cootensor_sub_tensor(x, y):
|
|
108
141
|
"""Returns x - y where x is a COO tensor and y is a tensor."""
|
|
@@ -111,6 +144,7 @@ def _cootensor_sub_tensor(x, y):
|
|
|
111
144
|
|
|
112
145
|
|
|
113
146
|
# pylint: disable=protected-access
|
|
147
|
+
@augassign_sub._register_default()
|
|
114
148
|
@sub._register_default()
|
|
115
149
|
def default_sub(x, y):
|
|
116
150
|
"""Default function for sub."""
|
|
@@ -213,6 +213,20 @@ def _zeros_like_env_type(x):
|
|
|
213
213
|
return F.environ_create()
|
|
214
214
|
|
|
215
215
|
|
|
216
|
+
@zeros_like_leaf.register("Slice")
|
|
217
|
+
def _zeros_like_slice(x):
|
|
218
|
+
"""
|
|
219
|
+
Slice.
|
|
220
|
+
|
|
221
|
+
Args:
|
|
222
|
+
x (Slice): the input
|
|
223
|
+
|
|
224
|
+
Returns:
|
|
225
|
+
x.
|
|
226
|
+
"""
|
|
227
|
+
return x
|
|
228
|
+
|
|
229
|
+
|
|
216
230
|
class _ZerosLike(base.ZerosLike_):
|
|
217
231
|
def __init__(self, name, fn_leaf):
|
|
218
232
|
"""Initialize _ZerosLike."""
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
# ============================================================================
|
|
15
15
|
"""_add_attr"""
|
|
16
16
|
|
|
17
|
+
__all__ = ["_add_attr"]
|
|
18
|
+
|
|
17
19
|
from typing import Callable
|
|
18
20
|
import mindspore as ms
|
|
19
21
|
from mindspore._c_expression import AddAttr_
|
|
@@ -36,13 +38,12 @@ class AddAttr(AddAttr_):
|
|
|
36
38
|
if (not isinstance(fn, Callable)) or isinstance(fn, Primitive):
|
|
37
39
|
raise TypeError(f"the parameter 'fn' must be callable type except Primitive, but got:{type(fn)}")
|
|
38
40
|
|
|
39
|
-
if self.
|
|
40
|
-
self.fn is not None and self.fn == fn and \
|
|
41
|
-
self.attrs_dict is not None and self.attrs_dict == kwargs:
|
|
41
|
+
if self._is_attr_set(fn, kwargs):
|
|
42
42
|
return self.addattr_fn
|
|
43
43
|
|
|
44
44
|
add_attr_ = AddAttr()
|
|
45
45
|
attr_kv_pair = tuple(kwargs.items())
|
|
46
|
+
|
|
46
47
|
@ms.common.jit
|
|
47
48
|
def add_attr_fn(*args):
|
|
48
49
|
return add_attr_(fn, attr_kv_pair)(*args)
|
|
@@ -52,7 +53,11 @@ class AddAttr(AddAttr_):
|
|
|
52
53
|
self.attrs_dict = kwargs
|
|
53
54
|
return self.addattr_fn
|
|
54
55
|
|
|
55
|
-
def
|
|
56
|
-
|
|
56
|
+
def _is_attr_set(self, fn, kwargs):
|
|
57
|
+
return self.addattr_fn is not None and self.addattr_fn == fn and \
|
|
58
|
+
self.fn is not None and self.fn == fn and \
|
|
59
|
+
self.attrs_dict is not None and self.attrs_dict == kwargs
|
|
57
60
|
|
|
58
|
-
|
|
61
|
+
|
|
62
|
+
def _add_attr(fn, **kwargs):
|
|
63
|
+
return AddAttr()(fn, **kwargs)
|
|
@@ -107,12 +107,10 @@ from mindspore.ops.auto_generate import cat, range, scatter_nd, deepcopy, masked
|
|
|
107
107
|
expand_as, unstack_ext_view_op, full_like_op, \
|
|
108
108
|
index_fill_scalar, index_fill_tensor
|
|
109
109
|
from mindspore.ops.auto_generate import take, tensor_scatter_elements as tensor_scatter_elements_ext
|
|
110
|
-
from mindspore.ops.auto_generate.gen_ops_prim import scatter_add_ext_op, gather_d_op, slice_op, tril_ext_op
|
|
110
|
+
from mindspore.ops.auto_generate.gen_ops_prim import scatter_add_ext_op, gather_d_op, slice_op, tril_ext_op, \
|
|
111
|
+
split_tensor_op, split_with_size_op
|
|
111
112
|
from mindspore.ops.operations.manually_defined import tile, rank, scalar_cast
|
|
112
113
|
from mindspore.ops.auto_generate.pyboost_inner_prim import _PyboostOneHotExtPrim
|
|
113
|
-
from mindspore._c_expression import pyboost_empty
|
|
114
|
-
from mindspore._c_expression import pyboost_empty_like
|
|
115
|
-
from mindspore._c_expression import pyboost_new_empty
|
|
116
114
|
|
|
117
115
|
arg_max_with_value_ = ArgMaxWithValue()
|
|
118
116
|
arg_min_with_value_ = ArgMinWithValue()
|
|
@@ -517,92 +515,6 @@ def reverse(x, axis):
|
|
|
517
515
|
return flip(x, axis)
|
|
518
516
|
|
|
519
517
|
|
|
520
|
-
def empty(*size, dtype=None, device=None):
|
|
521
|
-
r"""
|
|
522
|
-
Creates a tensor with uninitialized data, whose shape, dtype and device are described by the argument `size`,
|
|
523
|
-
`dtype` and `device` respectively.
|
|
524
|
-
|
|
525
|
-
.. warning::
|
|
526
|
-
This is an experimental API that is subject to change or deletion.
|
|
527
|
-
|
|
528
|
-
Args:
|
|
529
|
-
size (Union[tuple[int], list[int], int]): The specified shape of output tensor. Only positive integer or
|
|
530
|
-
tuple or list containing positive integers are allowed.
|
|
531
|
-
|
|
532
|
-
Keyword Args:
|
|
533
|
-
dtype (:class:`mindspore.dtype`, optional): The specified type of output tensor. If `dtype` is ``None`` ,
|
|
534
|
-
`mindspore.float32` will be used. Default: ``None`` .
|
|
535
|
-
device (string, optional): The specified device of the output tensor. Support ``CPU`` and ``Ascend``. If
|
|
536
|
-
`device = None`, the value set by :func:`mindspore.set_device` will be used. Default ``None``.
|
|
537
|
-
|
|
538
|
-
Returns:
|
|
539
|
-
Tensor, whose dtype and size are defined by input.
|
|
540
|
-
|
|
541
|
-
Raises:
|
|
542
|
-
TypeError: If `size` is neither an int nor a tuple or list of int.
|
|
543
|
-
|
|
544
|
-
Supported Platforms:
|
|
545
|
-
``Ascend``
|
|
546
|
-
|
|
547
|
-
Examples:
|
|
548
|
-
>>> import mindspore
|
|
549
|
-
>>> from mindspore import ops
|
|
550
|
-
>>> output = ops.empty((2, 3), dtype=mindspore.float32)
|
|
551
|
-
>>> print(output)
|
|
552
|
-
[[0. 0. 0.]
|
|
553
|
-
[0. 0. 0.]]
|
|
554
|
-
"""
|
|
555
|
-
|
|
556
|
-
return pyboost_empty([size, dtype, device])
|
|
557
|
-
|
|
558
|
-
def empty_like(input, *, dtype=None, device=None):
|
|
559
|
-
r"""
|
|
560
|
-
Returns an uninitialized Tensor with the same shape as the `input`. Its dtype is specified by `dtype` and its
|
|
561
|
-
device is specified by `device`.
|
|
562
|
-
|
|
563
|
-
.. warning::
|
|
564
|
-
This is an experimental API that is subject to change or deletion.
|
|
565
|
-
|
|
566
|
-
Args:
|
|
567
|
-
input (Tensor): Tensor of any dimension.
|
|
568
|
-
|
|
569
|
-
Keyword Args:
|
|
570
|
-
dtype (:class:`mindspore.dtype`, optional): The specified dtype of the output tensor. If `dtype = None`, the
|
|
571
|
-
tensor will have the same dtype as input `input`. Default ``None``.
|
|
572
|
-
device (string, optional): The specified device of the output tensor. Support ``CPU`` and ``Ascend``. If
|
|
573
|
-
`device = None`, the tensor will have the same device as input `input` and if the device of the input
|
|
574
|
-
tensor is not defined, the value set by :func:`mindspore.set_device` will be used. Default ``None``.
|
|
575
|
-
|
|
576
|
-
Returns:
|
|
577
|
-
Tensor, has the same shape, type and device as `input` but with uninitialized data (May be a random value).
|
|
578
|
-
|
|
579
|
-
Raises:
|
|
580
|
-
TypeError: If `input` is not a Tensor.
|
|
581
|
-
|
|
582
|
-
Supported Platforms:
|
|
583
|
-
``Ascend``
|
|
584
|
-
|
|
585
|
-
Examples:
|
|
586
|
-
>>> import mindspore
|
|
587
|
-
>>> from mindspore import ops, Tensor
|
|
588
|
-
>>> x = Tensor([[1, 2, 3], [4, 5, 6]])
|
|
589
|
-
>>> output1 = ops.empty_like(x)
|
|
590
|
-
>>> print(output1)
|
|
591
|
-
[[0 0 0]
|
|
592
|
-
[0 0 0]]
|
|
593
|
-
>>> output2 = ops.empty_like(x, dtype=mindspore.float64)
|
|
594
|
-
>>> print(output2)
|
|
595
|
-
[[0. 0. 0.]
|
|
596
|
-
[0. 0. 0.]]
|
|
597
|
-
"""
|
|
598
|
-
|
|
599
|
-
return pyboost_empty_like([input, dtype, device])
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
def new_empty(input, size, dtype, device):
|
|
603
|
-
return pyboost_new_empty([input, size, dtype, device])
|
|
604
|
-
|
|
605
|
-
|
|
606
518
|
def ravel(input):
|
|
607
519
|
"""
|
|
608
520
|
Expand the multidimensional Tensor into 1D along the 0 axis direction.
|
|
@@ -3267,7 +3179,7 @@ def _get_slice_scatter_const(x_shape, axis, start, end, step):
|
|
|
3267
3179
|
x_rank = len(x_shape)
|
|
3268
3180
|
axis = axis if axis >= 0 else axis + x_rank
|
|
3269
3181
|
start = start if start is not None else 0
|
|
3270
|
-
start = start if start >= 0 else start +
|
|
3182
|
+
start = start if start >= 0 else start + x_shape[axis]
|
|
3271
3183
|
end = end if end is not None else x_shape[axis]
|
|
3272
3184
|
end = end if end >= 0 else end + x_shape[axis]
|
|
3273
3185
|
end = end if end < x_shape[axis] else x_shape[axis]
|
|
@@ -4607,9 +4519,9 @@ def split_ext(tensor, split_size, dim=0):
|
|
|
4607
4519
|
Tensor(shape=[3], dtype=Float32, value= [ 6.00000000e+00, 7.00000000e+00, 8.00000000e+00]))
|
|
4608
4520
|
"""
|
|
4609
4521
|
if isinstance(split_size, int):
|
|
4610
|
-
res =
|
|
4522
|
+
res = split_tensor_op(tensor, split_size, dim)
|
|
4611
4523
|
elif isinstance(split_size, (list, tuple)):
|
|
4612
|
-
res =
|
|
4524
|
+
res = split_with_size_op(tensor, split_size, dim)
|
|
4613
4525
|
else:
|
|
4614
4526
|
raise TypeError(f"Type of Argument `split_size` should be integer, tuple(int) or list(int), "
|
|
4615
4527
|
f"but got {type(split_size)}")
|
|
@@ -5430,6 +5342,7 @@ def narrow(input, axis, start, length):
|
|
|
5430
5342
|
sizes[axis] = length
|
|
5431
5343
|
return tensor_slice(input, begins, sizes)
|
|
5432
5344
|
|
|
5345
|
+
|
|
5433
5346
|
def topk(input, k, dim=None, largest=True, sorted=True):
|
|
5434
5347
|
r"""
|
|
5435
5348
|
Return the top `k` largest or smallest elements of the input tensor along a specified dimension.
|
|
@@ -5897,7 +5810,7 @@ def nonzero(input, *, as_tuple=False):
|
|
|
5897
5810
|
input (Tensor): The input tensor.
|
|
5898
5811
|
|
|
5899
5812
|
.. note::
|
|
5900
|
-
- Ascend: Rank of Input tensor can be equal to 0 except
|
|
5813
|
+
- Ascend: Rank of Input tensor can be equal to 0 except GE backend.
|
|
5901
5814
|
- CPU/GPU: Rank of Input tensor should be greater than or eaqual to 1.
|
|
5902
5815
|
|
|
5903
5816
|
Keyword Args:
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
|
|
16
16
|
"""Operators for debug function."""
|
|
17
17
|
|
|
18
|
+
__all__ = ['print_', 'tensordump']
|
|
19
|
+
|
|
18
20
|
from mindspore.ops.operations.debug_ops import Print
|
|
19
21
|
from mindspore.common.tensor import Tensor
|
|
20
22
|
from mindspore.ops import operations as P
|
|
@@ -22,7 +24,7 @@ from .._primitive_cache import _get_cache_prim
|
|
|
22
24
|
|
|
23
25
|
|
|
24
26
|
def print_(*input_x):
|
|
25
|
-
"""
|
|
27
|
+
r"""
|
|
26
28
|
Outputs the inputs to stdout.
|
|
27
29
|
The outputs are printed to screen by default.
|
|
28
30
|
It can also be saved in a file by setting the parameter `print_file_path` in `context`.
|
|
@@ -38,7 +40,7 @@ def print_(*input_x):
|
|
|
38
40
|
This function is used for debugging.
|
|
39
41
|
|
|
40
42
|
Args:
|
|
41
|
-
input_x (Union[Tensor, bool, int, float, str, tuple, list]): The inputs of
|
|
43
|
+
input_x (Union[Tensor, bool, int, float, str, tuple, list]): The inputs of print\_.
|
|
42
44
|
Supports multiple inputs which are separated by ','.
|
|
43
45
|
|
|
44
46
|
Returns:
|
|
@@ -176,6 +178,5 @@ def tensordump(file_name, tensor, mode='out'):
|
|
|
176
178
|
_tensordump = _get_cache_prim(P.TensorDump)(input_output=mode)
|
|
177
179
|
return _tensordump(file_name, tensor)
|
|
178
180
|
|
|
179
|
-
__all__ = ['print_', 'tensordump']
|
|
180
181
|
|
|
181
182
|
__all__.sort()
|
|
@@ -1395,7 +1395,7 @@ def stop_gradient(value):
|
|
|
1395
1395
|
>>> mindspore.ops.grad(f1)(mindspore.tensor(x))
|
|
1396
1396
|
Tensor(shape=[], dtype=Float32, value= 6)
|
|
1397
1397
|
>>>
|
|
1398
|
-
>>> #
|
|
1398
|
+
>>> # With stop_gradient, return a zero gradient because x is effectively treated as a constant.
|
|
1399
1399
|
>>> def f2(x):
|
|
1400
1400
|
... return mindspore.ops.stop_gradient(x) ** 2
|
|
1401
1401
|
>>> f2(x)
|