mindspore 2.6.0rc1__cp310-cp310-win_amd64.whl → 2.7.0rc1__cp310-cp310-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/__init__.py +1 -1
- mindspore/_c_dataengine.cp310-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp310-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp310-win_amd64.pyd +0 -0
- mindspore/_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/atlprov.dll +0 -0
- mindspore/avcodec-59.dll +0 -0
- mindspore/avdevice-59.dll +0 -0
- mindspore/avfilter-8.dll +0 -0
- mindspore/avformat-59.dll +0 -0
- mindspore/avutil-57.dll +0 -0
- mindspore/boost/adasum.py +1 -1
- mindspore/boost/boost_cell_wrapper.py +4 -4
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- 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/dpcmi.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/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/nn/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/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- 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/tbbmalloc.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/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- 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 +356 -394
- 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
|
@@ -56,7 +56,7 @@ class AutoGradRegHeaderGenerator(BaseGenerator):
|
|
|
56
56
|
op_grad_func_obj_list = []
|
|
57
57
|
index = 0
|
|
58
58
|
for op_proto in op_protos:
|
|
59
|
-
if op_proto.op_dispatch is None
|
|
59
|
+
if op_proto.op_dispatch is None:
|
|
60
60
|
continue
|
|
61
61
|
op_type_enum_list.append(self.op_type_enum_template.replace(class_name=op_proto.op_class.name,
|
|
62
62
|
enum_val=index))
|
|
@@ -87,7 +87,7 @@ class AutoGradRegHeaderGenerator(BaseGenerator):
|
|
|
87
87
|
input_tensor_prt_args_str = ""
|
|
88
88
|
for op_arg in op_proto.op_args:
|
|
89
89
|
is_optional = is_optional_param(op_arg)
|
|
90
|
-
input_dtype = get_input_dtype(op_arg.arg_dtype, is_optional)
|
|
90
|
+
input_dtype = get_input_dtype(op_arg.arg_dtype, is_optional, op_proto.op_view)
|
|
91
91
|
input_tensor_prt_args_str += f"const {input_dtype} &, "
|
|
92
92
|
|
|
93
93
|
return self.op_grad_func_args_template.replace(input_tensor_prt_args=input_tensor_prt_args_str.rstrip(', '))
|
|
@@ -26,7 +26,11 @@ from .pyboost_inner_prim_generator import PyboostInnerPrimGenerator
|
|
|
26
26
|
from .pyboost_functions_py_generator import PyboostFunctionsPyGenerator
|
|
27
27
|
from .pyboost_functions_h_generator import PyboostFunctionsHeaderGenerator
|
|
28
28
|
from .pyboost_functions_cpp_generator import PyboostFunctionsGenerator
|
|
29
|
+
from .pyboost_functions_impl_cpp_generator import PyboostFunctionsImplGenerator
|
|
29
30
|
from .pyboost_grad_function_cpp_generator import PyboostGradFunctionsGenerator
|
|
31
|
+
from .pyboost_internal_functions_h_generator import PyboostInternalFunctionsHeaderGenerator
|
|
32
|
+
from .pyboost_internal_functions_cpp_generator import PyboostInternalFunctionsCppGenerator
|
|
33
|
+
from .pyboost_internal_kernel_info_adapter_generator import PyboostKernelInfoAdapterGenerator
|
|
30
34
|
from .pyboost_native_grad_functions_generator import (
|
|
31
35
|
PyboostGradFunctionsHeaderGenerator,
|
|
32
36
|
PyboostGradFunctionsCppGenerator,
|
|
@@ -35,6 +39,7 @@ from .pyboost_op_cpp_code_generator import (
|
|
|
35
39
|
PyboostCommonOpHeaderGenerator,
|
|
36
40
|
PyboostOpFunctionGenerator,
|
|
37
41
|
PyboostOpHeaderGenerator,
|
|
42
|
+
PyboostInternalOpHeaderGenerator,
|
|
38
43
|
delete_residual_files,
|
|
39
44
|
PyboostOpRegisterCppCodeGenerator,
|
|
40
45
|
)
|
|
@@ -68,6 +73,9 @@ def gen_pyboost_code(resource_mgr):
|
|
|
68
73
|
call_pyboost_functions_h_generator(work_path, op_protos)
|
|
69
74
|
call_pyboost_functions_cpp_generator(work_path, op_protos)
|
|
70
75
|
call_pyboost_overload_functions_cpp_generator(work_path, op_protos, mint_func_protos, alias_func_mapping)
|
|
76
|
+
call_pyboost_internal_functions_h_generator(work_path, op_protos)
|
|
77
|
+
call_pyboost_internal_functions_cpp_generator(work_path, op_protos)
|
|
78
|
+
call_pyboost_internal_kernel_info_adapter_generator(work_path, op_protos)
|
|
71
79
|
call_pyboost_grad_functions_cpp_generator(work_path, op_protos)
|
|
72
80
|
call_pyboost_native_grad_functions_generator(work_path, op_protos)
|
|
73
81
|
call_pyboost_op_cpp_code_generator(work_path, op_protos)
|
|
@@ -117,7 +125,27 @@ def call_pyboost_functions_h_generator(work_path, op_protos):
|
|
|
117
125
|
generator.generate(work_path, op_protos)
|
|
118
126
|
|
|
119
127
|
|
|
128
|
+
def call_pyboost_internal_functions_h_generator(work_path, op_protos):
|
|
129
|
+
"gen internal op functions headers"
|
|
130
|
+
generator = PyboostInternalFunctionsHeaderGenerator()
|
|
131
|
+
generator.generate(work_path, op_protos)
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
def call_pyboost_internal_functions_cpp_generator(work_path, op_protos):
|
|
135
|
+
"gen internal op functions sources"
|
|
136
|
+
generator = PyboostInternalFunctionsCppGenerator()
|
|
137
|
+
generator.generate(work_path, op_protos)
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def call_pyboost_internal_kernel_info_adapter_generator(work_path, op_protos):
|
|
141
|
+
"gen kernel info adapter for internal op"
|
|
142
|
+
generator = PyboostKernelInfoAdapterGenerator()
|
|
143
|
+
generator.generate(work_path, op_protos)
|
|
144
|
+
|
|
145
|
+
|
|
120
146
|
def call_pyboost_functions_cpp_generator(work_path, op_protos):
|
|
147
|
+
impl_generator = PyboostFunctionsImplGenerator()
|
|
148
|
+
impl_generator.generate(work_path, op_protos)
|
|
121
149
|
generator = PyboostFunctionsGenerator()
|
|
122
150
|
generator.generate(work_path, op_protos)
|
|
123
151
|
|
|
@@ -160,8 +188,11 @@ def call_PyboostCommonOpCppCodeGenerator(work_path, op_protos):
|
|
|
160
188
|
|
|
161
189
|
|
|
162
190
|
def call_PyboostOpHeaderGenerator(work_path, op_protos):
|
|
191
|
+
""" generate pyboost op headers """
|
|
163
192
|
generator = PyboostOpHeaderGenerator('ascend')
|
|
164
193
|
generator.generate(work_path, op_protos)
|
|
194
|
+
generator = PyboostInternalOpHeaderGenerator('ascend')
|
|
195
|
+
generator.generate(work_path, op_protos)
|
|
165
196
|
|
|
166
197
|
generator = PyboostOpHeaderGenerator('gpu')
|
|
167
198
|
generator.generate(work_path, op_protos)
|
|
@@ -29,7 +29,7 @@ from common.op_proto import OpProto
|
|
|
29
29
|
from . import pyboost_utils
|
|
30
30
|
from .pyboost_utils import get_input_dtype, tuple_input_to_cpp_type, get_return_type, \
|
|
31
31
|
number_input_to_cpp_type, get_const_number_convert, get_tuple_input_convert, is_optional_param, \
|
|
32
|
-
get_input_args_type_str
|
|
32
|
+
get_input_args_type_str, basic_type_convert_str, input_dtype_to_cpp_type
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
class OpTemplateParser:
|
|
@@ -45,8 +45,42 @@ class OpTemplateParser:
|
|
|
45
45
|
|
|
46
46
|
def __init__(self, op_proto: OpProto):
|
|
47
47
|
self.op_proto = op_proto
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
self.tensor_arg_handler_prt_template = Template(
|
|
49
|
+
"parse_args.arg_list_[${idx}] = "
|
|
50
|
+
"py::cast((*pynative::${func_str}(\"${func_name}\", \"${op_arg_name}\", "
|
|
51
|
+
"parse_args.arg_list_[${idx}]))->value());\n"
|
|
52
|
+
"parse_args.src_types_[${idx}] = ops::OP_DTYPE::DT_BEGIN;\n"
|
|
53
|
+
"parse_args.dst_types_[${idx}] = ${new_type};\n"
|
|
54
|
+
)
|
|
55
|
+
self.function_arg_handler_prt_template = Template(
|
|
56
|
+
"parse_args.arg_list_[${idx}] = "
|
|
57
|
+
"py::cast((*${func_str}(\"${func_name}\", \"${op_arg_name}\", parse_args.arg_list_[${idx}]))->value());\n"
|
|
58
|
+
"parse_args.src_types_[${idx}] = ops::OP_DTYPE::DT_BEGIN;\n"
|
|
59
|
+
"parse_args.dst_types_[${idx}] = ${new_type};\n"
|
|
60
|
+
)
|
|
61
|
+
self.arg_handler_template = Template(
|
|
62
|
+
"parse_args.arg_list_[${idx}] = "
|
|
63
|
+
"py::cast(pynative::${func_str}(\"${func_name}\", \"${op_arg_name}\", parse_args.arg_list_[${idx}]));\n"
|
|
64
|
+
"parse_args.src_types_[${idx}] = ops::OP_DTYPE::DT_BEGIN;\n"
|
|
65
|
+
"parse_args.dst_types_[${idx}] = ${new_type};\n"
|
|
66
|
+
)
|
|
67
|
+
self.arg_handler_optional_template = Template(
|
|
68
|
+
'if (!py::isinstance<py::none>(parse_args.arg_list_[${idx}])) {\n'
|
|
69
|
+
' ${arg_handler_str}\n'
|
|
70
|
+
'}\n'
|
|
71
|
+
)
|
|
72
|
+
self.arg_handler_type_map = {"to_2d_paddings": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
73
|
+
"dtype_to_type_id": "ops::OP_DTYPE::DT_INT",
|
|
74
|
+
"to_kernel_size": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
75
|
+
"to_strides": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
76
|
+
"str_to_enum": "ops::OP_DTYPE::DT_INT",
|
|
77
|
+
"to_pair": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
78
|
+
"to_dilations": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
79
|
+
"to_output_padding": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
80
|
+
"to_rates": "ops::OP_DTYPE::DT_TUPLE_INT"}
|
|
81
|
+
|
|
82
|
+
@staticmethod
|
|
83
|
+
def _parse_call_args_types(op_proto, basic_type=False, is_convert=False):
|
|
50
84
|
"""
|
|
51
85
|
Parses the data types of the call arguments for the operator.
|
|
52
86
|
|
|
@@ -57,22 +91,37 @@ class OpTemplateParser:
|
|
|
57
91
|
list: A list of data types for the call arguments.
|
|
58
92
|
"""
|
|
59
93
|
call_args_types = []
|
|
60
|
-
|
|
94
|
+
if basic_type and not op_proto.op_view:
|
|
95
|
+
basic_type = False
|
|
96
|
+
raise Exception("Only view op support basic type now, please check.")
|
|
97
|
+
for op_arg in op_proto.op_args:
|
|
61
98
|
is_optional = is_optional_param(op_arg)
|
|
62
|
-
|
|
63
|
-
op_arg.
|
|
99
|
+
if is_convert:
|
|
100
|
+
if op_arg.is_type_id:
|
|
101
|
+
call_args_types.append('TypeId')
|
|
102
|
+
continue
|
|
103
|
+
call_args_types.append(input_dtype_to_cpp_type(
|
|
104
|
+
op_arg.arg_dtype, is_optional))
|
|
105
|
+
else:
|
|
106
|
+
call_args_types.append(get_input_dtype(
|
|
107
|
+
op_arg.arg_dtype, is_optional, basic_type))
|
|
64
108
|
return call_args_types
|
|
65
109
|
|
|
66
|
-
def parse_call_args_with_types(self):
|
|
110
|
+
def parse_call_args_with_types(self, basic_type=False, is_convert=False):
|
|
67
111
|
"""
|
|
68
112
|
Parses the original call arguments and their types for the operator.
|
|
69
113
|
|
|
70
114
|
Returns:
|
|
71
115
|
list: A list of formatted strings representing the call arguments with their types.
|
|
72
116
|
"""
|
|
73
|
-
call_args =
|
|
74
|
-
|
|
117
|
+
call_args = OpTemplateParser.parse_original_call_args(self.op_proto.op_args)
|
|
118
|
+
call_args_after_convert, _, _ = self.op_args_converter()
|
|
119
|
+
call_args_types = self._parse_call_args_types(self.op_proto, basic_type, is_convert)
|
|
75
120
|
call_args_with_types = []
|
|
121
|
+
if is_convert:
|
|
122
|
+
for type_name, arg_name in zip(call_args_types, call_args_after_convert):
|
|
123
|
+
call_args_with_types.append("const " + type_name + " &" + arg_name)
|
|
124
|
+
return call_args_with_types
|
|
76
125
|
for type_name, arg_name in zip(call_args_types, call_args):
|
|
77
126
|
call_args_with_types.append("const " + type_name + " &" + arg_name)
|
|
78
127
|
return call_args_with_types
|
|
@@ -90,7 +139,7 @@ class OpTemplateParser:
|
|
|
90
139
|
need_malloc_tensors = []
|
|
91
140
|
tensor_list_convert = []
|
|
92
141
|
call_args_with_tensor = []
|
|
93
|
-
call_args =
|
|
142
|
+
call_args = OpTemplateParser.parse_original_call_args(self.op_proto.op_args)
|
|
94
143
|
for op_arg, call_arg in zip(self.op_proto.op_args, call_args):
|
|
95
144
|
if pyboost_utils.is_tensor(op_arg):
|
|
96
145
|
call_arg = op_arg.arg_name + "_tensor"
|
|
@@ -105,7 +154,8 @@ class OpTemplateParser:
|
|
|
105
154
|
call_args_with_tensor.append(call_arg)
|
|
106
155
|
return need_malloc_tensors, tensor_list_convert, call_args_with_tensor
|
|
107
156
|
|
|
108
|
-
|
|
157
|
+
@staticmethod
|
|
158
|
+
def parse_original_call_args(op_args):
|
|
109
159
|
"""
|
|
110
160
|
Parses the original call arguments from the operator prototype.
|
|
111
161
|
|
|
@@ -139,7 +189,7 @@ class OpTemplateParser:
|
|
|
139
189
|
call_args_after_convert = []
|
|
140
190
|
value_tuple_convert = []
|
|
141
191
|
const_number_convert = []
|
|
142
|
-
call_args =
|
|
192
|
+
call_args = OpTemplateParser.parse_original_call_args(self.op_proto.op_args)
|
|
143
193
|
for op_arg, call_arg in zip(self.op_proto.op_args, call_args):
|
|
144
194
|
if number_input_to_cpp_type(op_arg.arg_dtype):
|
|
145
195
|
call_args_after_convert.append(call_arg + "_imm")
|
|
@@ -199,8 +249,7 @@ class OpTemplateParser:
|
|
|
199
249
|
args_signature = self.op_proto.op_args_signature
|
|
200
250
|
if args_signature is not None:
|
|
201
251
|
dtype_group = args_signature.dtype_group
|
|
202
|
-
indexes = {arg.arg_name: index for index,
|
|
203
|
-
arg in enumerate(self.op_proto.op_args)}
|
|
252
|
+
indexes = {arg.arg_name: index for index, arg in enumerate(self.op_proto.op_args)}
|
|
204
253
|
if dtype_group is not None:
|
|
205
254
|
match = re.findall(r'\((.*?)\)', dtype_group)
|
|
206
255
|
for item in match:
|
|
@@ -223,10 +272,10 @@ class OpTemplateParser:
|
|
|
223
272
|
list: A list of call arguments that are tensors.
|
|
224
273
|
"""
|
|
225
274
|
call_args_tensor = []
|
|
226
|
-
call_args_types = self._parse_call_args_types(self.op_proto
|
|
227
|
-
call_args =
|
|
275
|
+
call_args_types = self._parse_call_args_types(self.op_proto)
|
|
276
|
+
call_args = OpTemplateParser.parse_original_call_args(self.op_proto.op_args)
|
|
228
277
|
for _type, arg_name in zip(call_args_types, call_args):
|
|
229
|
-
if _type in ("mindspore::tensor::
|
|
278
|
+
if _type in ("mindspore::tensor::TensorPtr", "std::optional<mindspore::tensor::TensorPtr>"):
|
|
230
279
|
call_args_tensor.append(arg_name)
|
|
231
280
|
return call_args_tensor
|
|
232
281
|
|
|
@@ -258,8 +307,8 @@ class OpTemplateParser:
|
|
|
258
307
|
"""
|
|
259
308
|
returns_type = []
|
|
260
309
|
type_convert_to_base = {
|
|
261
|
-
'std::vector<mindspore::tensor::TensorPtr>': 'std::vector<mindspore::tensor::
|
|
262
|
-
'mindspore::tensor::TensorPtr': 'mindspore::tensor::
|
|
310
|
+
'std::vector<mindspore::tensor::TensorPtr>': 'std::vector<mindspore::tensor::TensorPtr>',
|
|
311
|
+
'mindspore::tensor::TensorPtr': 'mindspore::tensor::TensorPtr'
|
|
263
312
|
}
|
|
264
313
|
for return_obj in self.op_proto.op_returns:
|
|
265
314
|
temp_return = get_return_type(return_obj.arg_dtype)
|
|
@@ -316,14 +365,6 @@ class OpTemplateParser:
|
|
|
316
365
|
|
|
317
366
|
return op_outputs, call_outputs
|
|
318
367
|
|
|
319
|
-
def _is_input_arg(self, arg_name, op_name):
|
|
320
|
-
res = False
|
|
321
|
-
if op_name in K.INPUT_NAME_MAP and arg_name == K.INPUT_NAME_MAP[op_name]:
|
|
322
|
-
res = True
|
|
323
|
-
elif op_name not in K.INPUT_NAME_MAP and arg_name in K.INPUT_ARGS_NAME:
|
|
324
|
-
res = True
|
|
325
|
-
return res
|
|
326
|
-
|
|
327
368
|
def generate_signature_str(self, kw_only_args=None, varargs=None, *, is_tensor_api: bool) -> str:
|
|
328
369
|
"""
|
|
329
370
|
Generates a single function signature string for the given operation prototype.
|
|
@@ -348,7 +389,7 @@ class OpTemplateParser:
|
|
|
348
389
|
for arg in self.op_proto.op_args:
|
|
349
390
|
arg_name = arg.arg_name
|
|
350
391
|
|
|
351
|
-
if is_tensor_api and
|
|
392
|
+
if is_tensor_api and _is_input_arg(arg_name, op_name):
|
|
352
393
|
continue
|
|
353
394
|
|
|
354
395
|
single_arg = ''
|
|
@@ -398,42 +439,9 @@ class OpTemplateParser:
|
|
|
398
439
|
Returns:
|
|
399
440
|
str: Generated argument handler processing code.
|
|
400
441
|
"""
|
|
401
|
-
tensor_arg_handler_prt_template = Template(
|
|
402
|
-
"parse_args.arg_list_[${idx}] = "
|
|
403
|
-
"py::cast((*pynative::${func_str}(\"${func_name}\", \"${op_arg_name}\", \
|
|
404
|
-
parse_args.arg_list_[${idx}]))->value());\n"
|
|
405
|
-
"parse_args.src_types_[${idx}] = ops::OP_DTYPE::DT_BEGIN;\n"
|
|
406
|
-
"parse_args.dst_types_[${idx}] = ${new_type};\n"
|
|
407
|
-
)
|
|
408
|
-
function_arg_handler_prt_template = Template(
|
|
409
|
-
"parse_args.arg_list_[${idx}] = "
|
|
410
|
-
"py::cast((*${func_str}(\"${func_name}\", \"${op_arg_name}\", parse_args.arg_list_[${idx}]))->value());\n"
|
|
411
|
-
"parse_args.src_types_[${idx}] = ops::OP_DTYPE::DT_BEGIN;\n"
|
|
412
|
-
"parse_args.dst_types_[${idx}] = ${new_type};\n"
|
|
413
|
-
)
|
|
414
442
|
arg_handler_prt_template = (
|
|
415
|
-
tensor_arg_handler_prt_template) if is_tensor_api else function_arg_handler_prt_template
|
|
443
|
+
self.tensor_arg_handler_prt_template) if is_tensor_api else self.function_arg_handler_prt_template
|
|
416
444
|
|
|
417
|
-
arg_handler_template = Template(
|
|
418
|
-
"parse_args.arg_list_[${idx}] = "
|
|
419
|
-
"py::cast(pynative::${func_str}(\"${func_name}\", \"${op_arg_name}\", parse_args.arg_list_[${idx}]));\n"
|
|
420
|
-
"parse_args.src_types_[${idx}] = ops::OP_DTYPE::DT_BEGIN;\n"
|
|
421
|
-
"parse_args.dst_types_[${idx}] = ${new_type};\n"
|
|
422
|
-
)
|
|
423
|
-
arg_handler_optional_template = Template(
|
|
424
|
-
'if (!py::isinstance<py::none>(parse_args.arg_list_[${idx}])) {\n'
|
|
425
|
-
' ${arg_handler_str}\n'
|
|
426
|
-
'}\n'
|
|
427
|
-
)
|
|
428
|
-
arg_handler_type_map = {"to_2d_paddings": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
429
|
-
"dtype_to_type_id": "ops::OP_DTYPE::DT_INT",
|
|
430
|
-
"to_kernel_size": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
431
|
-
"to_strides": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
432
|
-
"str_to_enum": "ops::OP_DTYPE::DT_INT",
|
|
433
|
-
"to_pair": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
434
|
-
"to_dilations": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
435
|
-
"to_output_padding": "ops::OP_DTYPE::DT_TUPLE_INT",
|
|
436
|
-
"to_rates": "ops::OP_DTYPE::DT_TUPLE_INT"}
|
|
437
445
|
arg_handler_processor = []
|
|
438
446
|
op_args = op_proto.op_args
|
|
439
447
|
for idx, op_arg in enumerate(op_args):
|
|
@@ -442,7 +450,7 @@ parse_args.arg_list_[${idx}]))->value());\n"
|
|
|
442
450
|
for word in arg_handler.split('_'))
|
|
443
451
|
if arg_handler:
|
|
444
452
|
op_arg_name = op_arg.arg_name
|
|
445
|
-
new_type = arg_handler_type_map
|
|
453
|
+
new_type = self.arg_handler_type_map.get(arg_handler, "Not exist")
|
|
446
454
|
if func_str in ("StrToEnum", "DtypeToTypeId"):
|
|
447
455
|
arg_handler_str = arg_handler_prt_template.replace(func_str=func_str,
|
|
448
456
|
func_name=func_name,
|
|
@@ -450,20 +458,21 @@ parse_args.arg_list_[${idx}]))->value());\n"
|
|
|
450
458
|
idx=idx,
|
|
451
459
|
new_type=new_type)
|
|
452
460
|
else:
|
|
453
|
-
arg_handler_str = arg_handler_template.replace(func_str=func_str,
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
461
|
+
arg_handler_str = self.arg_handler_template.replace(func_str=func_str,
|
|
462
|
+
func_name=func_name,
|
|
463
|
+
op_arg_name=op_arg_name,
|
|
464
|
+
idx=idx,
|
|
465
|
+
new_type=new_type)
|
|
458
466
|
|
|
459
467
|
if op_arg.default == "None":
|
|
460
|
-
arg_handler_str = arg_handler_optional_template.replace(idx=idx,
|
|
461
|
-
|
|
468
|
+
arg_handler_str = self.arg_handler_optional_template.replace(idx=idx,
|
|
469
|
+
arg_handler_str=arg_handler_str)
|
|
462
470
|
arg_handler_processor.append(arg_handler_str)
|
|
463
471
|
|
|
464
472
|
return arg_handler_processor
|
|
465
473
|
|
|
466
|
-
|
|
474
|
+
@staticmethod
|
|
475
|
+
def get_input_tensor_index(op_proto):
|
|
467
476
|
"""
|
|
468
477
|
Get index of input.
|
|
469
478
|
|
|
@@ -500,14 +509,22 @@ parse_args.arg_list_[${idx}]))->value());\n"
|
|
|
500
509
|
if is_tensor_api:
|
|
501
510
|
self_index = self.get_input_tensor_index(op_proto)
|
|
502
511
|
convert_args_str = ""
|
|
512
|
+
arg_basic_convert_template = Template("parse_args.${convert_func}(${index}), ")
|
|
503
513
|
for idx, op_arg in enumerate(op_proto.op_args):
|
|
504
514
|
if is_tensor_api:
|
|
505
515
|
if self_index == idx:
|
|
506
516
|
convert_args_str += "input_tensor, "
|
|
507
517
|
continue
|
|
508
518
|
is_optional = is_optional_param(op_arg)
|
|
519
|
+
if op_proto.op_view:
|
|
520
|
+
convert_func = basic_type_convert_str(op_arg.arg_dtype, False)
|
|
521
|
+
if convert_func != "":
|
|
522
|
+
arg_convert_str = arg_basic_convert_template.replace(convert_func=convert_func,
|
|
523
|
+
index=idx)
|
|
524
|
+
convert_args_str += arg_convert_str
|
|
525
|
+
continue
|
|
509
526
|
arg_convert_template = Template("parse_args.ConvertOptional<${des_type}>(${index}), ") if is_optional \
|
|
510
|
-
|
|
527
|
+
else Template("parse_args.Convert<${des_type}>(${index}), ")
|
|
511
528
|
if op_arg.is_type_id:
|
|
512
529
|
arg_type_str = get_input_args_type_str('type', False)
|
|
513
530
|
else:
|
|
@@ -515,3 +532,12 @@ parse_args.arg_list_[${idx}]))->value());\n"
|
|
|
515
532
|
convert_args_str += arg_convert_template.replace(index=idx,
|
|
516
533
|
des_type=arg_type_str[:-3])
|
|
517
534
|
return convert_args_str[:-2]
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
def _is_input_arg(arg_name, op_name):
|
|
538
|
+
res = False
|
|
539
|
+
if op_name in K.INPUT_NAME_MAP and arg_name == K.INPUT_NAME_MAP[op_name]:
|
|
540
|
+
res = True
|
|
541
|
+
elif op_name not in K.INPUT_NAME_MAP and arg_name in K.INPUT_ARGS_NAME:
|
|
542
|
+
res = True
|
|
543
|
+
return res
|