mindstudio-probe 8.3.0__tar.gz → 8.3.3__tar.gz
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.
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/PKG-INFO +1 -1
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/mindstudio_probe.egg-info/PKG-INFO +1 -1
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/mindstudio_probe.egg-info/SOURCES.txt +0 -10
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/README.md +8 -5
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/const.py +17 -3
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/file_utils.py +64 -13
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/framework_adapter.py +10 -1
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/utils.py +17 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/utils.py +26 -6
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/ckpt_compare/ckpt_comparator.py +6 -1
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/hook_manager.py +2 -16
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/service.py +5 -16
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/01.installation.md +2 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/02.config_introduction.md +0 -13
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/05.data_dump_PyTorch.md +1 -1
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/07.accuracy_checker_PyTorch.md +13 -13
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/10.accuracy_compare_PyTorch.md +6 -6
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/14.data_parse_PyTorch.md +2 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/19.monitor.md +4 -4
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/21.visualization_PyTorch.md +1 -1
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/25.tool_function_introduction.md +0 -1
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/32.ckpt_compare.md +5 -5
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/monitor/module_hook.py +17 -20
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/nan_analyze/graph.py +2 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/common/config.py +3 -36
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_compare.py +0 -24
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/compare/compare.py +2 -12
- mindstudio_probe-8.3.3/msprobe/pytorch/api_accuracy_checker/config.yaml +5 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/run_ut/multi_run_ut.py +34 -5
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py +12 -132
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/common/utils.py +0 -70
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/debugger/debugger_config.py +0 -10
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/dump/module_dump/module_processer.py +18 -3
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/hook_module/api_register.py +14 -3
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/monitor/module_hook.py +16 -34
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/pt_config.py +2 -51
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/pytorch_service.py +10 -14
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/builder/graph_builder.py +2 -2
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/builder/graph_merger.py +13 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/db_utils.py +42 -18
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/graph/graph.py +13 -9
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/graph_service.py +20 -10
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/setup.py +1 -1
- mindstudio_probe-8.3.0/msprobe/docs/08.accuracy_checker_online_PyTorch.md +0 -295
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/config.yaml +0 -10
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/attl.py +0 -205
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/client.py +0 -378
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/device_dispatch.py +0 -239
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/dump_dispatch.py +0 -115
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/server.py +0 -250
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/torch_ops_config.yaml +0 -63
- mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/utils.py +0 -198
- mindstudio_probe-8.3.0/msprobe/pytorch/attl_manager.py +0 -65
- mindstudio_probe-8.3.0/msprobe/pytorch/parse_tool/lib/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/LICENSE +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/MANIFEST.in +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/mindstudio_probe.egg-info/dependency_links.txt +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/mindstudio_probe.egg-info/entry_points.txt +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/mindstudio_probe.egg-info/not-zip-safe +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/mindstudio_probe.egg-info/requires.txt +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/mindstudio_probe.egg-info/top_level.txt +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/CMakeLists.txt +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/config.json +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/advisor/advisor.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/advisor/advisor_const.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/advisor/advisor_result.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/db_manager.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/decorator.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/exceptions.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/global_lock.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/inplace_op_checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/inplace_ops.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/log.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/megatron_utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/parallel_state.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common/runtime.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/common_config.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/acc_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/check.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/compare_cli.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/config.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/diff_analyze/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/diff_analyze/diff_analyze_threshold.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/diff_analyze/first_diff_analyze.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/find_first/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/find_first/analyzer.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/find_first/data_processor.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/find_first/graph.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/find_first/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/highlight.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/layer_mapping/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/layer_mapping/data_scope_parser.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/layer_mapping/layer_mapping.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/layer_mapping/postprocess_pass.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/merge_result/merge_result.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/merge_result/merge_result_cli.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/merge_result/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/ms_to_pt_api.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/multiprocessing_compute.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/compare/npy_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/checkers/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/checkers/base_checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/checkers/dataset_checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/checkers/env_args_checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/checkers/hyperparameter_checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/checkers/pip_checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/checkers/random_checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/checkers/weights_checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/ckpt_compare/megatron_loader.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/ckpt_compare/metrics.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/ckpt_compare/name_mapping.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/config_check_cli.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/config_checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/resource/dependency.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/resource/env.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/resource/hyperparameter.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/utils/hyperparameter_parser.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/config_check/utils/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/data_dump/api_registry.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/data_dump/data_collector.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/data_dump/data_processor/base.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/data_dump/data_processor/factory.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/data_dump/data_processor/mindspore_processor.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/data_dump/data_processor/pytorch_processor.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/data_dump/json_writer.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/data_dump/scope.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/debugger/precision_debugger.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/grad_probe/constant.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/grad_probe/grad_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/grad_probe/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/kernel_dump/kernel_config.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/monitor/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/monitor/anomaly_processor.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/monitor/csv2db.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/monitor/db_utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/monitor/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/overflow_check/abnormal_scene.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/overflow_check/api_info.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/overflow_check/checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/overflow_check/filter.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/overflow_check/ignore_rules.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/overflow_check/level.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/overflow_check/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/single_save/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/single_save/single_comparator.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/core/single_save/single_saver.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/03.config_examples.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/04.kernel_dump_PyTorch.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/06.data_dump_MindSpore.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/09.accuracy_checker_MindSpore.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/11.accuracy_compare_MindSpore.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/12.overflow_check_PyTorch.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/13.overflow_check_MindSpore.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/15.free_benchmarking_PyTorch.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/16.free_benchmarking_MindSpore.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/17.grad_probe.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/18.online_dispatch.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/20.monitor_performance_baseline.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/22.visualization_MindSpore.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/23.generate_operator_PyTorch.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/24.code_mapping_Mindspore.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/26.data_dump_PyTorch_baseline.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/27.dump_json_instruction.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/28.debugger_save_instruction.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/28.kernel_dump_MindSpore.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/29.data_dump_MSAdapter.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/30.overflow_check_MSAdapter.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/31.config_check.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/33.generate_operator_MindSpore.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/34.RL_collect.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/35.nan_analyze.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/36.calculation_result_change.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/FAQ.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/S02.report_free_benchmarking_validation_performance_baseline.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/accuracy_checker_MindSpore/accuracy_checker_MindSpore_baseline.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/data_dump_MindSpore/data_dump_MindSpore_baseline.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/data_dump_MindSpore/dynamic_graph_quick_start_example.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/BLOOM-7B_1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/BLOOM-7B_2.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/BLOOM-7B_3.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/BLOOM-7B_4.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/GPT-3_1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/GPT-3_2.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/GPT-3_3.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/GPT-3_4.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/GPT-3_5.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/GPT-3_6.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/GPT-3_7.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/GPT-3_8.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/YOLOV5S_1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/YOLOV5S_2.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/accuracy_checking_details.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/accuracy_checking_result.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/api_precision_compare_details.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/api_precision_compare_result.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/auto_analyze_log.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/compare_result.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/compare_result_pkl.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/compare_result_pkl_md5.png.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/cpu_info.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/free_benchmark.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/free_benchmark_framework.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/grad_probe_image-1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/grad_probe_image-2.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/grad_probe_image-3.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/grad_probe_image-4.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/grad_probe_image.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/merge_result.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/module_compare.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/monitor/cpu_info.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/monitor/step_count_per_record.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/ms_dump.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/ms_layer.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/pt_dump.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/save_compare_result_sample.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/fuzzy_match_ms.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/fuzzy_match_pt.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/proxy.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/tensorboard_1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/tensorboard_2.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/vis_browser_2.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/vis_match_info.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/vis_search_info.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/vis_show_info.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/vis_showcase.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/GPTModel.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/ParallelMLP.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/layer_mapping_example.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mapping.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mapping1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/2.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/3.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/4.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/5.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/6.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/7.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory-qwen25vl.txt +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/llamafactory2.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed-mm-qwen25vl.txt +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactoary_img/mindspeed2.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/mindspeed_llamafactory_mapping.md +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/module_name.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/module_name1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/no_mapping.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/no_mapping1.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/no_mapping_analyze.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/visualization/top_layer.png +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/api_info.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/api_runner.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/checker_support_api.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/cmd_parser.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/compute_element.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/data_manager.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/generate_op_script/op_generator.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/main.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/multi_api_accuracy_checker.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/multi_data_manager.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/type_mapping.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/api_accuracy_checker/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/cell_processor.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/code_mapping/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/code_mapping/bind.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/code_mapping/cmd_parser.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/code_mapping/graph.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/code_mapping/graph_parser.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/code_mapping/main.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/code_mapping/processor.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/common/const.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/common/log.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/common/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/compare/common_dir_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/compare/distributed_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/compare/ms_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/compare/ms_graph_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/compare/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/debugger/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/debugger/debugger_config.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/debugger/precision_debugger.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/cell_dump_process.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/cell_dump_with_insert_gradient.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/dump_tool_factory.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/graph_mode_cell_dump.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/graph_tensor_dump.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/hook_cell/api_register.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/hook_cell/hook_cell.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/hook_cell/ms_hook_manager.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/hook_cell/primitive_hooks.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/jit_dump.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/kernel_graph_dump.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dump/kernel_kbyk_dump.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dym_loader/hook_dynamic_loader.cpp +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/dym_loader/hook_dynamic_loader.h +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/exception_dump/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/exception_dump/exception_dump_tool_factory.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/exception_dump/kernel_graph_exception_dump.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/api_pynative_self_check.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/common/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/common/config.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/common/handler_params.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/common/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/data/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/handler/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/handler/base_handler.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/handler/check_handler.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/handler/fix_handler.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/handler/handler_factory.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/perturbation/add_noise.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/perturbation/base_perturbation.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/perturbation/bit_noise.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/perturbation/exchange_value.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/perturbation/improve_precision.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/perturbation/no_change.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/perturbation/perturbation_factory.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/free_benchmark/self_check_tool_factory.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/grad_probe/global_context.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/grad_probe/grad_analyzer.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/grad_probe/grad_monitor.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/grad_probe/grad_stat_csv.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/grad_probe/hook.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/grad_probe/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/mindspore_service.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/mindtorch/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/mindtorch/mindtorch_adaptor.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/monitor/common_func.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/monitor/data_writers.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/monitor/distributed/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/monitor/distributed/distributed_ops.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/monitor/distributed/stack_blacklist.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/monitor/distributed/wrap_distributed.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/monitor/features.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/monitor/optimizer_collect.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/monitor/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/ms_config.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/overflow_check/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/overflow_check/overflow_check_tool_factory.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/mindspore/task_handler_factory.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/msprobe.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/nan_analyze/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/nan_analyze/analyzer.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/nan_analyze/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/.keep +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/common/.keep +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/common/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/common/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/compare/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/compare/algorithm.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_standard.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_threshold.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/compare/compare_column.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/compare/compare_input.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/compare/compare_utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/generate_op_script/config_op.json +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/precision_standard/absolute_threshold.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/precision_standard/accumulative_error_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/precision_standard/base_standard.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/precision_standard/benchmark_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/precision_standard/binary_consistency.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_config.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_register.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/precision_standard/thousandth_standard.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/precision_standard/ulp_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/run_ut/.keep +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/run_ut/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/run_ut/data_generate.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/api_accuracy_checker/run_ut/torch_ut_setting.json +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/apply_adam.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/apply_adam_w.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/confusion_transpose.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/fast_gelu.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/group_norm_silu.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/layer_norm_eval.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/linear.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/matmul_backward.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/mish.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/moe_gating_top_k_softmax.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/npu_fusion_attention.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/rms_norm.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/rotary_mul.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/scaled_mask_softmax.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/sort_v2.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/bench_functions/swiglu.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/common/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/common/compare_script.template +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/common/log.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/common/parse_json.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/compare/distributed_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/compare/mapping.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/compare/match.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/compare/pt_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/compare/pt_diff_analyze.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/compare/utils.py +0 -0
- {mindstudio_probe-8.3.0/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer → mindstudio_probe-8.3.3/msprobe/pytorch/debugger}/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/debugger/precision_debugger.py +0 -0
- {mindstudio_probe-8.3.0/msprobe/pytorch/debugger → mindstudio_probe-8.3.3/msprobe/pytorch/dump/module_dump}/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/dump/module_dump/hook_wrapper.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/dump/module_dump/module_dump.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/__init__.py +0 -0
- {mindstudio_probe-8.3.0/msprobe/pytorch/dump/module_dump → mindstudio_probe-8.3.3/msprobe/pytorch/free_benchmark/common}/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/common/constant.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/common/counter.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/common/enums.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/common/params.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/common/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/compare/grad_saver.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/compare/single_benchmark.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/main.py +0 -0
- {mindstudio_probe-8.3.0/msprobe/pytorch/free_benchmark/common → mindstudio_probe-8.3.3/msprobe/pytorch/free_benchmark/perturbed_layers}/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/perturbed_layers/base_layer.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/perturbed_layers/layer_factory.py +0 -0
- {mindstudio_probe-8.3.0/msprobe/pytorch/free_benchmark/perturbed_layers → mindstudio_probe-8.3.3/msprobe/pytorch/free_benchmark/perturbed_layers/npu}/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/add_noise.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/bit_noise.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/change_value.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/improve_precision.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/no_change.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/npu_base_layser.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/perturbed_layers/run_cpu.py +0 -0
- {mindstudio_probe-8.3.0/msprobe/pytorch/free_benchmark/perturbed_layers/npu → mindstudio_probe-8.3.3/msprobe/pytorch/free_benchmark/result_handlers}/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/result_handlers/base_handler.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/result_handlers/check_handler.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/result_handlers/fix_handler.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/result_handlers/handler_factory.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/free_benchmark/result_handlers/preheat_handler.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/function_factory.py +0 -0
- {mindstudio_probe-8.3.0/msprobe/pytorch/free_benchmark/result_handlers → mindstudio_probe-8.3.3/msprobe/pytorch/grad_probe}/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/grad_probe/grad_monitor.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/grad_probe/grad_stat_csv.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/hook_module/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/hook_module/hook_module.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/hook_module/pt_hook_manager.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/hook_module/register_optimizer_hook.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/hook_module/script_wrapper.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/hook_module/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/hook_module/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/hook_module/wrap_aten.py +0 -0
- {mindstudio_probe-8.3.0/msprobe/pytorch/grad_probe → mindstudio_probe-8.3.3/msprobe/pytorch/monitor}/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/monitor/csv2tb.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/monitor/data_writers.py +0 -0
- {mindstudio_probe-8.3.0/msprobe/pytorch/monitor → mindstudio_probe-8.3.3/msprobe/pytorch/monitor/distributed}/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/monitor/distributed/distributed_ops.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/monitor/distributed/stack_blacklist.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/monitor/distributed/wrap_distributed.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/monitor/features.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/monitor/module_metric.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/monitor/optimizer_collect.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/monitor/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/monitor/visualizer.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/online_dispatch/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/online_dispatch/compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/online_dispatch/dispatch.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/online_dispatch/dump_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/online_dispatch/single_compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/online_dispatch/torch_ops_config.yaml +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/online_dispatch/utils.py +0 -0
- {mindstudio_probe-8.3.0/msprobe/pytorch/monitor/distributed → mindstudio_probe-8.3.3/msprobe/pytorch/parse_tool}/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/parse_tool/cli.py +0 -0
- {mindstudio_probe-8.3.0/msprobe/pytorch/parse_tool → mindstudio_probe-8.3.3/msprobe/pytorch/parse_tool/lib}/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/parse_tool/lib/compare.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/parse_tool/lib/config.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/parse_tool/lib/file_desc.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/parse_tool/lib/interactive_cli.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/parse_tool/lib/parse_exception.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/parse_tool/lib/parse_tool.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/parse_tool/lib/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/pytorch/parse_tool/lib/visualization.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/builder/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/builder/msprobe_adapter.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/compare/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/compare/graph_comparator.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/compare/mode_adapter.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/graph/__init__.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/graph/base_node.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/graph/distributed_analyzer.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/graph/node_colors.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/graph/node_op.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/visualization/utils.py +0 -0
- {mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/setup.cfg +0 -0
|
@@ -114,7 +114,6 @@ msprobe/docs/04.kernel_dump_PyTorch.md
|
|
|
114
114
|
msprobe/docs/05.data_dump_PyTorch.md
|
|
115
115
|
msprobe/docs/06.data_dump_MindSpore.md
|
|
116
116
|
msprobe/docs/07.accuracy_checker_PyTorch.md
|
|
117
|
-
msprobe/docs/08.accuracy_checker_online_PyTorch.md
|
|
118
117
|
msprobe/docs/09.accuracy_checker_MindSpore.md
|
|
119
118
|
msprobe/docs/10.accuracy_compare_PyTorch.md
|
|
120
119
|
msprobe/docs/11.accuracy_compare_MindSpore.md
|
|
@@ -333,7 +332,6 @@ msprobe/nan_analyze/analyzer.py
|
|
|
333
332
|
msprobe/nan_analyze/graph.py
|
|
334
333
|
msprobe/nan_analyze/utils.py
|
|
335
334
|
msprobe/pytorch/__init__.py
|
|
336
|
-
msprobe/pytorch/attl_manager.py
|
|
337
335
|
msprobe/pytorch/function_factory.py
|
|
338
336
|
msprobe/pytorch/pt_config.py
|
|
339
337
|
msprobe/pytorch/pytorch_service.py
|
|
@@ -373,14 +371,6 @@ msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py
|
|
|
373
371
|
msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py
|
|
374
372
|
msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py
|
|
375
373
|
msprobe/pytorch/api_accuracy_checker/run_ut/torch_ut_setting.json
|
|
376
|
-
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/__init__.py
|
|
377
|
-
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/attl.py
|
|
378
|
-
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/client.py
|
|
379
|
-
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/device_dispatch.py
|
|
380
|
-
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/dump_dispatch.py
|
|
381
|
-
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/server.py
|
|
382
|
-
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/torch_ops_config.yaml
|
|
383
|
-
msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/utils.py
|
|
384
374
|
msprobe/pytorch/bench_functions/__init__.py
|
|
385
375
|
msprobe/pytorch/bench_functions/apply_adam.py
|
|
386
376
|
msprobe/pytorch/bench_functions/apply_adam_w.py
|
|
@@ -50,9 +50,14 @@ export MSPROBE_LOG_LEVEL={x}
|
|
|
50
50
|
|
|
51
51
|
## 🚨 工具限制与注意事项
|
|
52
52
|
|
|
53
|
-
**1.
|
|
53
|
+
**1. 工具读写的所有路径,如config_path、dump_path等,只允许包含大小写字母、数字、下划线、斜杠、点和短横线。**
|
|
54
|
+
|
|
55
|
+
**2. 出于安全性及权限最小化角度考虑,msprobe工具不应使用root等高权限账户使用,建议使用普通用户权限安装执行。**
|
|
56
|
+
|
|
57
|
+
**3. 使用msprobe工具前请确保执行用户的umask值大于等于0027,否则可能会导致工具生成的精度数据文件和目录权限过大。**
|
|
58
|
+
|
|
59
|
+
**4. 用户须自行保证使用最小权限原则,如给工具输入的文件要求other用户不可写,在一些对安全要求更严格的功能场景下还需确保输入的文件group用户不可写。**
|
|
54
60
|
|
|
55
|
-
**2. 工具读写的所有路径,如config_path、dump_path等,只允许包含大小写字母、数字、下划线、斜杠、点和短横线。**
|
|
56
61
|
|
|
57
62
|
## ⚙️ 安装
|
|
58
63
|
|
|
@@ -84,9 +89,7 @@ msprobe 通过在训练脚本中添加 PrecisionDebugger 接口的方式对 API
|
|
|
84
89
|
|
|
85
90
|
精度预检旨在昇腾 NPU 上扫描训练模型中的所有 API 进行 API 复现,给出精度情况的诊断和分析。对应 config.json 中的 "run_ut" task。
|
|
86
91
|
|
|
87
|
-
PyTorch 场景的[离线预检](./docs/07.accuracy_checker_PyTorch.md)
|
|
88
|
-
|
|
89
|
-
在线预检计划在 Mindstudio 8.3.0 版本正式下线。
|
|
92
|
+
PyTorch 场景的[离线预检](./docs/07.accuracy_checker_PyTorch.md)
|
|
90
93
|
|
|
91
94
|
MindSpore 动态图场景的[离线预检](./docs/09.accuracy_checker_MindSpore.md)
|
|
92
95
|
|
|
@@ -691,9 +691,23 @@ class FileCheckConst:
|
|
|
691
691
|
"""
|
|
692
692
|
Class for file check const
|
|
693
693
|
"""
|
|
694
|
-
READ_ABLE = "
|
|
695
|
-
WRITE_ABLE = "
|
|
696
|
-
|
|
694
|
+
READ_ABLE = "r"
|
|
695
|
+
WRITE_ABLE = "w"
|
|
696
|
+
EXECUTE_ABLE = "x"
|
|
697
|
+
READ_WRITE_ABLE = "rw"
|
|
698
|
+
READ_EXECUTE_ABLE = "rx"
|
|
699
|
+
WRITE_EXECUTE_ABLE = "wx"
|
|
700
|
+
READ_WRITE_EXECUTE_ABLE = "rwx"
|
|
701
|
+
PERM_OPTIONS = [
|
|
702
|
+
READ_ABLE,
|
|
703
|
+
WRITE_ABLE,
|
|
704
|
+
EXECUTE_ABLE,
|
|
705
|
+
READ_WRITE_ABLE,
|
|
706
|
+
READ_EXECUTE_ABLE,
|
|
707
|
+
WRITE_EXECUTE_ABLE,
|
|
708
|
+
READ_WRITE_EXECUTE_ABLE
|
|
709
|
+
]
|
|
710
|
+
|
|
697
711
|
DIRECTORY_LENGTH = 4096
|
|
698
712
|
FILE_NAME_LENGTH = 255
|
|
699
713
|
FILE_VALID_PATTERN = r"^[a-zA-Z0-9_.:/-]+$"
|
|
@@ -46,13 +46,19 @@ class FileChecker:
|
|
|
46
46
|
The class for check file.
|
|
47
47
|
|
|
48
48
|
Attributes:
|
|
49
|
-
file_path: The file or dictionary path to be verified
|
|
50
|
-
path_type: file or dictionary
|
|
51
|
-
ability(str): one of [
|
|
49
|
+
file_path: The file or dictionary path to be verified
|
|
50
|
+
path_type: file or dictionary type
|
|
51
|
+
ability(str): one of ["r", "w", "x", "rw", "rx", "wx", "rwx"], r: read, w: write, x: execute
|
|
52
52
|
file_type(str): The correct file type for file
|
|
53
53
|
"""
|
|
54
54
|
|
|
55
|
-
def __init__(
|
|
55
|
+
def __init__(
|
|
56
|
+
self,
|
|
57
|
+
file_path,
|
|
58
|
+
path_type,
|
|
59
|
+
ability=None,
|
|
60
|
+
file_type=None
|
|
61
|
+
):
|
|
56
62
|
self.file_path = file_path
|
|
57
63
|
self.path_type = self._check_path_type(path_type)
|
|
58
64
|
self.ability = self._check_ability_type(ability)
|
|
@@ -67,15 +73,14 @@ class FileChecker:
|
|
|
67
73
|
|
|
68
74
|
@staticmethod
|
|
69
75
|
def _check_ability_type(ability):
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
logger.error(f'The ability must be one of {ability_list}.')
|
|
76
|
+
if ability and ability not in FileCheckConst.PERM_OPTIONS:
|
|
77
|
+
logger.error(f'The ability must be one of {FileCheckConst.PERM_OPTIONS}.')
|
|
73
78
|
raise FileCheckException(FileCheckException.ILLEGAL_PARAM_ERROR)
|
|
74
79
|
return ability
|
|
75
80
|
|
|
76
81
|
def common_check(self):
|
|
77
82
|
"""
|
|
78
|
-
|
|
83
|
+
功能:基本文件权限校验,包括文件存在性、软连接、文件长度、文件类型、文件读写权限、文件属组、文件路径特殊字符、文件后缀名等
|
|
79
84
|
注意:文件后缀的合法性,非通用操作,可使用其他独立接口实现
|
|
80
85
|
"""
|
|
81
86
|
check_path_exists(self.file_path)
|
|
@@ -94,13 +99,15 @@ class FileChecker:
|
|
|
94
99
|
return self.file_path
|
|
95
100
|
|
|
96
101
|
def check_path_ability(self):
|
|
97
|
-
if self.ability
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if self.ability == FileCheckConst.READ_WRITE_ABLE:
|
|
102
|
+
if not self.ability:
|
|
103
|
+
return
|
|
104
|
+
|
|
105
|
+
if FileCheckConst.READ_ABLE in self.ability:
|
|
102
106
|
check_path_readability(self.file_path)
|
|
107
|
+
if FileCheckConst.WRITE_ABLE in self.ability:
|
|
103
108
|
check_path_writability(self.file_path)
|
|
109
|
+
if FileCheckConst.EXECUTE_ABLE in self.ability:
|
|
110
|
+
check_path_executable(self.file_path)
|
|
104
111
|
|
|
105
112
|
|
|
106
113
|
class FileOpen:
|
|
@@ -1040,4 +1047,48 @@ class SafeUnpickler(pickle.Unpickler):
|
|
|
1040
1047
|
raise pickle.PicklingError(f'Unpickling {module}.{name} is illegal!')
|
|
1041
1048
|
|
|
1042
1049
|
|
|
1050
|
+
class DeserializationScanner:
|
|
1051
|
+
"""反序列化风险扫描器"""
|
|
1052
|
+
|
|
1053
|
+
DANGEROUS_METHODS = {
|
|
1054
|
+
'__reduce__', '__reduce_ex__', '__setstate__', '__getstate__',
|
|
1055
|
+
'__new__', '__init__', '__del__',
|
|
1056
|
+
'__call__', '__enter__', '__exit__',
|
|
1057
|
+
'eval', 'exec', 'compile', '__import__', 'open'
|
|
1058
|
+
'os.system', 'os.popen', 'subprocess.call', 'subprocess.Popen',
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
DANGEROUS_MODULES = {
|
|
1062
|
+
'os', 'sys', 'subprocess', 'shutil', 'socket',
|
|
1063
|
+
'requests', 'urllib', 'ftplib', 'smtplib',
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
@classmethod
|
|
1067
|
+
def scan_pickle_content(cls, filepath: str) -> bool:
|
|
1068
|
+
with FileOpen(filepath, 'rb') as f:
|
|
1069
|
+
content = f.read()
|
|
1070
|
+
|
|
1071
|
+
try:
|
|
1072
|
+
text_content = content.decode('latin-1')
|
|
1073
|
+
except Exception as e:
|
|
1074
|
+
text_content = str(content)
|
|
1075
|
+
|
|
1076
|
+
for method in cls.DANGEROUS_METHODS:
|
|
1077
|
+
if re.fullmatch(method, text_content):
|
|
1078
|
+
logger.warning(f"Insecure method found: {method}")
|
|
1079
|
+
return False
|
|
1080
|
+
|
|
1081
|
+
for module in cls.DANGEROUS_MODULES:
|
|
1082
|
+
patterns = [
|
|
1083
|
+
f"import {module}",
|
|
1084
|
+
f"from {module} import",
|
|
1085
|
+
f"{module}.",
|
|
1086
|
+
]
|
|
1087
|
+
for pattern in patterns:
|
|
1088
|
+
if pattern in text_content:
|
|
1089
|
+
logger.warning(f"Insecure module found: {module}")
|
|
1090
|
+
return False
|
|
1091
|
+
return True
|
|
1092
|
+
|
|
1093
|
+
|
|
1043
1094
|
atexit.register(SharedDict.destroy_shared_memory)
|
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
import functools
|
|
17
17
|
|
|
18
18
|
from msprobe.core.common.const import Const
|
|
19
|
-
from msprobe.core.common.file_utils import check_file_or_directory_path, save_npy
|
|
19
|
+
from msprobe.core.common.file_utils import check_file_or_directory_path, save_npy, DeserializationScanner
|
|
20
|
+
from msprobe.core.common.log import logger
|
|
21
|
+
from msprobe.core.common.utils import confirm
|
|
20
22
|
|
|
21
23
|
|
|
22
24
|
class FrameworkDescriptor:
|
|
@@ -155,6 +157,13 @@ class FmkAdp:
|
|
|
155
157
|
check_file_or_directory_path(path, is_strict=not weights_only)
|
|
156
158
|
if cls.fmk == Const.PT_FRAMEWORK:
|
|
157
159
|
try:
|
|
160
|
+
if not weights_only:
|
|
161
|
+
if not DeserializationScanner.scan_pickle_content(path):
|
|
162
|
+
if not confirm(
|
|
163
|
+
f"Some insecure methods or modules are detected in {path}, "
|
|
164
|
+
f"input yes to ignore and continue, otherwise exit", False):
|
|
165
|
+
logger.error("Insecure risks found and exit!")
|
|
166
|
+
raise Exception("Insecure risks found and exit!")
|
|
158
167
|
if to_cpu:
|
|
159
168
|
return cls.framework.load(path, map_location=cls.framework.device("cpu"), weights_only=weights_only)
|
|
160
169
|
else:
|
|
@@ -708,3 +708,20 @@ def check_process_num(process_num):
|
|
|
708
708
|
raise ValueError(f"process_num({process_num}) is not a positive integer")
|
|
709
709
|
if process_num > Const.MAX_PROCESS_NUM:
|
|
710
710
|
raise ValueError(f"The maximum supported process_num is {Const.MAX_PROCESS_NUM}, current value: {process_num}.")
|
|
711
|
+
|
|
712
|
+
|
|
713
|
+
def confirm(prompt, default=False):
|
|
714
|
+
if default is True:
|
|
715
|
+
prompt_suffix = " [Y/n] "
|
|
716
|
+
elif default is False:
|
|
717
|
+
prompt_suffix = " [y/N] "
|
|
718
|
+
else:
|
|
719
|
+
prompt_suffix = " [y/n] "
|
|
720
|
+
|
|
721
|
+
full_prompt = prompt + prompt_suffix
|
|
722
|
+
|
|
723
|
+
user_input = input(full_prompt).strip().lower()
|
|
724
|
+
if user_input in ['y', 'yes']:
|
|
725
|
+
return True
|
|
726
|
+
else:
|
|
727
|
+
return default
|
|
@@ -789,23 +789,43 @@ def compare_distributed_inner(npu_dump_dir, bench_dump_dir, output_path, compare
|
|
|
789
789
|
|
|
790
790
|
npu_ranks, bench_ranks = get_sorted_ranks(npu_dump_dir, bench_dump_dir)
|
|
791
791
|
|
|
792
|
-
#
|
|
793
|
-
|
|
792
|
+
# ------------------预载rank0的json用于判断是什么类型dump数据------------------
|
|
793
|
+
# 判断是否存在dump.json或debug.json
|
|
794
|
+
if npu_ranks:
|
|
795
|
+
dir_path = os.path.join(npu_dump_dir, npu_ranks[0])
|
|
796
|
+
dump_file = os.path.join(dir_path, 'dump.json')
|
|
797
|
+
debug_file = os.path.join(dir_path, 'debug.json')
|
|
798
|
+
|
|
799
|
+
# 确定pre_check_dump_path
|
|
800
|
+
if os.path.exists(dump_file):
|
|
801
|
+
pre_check_dump_path = dump_file
|
|
802
|
+
elif os.path.exists(debug_file):
|
|
803
|
+
pre_check_dump_path = debug_file
|
|
804
|
+
else:
|
|
805
|
+
pre_check_dump_path = ''
|
|
806
|
+
else:
|
|
807
|
+
pre_check_dump_path = ''
|
|
808
|
+
|
|
809
|
+
# 如果pre_check_dump_path为空,直接返回
|
|
794
810
|
if not pre_check_dump_path:
|
|
795
811
|
return
|
|
812
|
+
|
|
796
813
|
dump_data = load_json(pre_check_dump_path)
|
|
814
|
+
|
|
815
|
+
# ------------------统计量、md5比对------------------
|
|
797
816
|
if dump_data.get('task') == Const.STATISTICS:
|
|
798
817
|
# dump数据为统计量或md5时,多进程加速比对
|
|
799
818
|
input_param_nr_list = []
|
|
800
819
|
for nr, br in zip(npu_ranks, bench_ranks):
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
820
|
+
for file_type in [Const.DUMP_JSON_FILE, Const.DEBUG_JSON_FILE]:
|
|
821
|
+
input_param, skip = extract_compare_param(file_type)
|
|
822
|
+
if not skip:
|
|
823
|
+
input_param_nr_list.append((input_param, nr))
|
|
804
824
|
func_args = (compare_func, input_param_nr_list, output_path, kwargs)
|
|
805
825
|
multi_statistics_compare(multi_ranks_compare, func_args)
|
|
806
826
|
return
|
|
807
827
|
|
|
808
|
-
#
|
|
828
|
+
# ------------------真实数据比对------------------
|
|
809
829
|
for nr, br in zip(npu_ranks, bench_ranks):
|
|
810
830
|
for file_type in [Const.DUMP_JSON_FILE, Const.DEBUG_JSON_FILE]:
|
|
811
831
|
input_param, skip = extract_compare_param(file_type)
|
|
@@ -19,11 +19,11 @@ from tqdm import tqdm
|
|
|
19
19
|
from msprobe.core.common.file_utils import save_json, check_path_before_create, check_path_not_exists, \
|
|
20
20
|
check_file_or_directory_path
|
|
21
21
|
from msprobe.core.common.log import logger
|
|
22
|
+
from msprobe.core.common.utils import confirm
|
|
22
23
|
from msprobe.core.config_check.ckpt_compare.megatron_loader import load_megatron_weights
|
|
23
24
|
from msprobe.core.config_check.ckpt_compare.metrics import METRIC_FUNC
|
|
24
25
|
|
|
25
26
|
|
|
26
|
-
|
|
27
27
|
def compare_checkpoints(ckpt_path1, ckpt_path2, output_path) -> Dict:
|
|
28
28
|
"""Compare weights between two checkpoints using cosine similarity and L2 distance.
|
|
29
29
|
|
|
@@ -45,6 +45,11 @@ def compare_checkpoints(ckpt_path1, ckpt_path2, output_path) -> Dict:
|
|
|
45
45
|
"""
|
|
46
46
|
|
|
47
47
|
# Load both checkpoints
|
|
48
|
+
if not confirm("You are using torch.load with weights_only is False, it may cause arbitrary code "
|
|
49
|
+
"execution. Do it only if you get the file from a trusted source. Input yes to continue, "
|
|
50
|
+
"otherwise exit", False):
|
|
51
|
+
logger.error("Insecure risks found and exit!")
|
|
52
|
+
raise Exception("Insecure risks found and exit!")
|
|
48
53
|
check_file_or_directory_path(ckpt_path1, isdir=True)
|
|
49
54
|
check_file_or_directory_path(ckpt_path2, isdir=True)
|
|
50
55
|
check_path_before_create(output_path)
|
|
@@ -46,10 +46,9 @@ class BaseHookManager(ABC):
|
|
|
46
46
|
hook_handle_dict = {}
|
|
47
47
|
params_grad_info = {}
|
|
48
48
|
|
|
49
|
-
def __init__(self, data_collector, config
|
|
49
|
+
def __init__(self, data_collector, config):
|
|
50
50
|
self.data_collector = data_collector
|
|
51
51
|
self.config = config
|
|
52
|
-
self.attl_manager = attl_manager
|
|
53
52
|
|
|
54
53
|
@property
|
|
55
54
|
def _pid(self):
|
|
@@ -216,10 +215,6 @@ class BaseHookManager(ABC):
|
|
|
216
215
|
|
|
217
216
|
args = self._register_backward_hook(module, full_backward_name, args)
|
|
218
217
|
with self._no_grad_context():
|
|
219
|
-
if getattr(self.config, "online_run_ut", False):
|
|
220
|
-
BaseHookManager.inner_switch[tid] = False
|
|
221
|
-
ThreadSafe.release()
|
|
222
|
-
return
|
|
223
218
|
self.data_collector.update_api_or_module_name(full_forward_name)
|
|
224
219
|
self.data_collector.forward_input_data_collect(
|
|
225
220
|
full_forward_name,
|
|
@@ -265,13 +260,6 @@ class BaseHookManager(ABC):
|
|
|
265
260
|
output = self._register_backward_pre_hook(module, full_backward_name, output)
|
|
266
261
|
|
|
267
262
|
with self._no_grad_context():
|
|
268
|
-
if getattr(self.config, "online_run_ut", False):
|
|
269
|
-
if self.data_collector.scope and not self.data_collector.scope.check(full_name):
|
|
270
|
-
return None
|
|
271
|
-
if self.attl_manager:
|
|
272
|
-
self.attl_manager.attl_send(full_name, args, kwargs, output)
|
|
273
|
-
BaseHookManager.inner_switch[tid] = False
|
|
274
|
-
return None
|
|
275
263
|
if hook_type == Const.MODULE:
|
|
276
264
|
params_dict = self._get_params_dict(module)
|
|
277
265
|
setattr(module_input_output, Const.PARAMS, params_dict)
|
|
@@ -320,9 +308,7 @@ class BaseHookManager(ABC):
|
|
|
320
308
|
original_state = self.ensure_gc_enabled()
|
|
321
309
|
BaseHookManager.inner_switch[tid] = True
|
|
322
310
|
self.data_collector.update_api_or_module_name(full_name)
|
|
323
|
-
|
|
324
|
-
BaseHookManager.inner_switch[tid] = False
|
|
325
|
-
return
|
|
311
|
+
|
|
326
312
|
need_exchange = self._need_exchange(module) if hook_type == Const.MODULE else True
|
|
327
313
|
if need_exchange:
|
|
328
314
|
module_input_output = ModuleBackwardInputsOutputs(grad_input=grad_output, grad_output=grad_input)
|
|
@@ -35,7 +35,6 @@ class BaseService(ABC):
|
|
|
35
35
|
self.config.level = getattr(config, 'level_ori', config.level) # 兼容MindSpore配置
|
|
36
36
|
self.model = None
|
|
37
37
|
self.data_collector = build_data_collector(self.config)
|
|
38
|
-
self.attl_manager = None
|
|
39
38
|
self.current_iter = 0
|
|
40
39
|
self.loop = 0
|
|
41
40
|
self.init_step = 0
|
|
@@ -91,10 +90,6 @@ class BaseService(ABC):
|
|
|
91
90
|
self.config.task in self.data_collector.tasks_need_tensor_data or
|
|
92
91
|
(self.config.task == Const.STATISTICS and self.config.tensor_list)
|
|
93
92
|
)
|
|
94
|
-
|
|
95
|
-
@property
|
|
96
|
-
def _is_online_run_ut(self):
|
|
97
|
-
return getattr(self.config, "online_run_ut", False)
|
|
98
93
|
|
|
99
94
|
@property
|
|
100
95
|
@abstractmethod
|
|
@@ -146,11 +141,9 @@ class BaseService(ABC):
|
|
|
146
141
|
self.primitive_switch = True
|
|
147
142
|
self._change_jit_switch(True)
|
|
148
143
|
self.logger.info(f"Dump switch is turned on at step {self.current_iter}. ")
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
self.create_dirs()
|
|
153
|
-
self.logger.info(f"Dump data will be saved in {self.dump_iter_dir}.")
|
|
144
|
+
|
|
145
|
+
self.create_dirs()
|
|
146
|
+
self.logger.info(f"Dump data will be saved in {self.dump_iter_dir}.")
|
|
154
147
|
|
|
155
148
|
def stop(self):
|
|
156
149
|
"""通用stop模板"""
|
|
@@ -165,8 +158,7 @@ class BaseService(ABC):
|
|
|
165
158
|
self._change_jit_switch(False)
|
|
166
159
|
if self._is_l2_level:
|
|
167
160
|
return
|
|
168
|
-
|
|
169
|
-
self._run_ut_dispatch(False)
|
|
161
|
+
|
|
170
162
|
self._process_async_dump()
|
|
171
163
|
self.data_collector.write_json()
|
|
172
164
|
|
|
@@ -266,8 +258,6 @@ class BaseService(ABC):
|
|
|
266
258
|
end_service = self.config.step and self.current_iter > max(self.config.step) or \
|
|
267
259
|
self.data_collector and self.data_collector.data_processor.is_terminated
|
|
268
260
|
if end_service:
|
|
269
|
-
if self._is_online_run_ut and self.attl_manager:
|
|
270
|
-
self.attl_manager.attl_stop()
|
|
271
261
|
self.primitive_switch = False
|
|
272
262
|
self._change_jit_switch(False)
|
|
273
263
|
Runtime.is_running = False
|
|
@@ -310,8 +300,7 @@ class BaseService(ABC):
|
|
|
310
300
|
if root_model and isinstance(root_model, list):
|
|
311
301
|
root_model = root_model[0]
|
|
312
302
|
self.logger.warning("Infer model can only input one to support token_range, choose the first one.")
|
|
313
|
-
|
|
314
|
-
return
|
|
303
|
+
|
|
315
304
|
root_model.register_forward_pre_hook(infer_hook)
|
|
316
305
|
|
|
317
306
|
def _create_l2_dirs(self, cur_rank):
|
|
@@ -16,6 +16,8 @@ pip install mindstudio-probe
|
|
|
16
16
|
|
|
17
17
|
| 版本 | 发布日期 |支持 PyTorch 版本|支持 MindSpore 版本| 下载链接 |校验码|
|
|
18
18
|
|:-----:|:----------:|:--:|:--:|:----------------------------------------------------------------------------------------------------------------------------------:|:--:|
|
|
19
|
+
| 8.3.0 | 2025.10.30 |1.11/2.0/2.1/2.2/2.5/2.6/2.7|2.4.0/2.5.0/2.6.0| [mindstudio_probe-8.3.0-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/msprobe/8.3/mindstudio_probe-8.3.0-py3-none-any.whl) |e933657b8ceb20774f924865d1f47978bd49cd1d9cec5fb60dec4f18802afbcc|
|
|
20
|
+
| 8.2.1 | 2025.9.29 |1.11/2.0/2.1/2.2|2.4.0/2.5.0/2.6.0| [mindstudio_probe-8.2.1-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/msprobe/8.2/mindstudio_probe-8.2.1-py3-none-any.whl) |2152fadefec3d70148a910a54f2cfb6fccfa60b5ccd59f835f20289a7a5f4764|
|
|
19
21
|
| 8.2.0 | 2025.9.03 |1.11/2.0/2.1/2.2|2.4.0/2.5.0/2.6.0| [mindstudio_probe-8.2.0-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/msprobe/8.2/mindstudio_probe-8.2.0-py3-none-any.whl) |bbc1577d76754adf987069308177d3e0a04e36de9c7f22e75c34cf4ad0ce1af2|
|
|
20
22
|
| 8.1.2 | 2025.8.01 |1.11/2.0/2.1/2.2|2.4.0/2.5.0/2.6.0| [mindstudio_probe-8.1.2-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/msprobe/8.1/mindstudio_probe-8.1.2-py3-none-any.whl) |ff07bb81fddd3b8f3096d119ca1481bde8fdb24f10644def5250caad727448ab|
|
|
21
23
|
| 8.1.1 | 2025.6.20 |1.11/2.0/2.1/2.2|2.4.0/2.5.0/2.6.0| [mindstudio_probe-8.1.1-py3-none-any.whl](https://ptdbg.obs.myhuaweicloud.com/msprobe/8.1/mindstudio_probe-8.1.1-py3-none-any.whl) |2aad10a243575544d7feef552caf4d06aa93028488ebd0bbc9aa350379da859d|
|
|
@@ -73,14 +73,7 @@
|
|
|
73
73
|
| data_mode | 与[ 1.2 task 配置为 statistics ](#12-task-配置为-statistics)中的解释相同 | 否 |
|
|
74
74
|
| file_format | tensor 数据的保存格式,str 类型,仅支持 MindSpore 静态图场景的 L2 级别配置该字段,其他场景不生效。可选参数:<br/> "bin":dump 的 tensor 文件为二进制格式;<br/>"npy":dump 的 tensor 文件后缀为 .npy,默认值。 | 否 |
|
|
75
75
|
| summary_mode | 控制 dump 文件输出的模式,str 类型,支持 PyTorch、MSAdapter、MindSpore 动态图。可选参数:<br/> md5:dump 输出包含 CRC-32 值以及 API 统计信息的 dump.json 文件,用于验证数据的完整性;<br/> statistics:dump 仅输出包含 API 统计信息的 dump.json 文件,默认值。| 否 |
|
|
76
|
-
| online_run_ut<sup>a</sup> | 在线预检模式开关,bool 类型,可选参数 true(开启)、false(关闭),默认未配置,表示关闭。配置为 true 表示开启在线预检。| 否 |
|
|
77
|
-
| nfs_path<sup>a</sup> | 在线预检模式共享存储目录路径,str 类型,用于 GPU 设备和 NPU 设备间进行通信。仅在 online_run_ut 字段配置为 true 时生效,配置该参数后 host 和 port 不生效。 | 否 |
|
|
78
|
-
| host<sup>a</sup> | 在线预检模式局域网场景信息接收端 IP,str 类型,用于 GPU 设备和 NPU 设备间进行通信,NPU 侧须配置为 GPU 侧的局域网 IP 地址。仅在 online_run_ut 字段配置为 true 时生效,局域网场景时,不能配置 nfs_path 参数,否则局域网场景不生效。 | 否 |
|
|
79
|
-
| port<sup>a</sup> | 在线预检模式局域网场景信息接收端端口号,int 类型,用于 GPU 设备和 NPU 设备间进行通信,NPU 侧须配置为 GPU 侧的端口号。仅在 online_run_ut 字段配置为 true 时生效,局域网场景时,不能配置 nfs_path 参数,否则局域网场景不生效。| 否 |
|
|
80
76
|
|
|
81
|
-
**说明**:
|
|
82
|
-
|
|
83
|
-
1. online_run_ut、nfs_path、host、port 等字段仅在线预检场景 NPU 机器生效。
|
|
84
77
|
|
|
85
78
|
**示例**:
|
|
86
79
|
- [PyTorch场景](03.config_examples.md#12-task-配置为-tensor)
|
|
@@ -95,17 +88,11 @@
|
|
|
95
88
|
| white_list<sup>a</sup> | API dump 白名单,仅对指定的 API 进行 dump。<br/>**配置示例**:"white_list": ["conv1d", "conv2d"]。默认未配置白名单,即 dump 全量 API 数据。 | 否 |
|
|
96
89
|
| black_list<sup>a</sup> | API dump 黑名单,被指定的 API 不进行 dump。<br/>**配置示例**:"black_list": ["conv1d", "conv2d"]。默认未配置黑名单,即 dump 全量 API 数据。 | 否 |
|
|
97
90
|
| error_data_path | 配置保存精度未达标的 API 输入输出数据路径,默认为当前路径。<br/>**配置示例**:"error_data_path": "./"。 | 否 |
|
|
98
|
-
| is_online<sup>b</sup> | 在线预检模式开关,bool 类型,可选参数 true(开启)、false(关闭),默认关闭。 | 否 |
|
|
99
|
-
| nfs_path<sup>b</sup> | 在线预检模式共享存储目录路径,str 类型,用于 GPU 设备和 NPU 设备间进行通信。配置该参数后 host 和 port 不生效,仅在 is_online 字段配置为 true 时生效。 | 否 |
|
|
100
|
-
| host<sup>b</sup> | 在线预检模式局域网场景信息接收端 IP,str 类型,用于 GPU 设备和 NPU 设备间进行通信,GPU 侧配置为本机地址 127.0.0.1 或本机局域网 IP。局域网场景时,不能配置 nfs_path 参数,否则局域网场景不生效。仅在 is_online 字段配置为 true 时生效。 | 否 |
|
|
101
|
-
| port<sup>b</sup> | 在线预检模式局域网场景信息接收端端口号,int 类型,用于 GPU 设备和 NPU 设备间进行通信,GPU 侧配置为本机可用端口。局域网场景时,不能配置 nfs_path 参数,否则局域网场景不生效。仅在 is_online 字段配置为 true 时生效。| 否 |
|
|
102
|
-
| rank_list<sup>b</sup> | 指定在线预检的 Rank ID,默认值为 [0],list[int] 类型,应配置为大于等于 0 的整数,且须根据实际卡的 Rank ID 配置,若所配置的值大于实际训练所运行的卡的 Rank ID,则在线预检输出数据为空。GPU 和 NPU 须配置一致。仅在 is_online 字段配置为 true 时生效。 | 否 |
|
|
103
91
|
|
|
104
92
|
**说明**:
|
|
105
93
|
|
|
106
94
|
1. white_list 和 black_list 同时配置时,二者配置的 API 名单若无交集,则白名单生效,若 API 名单存在交集,则白名单排除的部分以及交集的 API 不进行 dump。
|
|
107
95
|
|
|
108
|
-
2. is_online、nfs_path、host、port、rank_list 等字段仅在线预检场景 GPU 机器生效。
|
|
109
96
|
|
|
110
97
|
**示例**:
|
|
111
98
|
```json
|
|
@@ -445,7 +445,7 @@ seed_all()
|
|
|
445
445
|
debugger = PrecisionDebugger(config_path="./config.json", dump_path="./dump_path")
|
|
446
446
|
# 模型定义及初始化等操作
|
|
447
447
|
prompts = ["Hello, my name is"]
|
|
448
|
-
sampling_params = SamplingParams(
|
|
448
|
+
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
|
|
449
449
|
llm = LLM(model='...')
|
|
450
450
|
model = llm.llm_engine.model_executor.driver_worker.worker.model_runner.get_model()
|
|
451
451
|
# 开启数据dump, 指定采集推理模型逐字符循环推理中的第1~3次
|
{mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/07.accuracy_checker_PyTorch.md
RENAMED
|
@@ -34,17 +34,17 @@ run_ut 预检操作包括以下两种方式:
|
|
|
34
34
|
msprobe -f pytorch run_ut -api_info ./dump_path/step{step_number}/rank{rank_number}/dump.json
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
37
|
+
| 参数名称 | 解释 | 是否必选 |
|
|
38
|
+
|-------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ---------------------------------- |
|
|
39
|
+
| -f 或 --framework | 指定训练框架,当前场景配置为pytorch。 | 是 |
|
|
40
|
+
| -api_info 或 --api_info_file | 指定 API 信息文件 dump.json。 | 是 |
|
|
41
|
+
| -save_error_data | 保存精度未达标的 API 输入输出数据。 | 否 |
|
|
42
|
+
| -o 或 --out_path | 指定 run_ut 执行结果存盘路径,默认“./”。 | 否 |
|
|
43
|
+
| -j 或 --jit_compile | 开启 jit 编译。 | 否 |
|
|
44
|
+
| -d 或 --device | 指定 Device ID,选择 UT 代码运行所在的卡,默认值为 0。 | 否 |
|
|
45
|
+
| -csv_path 或 --result_csv_path | 指定本次运行中断时生成的 `accuracy_checking_result_{timestamp}.csv` 文件路径,执行 run_ut 中断时,若想从中断处继续执行,配置此参数即可。需要指定为上次中断的 `accuracy_checking_result_{timestamp}.csv` 文件。详见 [3.3 断点续检](#33-断点续检)。 | run_ut 操作中断后继续执行场景下必须配置 |
|
|
46
|
+
| -f 或 --filter_api | 过滤模型中除最大值和最小值以外其他参数和结构相同的 API。适用于模型较大且重复 API 较多的场景。 | 否 |
|
|
47
|
+
| -config 或 --config_path | 指定离线预检操作过程中额外配置(包括黑名单、白名单等)的 [config.json](../config.json) 文件,默认未配置。config.json 文件的配置可参考[配置文件介绍](./02.config_introduction.md)。 | 否 |
|
|
48
48
|
|
|
49
49
|
run_ut 执行结果包括 `accuracy_checking_result_{timestamp}.csv` 和 `accuracy_checking_details_{timestamp}.csv` 两个文件。`accuracy_checking_result_{timestamp}.csv` 属于 API 级,标明每个 API 是否通过测试。建议用户先查看 `accuracy_checking_result_{timestamp}.csv` 文件,对于其中没有通过测试的或者特定感兴趣的 API,根据其 API name 字段在 `accuracy_checking_details_{timestamp}.csv` 中查询其各个输出的达标情况以及比较指标。详细介绍请参见[ 4 预检结果](#4-预检结果)。
|
|
50
50
|
|
|
@@ -104,7 +104,7 @@ msprobe -f pytorch multi_run_ut -api_info ./dump_path/step{step_number}/rank{ran
|
|
|
104
104
|
|
|
105
105
|
| 参数名称 | 解释 | 是否必选 |
|
|
106
106
|
| ---------------------------- | ------------------------------------------------------------ | ---------------------------------- |
|
|
107
|
-
| -f 或 --framework |
|
|
107
|
+
| -f 或 --framework | 指定训练框架,当前场景配置为pytorch。 | 是 |
|
|
108
108
|
| -api_info 或 --api_info_file | 指定 API 信息文件 dump.json。 | 是 |
|
|
109
109
|
| -save_error_data | 保存精度未达标的 API 输入输出数据。 | 否 |
|
|
110
110
|
| -o 或 --out_path | 指定 run_ut 执行结果存盘路径,默认“./”。 | 否 |
|
|
@@ -216,7 +216,7 @@ msprobe -f pytorch api_precision_compare -npu /home/xxx/npu/accuracy_checking_de
|
|
|
216
216
|
|
|
217
217
|
| 参数名称 | 说明 | 是否必选 |
|
|
218
218
|
|-----------------------| ------------- | -------- |
|
|
219
|
-
| -f 或 --framework |
|
|
219
|
+
| -f 或 --framework | 指定训练框架,当前场景配置为pytorch。 | 是 |
|
|
220
220
|
| -npu 或 --npu_csv_path | NPU 预检结果 `accuracy_checking_details_{timestamp}.csv` 文件路径。默认从当前目录下识别该文件。 | 是 |
|
|
221
221
|
| -gpu 或 --gpu_csv_path | GPU 预检结果 `accuracy_checking_details_{timestamp}.csv` 文件路径。默认从当前目录下识别该文件。 | 是 |
|
|
222
222
|
| -o 或 --out_path | 指定 api_precision_compare.py 执行结果存盘路径,默认为当前目录。 | 否 |
|
{mindstudio_probe-8.3.0 → mindstudio_probe-8.3.3}/msprobe/docs/10.accuracy_compare_PyTorch.md
RENAMED
|
@@ -53,15 +53,15 @@ msprobe -f pytorch compare -i ./compare.json -o ./output -s
|
|
|
53
53
|
|
|
54
54
|
| 参数名 | 说明 | 是否必选 |
|
|
55
55
|
|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -------- |
|
|
56
|
-
| -f 或 --framework |
|
|
56
|
+
| -f 或 --framework | 指定训练框架,当前场景配置为pytorch。 | 是 |
|
|
57
57
|
| -i 或 --input_path | 指定[比对文件](#51-比对文件),str 类型。 | 是 |
|
|
58
58
|
| -o 或 --output_path | 配置比对结果文件存盘目录,str 类型,默认在当前目录创建output目录。文件名称基于时间戳自动生成,格式为:`compare_result_{timestamp}.xlsx`。<br>提示:output目录下与结果件同名文件将被删除覆盖。 | 否 |
|
|
59
59
|
| -s 或 --stack_mode | 比对结果展示调用栈信息(NPU_Stack_Info)的开关,bool 类型。单卡场景开启时,根据[比对文件](#51-比对文件)的参数说明配置stack_path;多卡场景开启时,自动识别npu_dump目录下stack.json文件,如存在生成详细调用栈信息,否则不生成,此参数不生效。通过直接配置该参数开启,默认未配置,表示关闭。 | 否 |
|
|
60
60
|
| -c 或 --compare_only | 仅比对开关,bool 类型。该参数默认未配置,会启用自动精度分析,工具自动针对比对结果进行分析,识别到第一个精度可能不达标节点(在比对结果文件中的 Accuracy Reached or Not 列显示为 No),并给出问题可能产生的原因(打屏展示并生成 `advisor_{timestamp}.txt` 文件)。通过配置该参数取消自动精度分析,仅输出比对结果表格。 | 否 |
|
|
61
61
|
| -f 或 --fuzzy_match | 模糊匹配,bool 类型。开启后,对于网络中同一层级且命名仅调用次数不同的 API,可匹配并进行比对。通过直接配置该参数开启,默认未配置,表示关闭。 | 否 |
|
|
62
62
|
| -hl 或 --highlight | 高亮颜色标记。开启后,比对结果件中通过红色或黄色标记精度可疑API或模块。通过直接配置该参数开启,默认未配置,表示关闭。 开启高亮颜色标记后,比对性能降低,如果比对结果行数超出excel单页限制,程序强制关闭高亮颜色标记。 | 否 |
|
|
63
|
-
| -dm
|
|
64
|
-
| -da
|
|
63
|
+
| -dm 或 --data_mapping | 自定义映射关系比对。需要指定自定义映射文件*.yaml。自定义映射文件的格式请参见[自定义映射文件](#52-自定义映射文件)。仅[API和模块无法自动匹配场景](#213-api和模块无法自动匹配场景)需要配置。仅支持逐卡比对,即使用[比对文件](#51-比对文件)的单卡场景示例。 | 否 |
|
|
64
|
+
| -da 或 --diff_analyze | 自动识别网络中首差异节点,支持md5、统计量等dump数据。支持单卡/多卡场景。 | 否 |
|
|
65
65
|
|
|
66
66
|
#### 2.1.2 整网比对场景
|
|
67
67
|
|
|
@@ -396,7 +396,7 @@ msprobe -f pytorch merge_result -i ./input_dir -o ./output_dir -config ./config.
|
|
|
396
396
|
|
|
397
397
|
| 参数名 | 说明 | 是否必选 |
|
|
398
398
|
| --------------------- |-------------------------------------------------------------------------------------------------------------------| -------- |
|
|
399
|
-
| -f 或 --framework |
|
|
399
|
+
| -f 或 --framework | 指定训练框架,当前场景配置为pytorch。 | 是 |
|
|
400
400
|
| -i 或 --input_dir | 多卡比对结果存盘目录,即使用compare比对的结果输出目录,str类型。所有比对结果应全部为真实数据比对结果或统计数据比对结果,否则可能导致汇总数据不完整。 | 是 |
|
|
401
401
|
| -o 或 --output_dir | 数据提取汇总结果存盘目录,str类型。文件名称基于时间戳自动生成,格式为:`multi_ranks_compare_merge_{timestamp}.xlsx`。<br>提示:output目录下与结果件同名文件将被删除覆盖。 | 是 |
|
|
402
402
|
| -config或--config-path | 指定需要汇总数据的API和比对指标的yaml文件路径,str类型。<br>yaml文件详细介绍见下文“**yaml文件说明**”。 | 是 |
|
|
@@ -527,7 +527,7 @@ input_args、input_kwargs和output使用统一的命名规则,当值是list类
|
|
|
527
527
|
"input_args": [
|
|
528
528
|
{
|
|
529
529
|
"type": "torch.Tensor",
|
|
530
|
-
"
|
|
530
|
+
"dtype": "torch_float32",
|
|
531
531
|
"shape": [
|
|
532
532
|
1,
|
|
533
533
|
64,
|
|
@@ -604,7 +604,7 @@ output是list,长度为1,第0项后面是Tensor,命名结束;按照顺
|
|
|
604
604
|
```
|
|
605
605
|
Functional.max_pool2d.0.forward.output.0
|
|
606
606
|
```
|
|
607
|
-
|
|
607
|
+
综上,生成的op_name为
|
|
608
608
|
```
|
|
609
609
|
Functional.max_pool2d.0.forward.input.0
|
|
610
610
|
Functional.max_pool2d.0.forward.input.1
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
依赖:CANN 包中的 msaccucmp 工具,需要安装 Ascend-CANN-toolkit,详见《[CANN 软件安装指南](https://www.hiascend.com/document/detail/zh/canncommercial/700/envdeployment/instg/instg_0001.html)》。
|
|
10
10
|
|
|
11
|
+
**安全注意事项**: 工具使用时传入的msaccucmp.py文件路径参数请务必确保为CANN中自带的msaccucmp.py原始路径且文件内容未被篡改,工具会在解析数据时直接执行该文件,用户需自行保证该文件内容安全性。
|
|
12
|
+
|
|
11
13
|
## 2 数据解析操作指导
|
|
12
14
|
|
|
13
15
|
### 2.1 进入 parse 交互式界面
|