mindstudio-probe 8.1.1__tar.gz → 8.1.2__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.1.1 → mindstudio_probe-8.1.2}/PKG-INFO +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/PKG-INFO +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/SOURCES.txt +1 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common/const.py +3 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common/file_utils.py +45 -5
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common/utils.py +117 -13
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common_config.py +15 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/acc_compare.py +21 -9
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/compare_cli.py +10 -2
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/merge_result/merge_result.py +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/utils.py +8 -2
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/base_checker.py +2 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/hyperparameter_checker.py +5 -4
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/ckpt_compare/ckpt_comparator.py +4 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/config_check_cli.py +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/config_checker.py +1 -2
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/data_collector.py +4 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/data_processor/mindspore_processor.py +23 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/data_processor/pytorch_processor.py +3 -25
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/debugger/precision_debugger.py +13 -8
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/hook_manager.py +112 -82
- {mindstudio_probe-8.1.1/msprobe/pytorch → mindstudio_probe-8.1.2/msprobe/core}/monitor/utils.py +11 -39
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/service.py +2 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/single_save/single_comparator.py +5 -3
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/01.installation.md +1 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/05.data_dump_PyTorch.md +4 -4
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/07.accuracy_checker_PyTorch.md +14 -11
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/09.accuracy_checker_MindSpore.md +13 -11
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/10.accuracy_compare_PyTorch.md +3 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/11.accuracy_compare_MindSpore.md +4 -2
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/12.overflow_check_PyTorch.md +3 -2
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/13.overflow_check_MindSpore.md +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/14.data_parse_PyTorch.md +35 -32
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/21.visualization_PyTorch.md +9 -8
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/22.visualization_MindSpore.md +1 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/23.generate_operator_PyTorch.md +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/24.code_mapping_Mindspore.md +6 -5
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/31.config_check.md +15 -5
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/33.generate_operator_MindSpore.md +2 -2
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/34.RL_collect.md +18 -9
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/35.nan_analyze.md +4 -3
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/FAQ.md +3 -0
- mindstudio_probe-8.1.2/msprobe/docs/img/ms_layer.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/api_runner.py +29 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/cell_processor.py +35 -14
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/bind.py +23 -4
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/graph_parser.py +6 -4
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/common/utils.py +3 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/compare/common_dir_compare.py +32 -12
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/compare/ms_graph_compare.py +7 -2
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/compare/utils.py +9 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/debugger/debugger_config.py +13 -11
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/debugger/precision_debugger.py +67 -45
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/dump_tool_factory.py +2 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/hook_cell/hook_cell.py +14 -9
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/hook_cell/ms_hook_manager.py +12 -7
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/hook_cell/primitive_hooks.py +27 -13
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/jit_dump.py +6 -3
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/kernel_kbyk_dump.py +13 -6
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dym_loader/hook_dynamic_loader.cpp +6 -5
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dym_loader/hook_dynamic_loader.h +2 -2
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/grad_analyzer.py +2 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/mindspore_service.py +2 -2
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/common_func.py +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/module_hook.py +3 -3
- mindstudio_probe-8.1.2/msprobe/mindspore/monitor/utils.py +77 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/ms_config.py +0 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/overflow_check/overflow_check_tool_factory.py +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/nan_analyze/graph.py +4 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/multi_run_ut.py +15 -6
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/device_dispatch.py +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/utils.py +2 -4
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/common/utils.py +0 -16
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/compare/pt_compare.py +5 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/debugger/debugger_config.py +12 -5
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/debugger/precision_debugger.py +8 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/dump/module_dump/hook_wrapper.py +1 -3
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/dump/module_dump/module_processer.py +44 -13
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/base_handler.py +2 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/hook_module.py +9 -9
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/pt_hook_manager.py +7 -7
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/csv2tb.py +3 -10
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/features.py +5 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/module_hook.py +6 -7
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/module_metric.py +0 -3
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/optimizer_collect.py +1 -1
- mindstudio_probe-8.1.2/msprobe/pytorch/monitor/utils.py +50 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/dispatch.py +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/dump_compare.py +7 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/utils.py +2 -4
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/graph_service.py +1 -1
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/setup.py +1 -1
- mindstudio_probe-8.1.1/msprobe/docs/img/ms_layer.png +0 -0
- mindstudio_probe-8.1.1/msprobe/mindspore/monitor/utils.py +0 -329
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/LICENSE +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/MANIFEST.in +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/dependency_links.txt +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/entry_points.txt +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/not-zip-safe +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/requires.txt +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/top_level.txt +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/CMakeLists.txt +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/README.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/config.json +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/advisor/advisor.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/advisor/advisor_const.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/advisor/advisor_result.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common/decorator.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common/exceptions.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common/framework_adapter.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common/global_lock.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common/inplace_op_checker.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common/inplace_ops.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common/log.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/common/runtime.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/check.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/config.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/highlight.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/layer_mapping/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/layer_mapping/data_scope_parser.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/layer_mapping/layer_mapping.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/layer_mapping/postprocess_pass.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/merge_result/merge_result_cli.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/merge_result/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/ms_to_pt_api.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/multiprocessing_compute.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/npy_compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/dataset_checker.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/env_args_checker.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/pip_checker.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/random_checker.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/weights_checker.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/ckpt_compare/megatron_loader.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/ckpt_compare/metrics.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/ckpt_compare/name_mapping.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/resource/dependency.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/resource/env.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/resource/hyperparameter.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/utils/hyperparameter_parser.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/utils/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/api_registry.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/data_processor/base.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/data_processor/factory.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/json_writer.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/scope.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/grad_probe/constant.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/grad_probe/grad_compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/grad_probe/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/kernel_dump/kernel_config.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/monitor/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/monitor/anomaly_processor.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/abnormal_scene.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/api_info.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/checker.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/filter.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/ignore_rules.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/level.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/single_save/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/single_save/single_saver.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/02.config_introduction.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/03.config_examples.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/04.kernel_dump_PyTorch.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/06.data_dump_MindSpore.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/08.accuracy_checker_online_PyTorch.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/15.free_benchmarking_PyTorch.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/16.free_benchmarking_MindSpore.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/17.grad_probe.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/18.online_dispatch.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/19.monitor.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/20.monitor_performance_baseline.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/25.tool_function_introduction.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/26.data_dump_PyTorch_baseline.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/27.dump_json_instruction.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/28.debugger_save_instruction.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/28.kernel_dump_MindSpore.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/29.data_dump_MSAdapter.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/30.overflow_check_MSAdapter.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/32.ckpt_compare.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/S02.report_free_benchmarking_validation_performance_baseline.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/accuracy_checker_MindSpore/accuracy_checker_MindSpore_baseline.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/data_dump_MindSpore/data_dump_MindSpore_baseline.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/data_dump_MindSpore/dynamic_graph_quick_start_example.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/BLOOM-7B_1.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/BLOOM-7B_2.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/BLOOM-7B_3.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/BLOOM-7B_4.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_1.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_2.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_3.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_4.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_5.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_6.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_7.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_8.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/YOLOV5S_1.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/YOLOV5S_2.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/accuracy_checking_details.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/accuracy_checking_result.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/api_precision_compare_details.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/api_precision_compare_result.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/auto_analyze_log.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/compare_result.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/compare_result_pkl.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/compare_result_pkl_md5.png.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/cpu_info.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/free_benchmark.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/free_benchmark_framework.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/grad_probe_image-1.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/grad_probe_image-2.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/grad_probe_image-3.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/grad_probe_image-4.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/grad_probe_image.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/merge_result.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/module_compare.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/monitor/cpu_info.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/monitor/step_count_per_record.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/ms_dump.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/pt_dump.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/save_compare_result_sample.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/fuzzy_match_ms.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/fuzzy_match_pt.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/proxy.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/tensorboard_1.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/tensorboard_2.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_browser_2.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_match_info.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_search_info.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_show_info.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_showcase.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/GPTModel.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/ParallelMLP.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/layer_mapping_example.md +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/mapping.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/mapping1.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/module_name.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/module_name1.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/no_mapping.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/no_mapping1.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/no_mapping_analyze.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/top_layer.png +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/api_info.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/checker_support_api.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/cmd_parser.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/compute_element.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/data_manager.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/generate_op_script/op_generator.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/main.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/multi_api_accuracy_checker.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/multi_data_manager.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/type_mapping.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/cmd_parser.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/graph.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/main.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/processor.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/common/const.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/common/log.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/compare/distributed_compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/compare/ms_compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/debugger/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/cell_dump_process.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/cell_dump_with_insert_gradient.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/graph_mode_cell_dump.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/graph_tensor_dump.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/hook_cell/api_register.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/kernel_graph_dump.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/api_pynative_self_check.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/common/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/common/config.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/common/handler_params.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/common/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/data/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/handler/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/handler/base_handler.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/handler/check_handler.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/handler/fix_handler.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/handler/handler_factory.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/add_noise.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/base_perturbation.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/bit_noise.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/exchange_value.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/improve_precision.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/no_change.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/perturbation_factory.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/self_check_tool_factory.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/global_context.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/grad_monitor.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/grad_stat_csv.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/hook.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/mindtorch/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/mindtorch/mindtorch_adaptor.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/data_writers.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/distributed/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/distributed/distributed_ops.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/distributed/stack_blacklist.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/distributed/wrap_distributed.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/features.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/optimizer_collect.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/overflow_check/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/mindspore/task_handler_factory.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/msprobe.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/nan_analyze/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/nan_analyze/analyzer.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/nan_analyze/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/.keep +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/common/.keep +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/common/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/common/config.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/common/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/algorithm.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_standard.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_threshold.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/compare_column.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/compare_input.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/compare_utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/config.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/generate_op_script/config_op.json +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/absolute_threshold.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/accumulative_error_compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/base_standard.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/benchmark_compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/binary_consistency.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_config.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_register.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/thousandth_standard.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/ulp_compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/.keep +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/data_generate.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/torch_ut_setting.json +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/attl.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/client.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/dump_dispatch.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/server.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/torch_ops_config.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/attl_manager.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/apply_adam.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/apply_adam_w.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/confusion_transpose.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/fast_gelu.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/group_norm_silu.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/layer_norm_eval.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/linear.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/matmul_backward.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/mish.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/moe_gating_top_k_softmax.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/npu_fusion_attention.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/rms_norm.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/rotary_mul.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/scaled_mask_softmax.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/sort_v2.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/swiglu.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/common/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/common/compare_script.template +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/common/log.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/common/parse_json.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/compare/distributed_compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/compare/mapping.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/compare/match.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/compare/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/debugger/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/dump/module_dump/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/dump/module_dump/module_dump.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/constant.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/counter.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/enums.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/params.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/compare/grad_saver.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/compare/single_benchmark.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/main.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/base_layer.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/layer_factory.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/add_noise.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/bit_noise.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/change_value.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/improve_precision.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/no_change.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/npu_base_layser.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/run_cpu.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/check_handler.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/fix_handler.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/handler_factory.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/preheat_handler.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/function_factory.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/grad_probe/grad_monitor.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/grad_probe/grad_stat_csv.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/api_register.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/jit_script_wrapper.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/register_optimizer_hook.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/wrap_aten.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/data_writers.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/distributed/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/distributed/distributed_ops.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/distributed/stack_blacklist.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/distributed/wrap_distributed.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/visualizer.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/single_compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/torch_ops_config.yaml +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/cli.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/compare.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/config.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/file_desc.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/interactive_cli.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/parse_exception.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/parse_tool.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/visualization.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/pt_config.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/pytorch/pytorch_service.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/builder/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/builder/graph_builder.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/builder/msprobe_adapter.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/compare/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/compare/graph_comparator.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/compare/mode_adapter.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/__init__.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/base_node.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/distributed_analyzer.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/graph.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/node_colors.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/node_op.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/visualization/utils.py +0 -0
- {mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/setup.cfg +0 -0
|
@@ -83,6 +83,7 @@ msprobe/core/grad_probe/utils.py
|
|
|
83
83
|
msprobe/core/kernel_dump/kernel_config.py
|
|
84
84
|
msprobe/core/monitor/__init__.py
|
|
85
85
|
msprobe/core/monitor/anomaly_processor.py
|
|
86
|
+
msprobe/core/monitor/utils.py
|
|
86
87
|
msprobe/core/overflow_check/abnormal_scene.py
|
|
87
88
|
msprobe/core/overflow_check/api_info.py
|
|
88
89
|
msprobe/core/overflow_check/checker.py
|
|
@@ -384,7 +384,7 @@ def check_file_type(path):
|
|
|
384
384
|
elif os.path.isfile(path):
|
|
385
385
|
return FileCheckConst.FILE
|
|
386
386
|
else:
|
|
387
|
-
logger.error(f'
|
|
387
|
+
logger.error(f'path does not exist, please check!')
|
|
388
388
|
raise FileCheckException(FileCheckException.INVALID_FILE_ERROR)
|
|
389
389
|
|
|
390
390
|
|
|
@@ -460,7 +460,33 @@ def save_excel(path, data):
|
|
|
460
460
|
return "list"
|
|
461
461
|
raise ValueError("Data must be a DataFrame or a list of (DataFrame, sheet_name) pairs.")
|
|
462
462
|
|
|
463
|
+
def check_value_is_valid(value: str) -> bool:
|
|
464
|
+
if not isinstance(value, str):
|
|
465
|
+
return True
|
|
466
|
+
try:
|
|
467
|
+
# -1.00 or +1.00 should be considered as digit numbers
|
|
468
|
+
float(value)
|
|
469
|
+
except ValueError:
|
|
470
|
+
# otherwise, they will be considered as formular injections
|
|
471
|
+
return not bool(re.compile(FileCheckConst.CSV_BLACK_LIST).search(value))
|
|
472
|
+
return True
|
|
473
|
+
|
|
474
|
+
def malicious_check(df):
|
|
475
|
+
for row_name in df.index:
|
|
476
|
+
if not check_value_is_valid(row_name):
|
|
477
|
+
raise RuntimeError(f"Malicious value [{row_name}] not allowed to be written into the excel: {path}.")
|
|
478
|
+
|
|
479
|
+
for col_name in df.columns:
|
|
480
|
+
if not check_value_is_valid(col_name):
|
|
481
|
+
raise RuntimeError(f"Malicious value [{col_name}] not allowed to be written into the excel: {path}.")
|
|
482
|
+
|
|
483
|
+
for _, row in df.iterrows():
|
|
484
|
+
for _, value in row.items():
|
|
485
|
+
if not check_value_is_valid(value):
|
|
486
|
+
raise RuntimeError(f"Malicious value [{value}] not allowed to be written into the excel: {path}.")
|
|
487
|
+
|
|
463
488
|
def save_in_slice(df, base_name):
|
|
489
|
+
malicious_check(df)
|
|
464
490
|
df_length = len(df)
|
|
465
491
|
if df_length < CompareConst.MAX_EXCEL_LENGTH:
|
|
466
492
|
df.to_excel(writer, sheet_name=base_name if base_name else 'Sheet1', index=False)
|
|
@@ -745,6 +771,13 @@ def create_file_with_content(data, filepath):
|
|
|
745
771
|
change_mode(filepath, FileCheckConst.DATA_FILE_AUTHORITY)
|
|
746
772
|
|
|
747
773
|
|
|
774
|
+
def check_file_whether_exist_or_not(filepath):
|
|
775
|
+
if os.path.exists(filepath):
|
|
776
|
+
check_file_or_directory_path(filepath)
|
|
777
|
+
else:
|
|
778
|
+
check_path_before_create(filepath)
|
|
779
|
+
|
|
780
|
+
|
|
748
781
|
def add_file_to_zip(zip_file_path, file_path, arc_path=None):
|
|
749
782
|
"""
|
|
750
783
|
Add a file to a ZIP archive, if zip does not exist, create one.
|
|
@@ -753,12 +786,13 @@ def add_file_to_zip(zip_file_path, file_path, arc_path=None):
|
|
|
753
786
|
:param file_path: Path to the file to add
|
|
754
787
|
:param arc_path: Optional path inside the ZIP archive where the file should be added
|
|
755
788
|
"""
|
|
789
|
+
check_file_or_directory_path(file_path)
|
|
756
790
|
check_file_suffix(zip_file_path, FileCheckConst.ZIP_SUFFIX)
|
|
791
|
+
check_file_whether_exist_or_not(zip_file_path)
|
|
757
792
|
check_file_size(file_path, FileCheckConst.MAX_FILE_IN_ZIP_SIZE)
|
|
758
793
|
zip_size = os.path.getsize(zip_file_path) if os.path.exists(zip_file_path) else 0
|
|
759
794
|
if zip_size + os.path.getsize(file_path) > FileCheckConst.MAX_ZIP_SIZE:
|
|
760
795
|
raise RuntimeError(f"ZIP file size exceeds the limit of {FileCheckConst.MAX_ZIP_SIZE} bytes")
|
|
761
|
-
check_path_before_create(zip_file_path)
|
|
762
796
|
try:
|
|
763
797
|
proc_lock.acquire()
|
|
764
798
|
with zipfile.ZipFile(zip_file_path, 'a') as zip_file:
|
|
@@ -780,7 +814,7 @@ def create_file_in_zip(zip_file_path, file_name, content):
|
|
|
780
814
|
:param content: Content to write to the file
|
|
781
815
|
"""
|
|
782
816
|
check_file_suffix(zip_file_path, FileCheckConst.ZIP_SUFFIX)
|
|
783
|
-
|
|
817
|
+
check_file_whether_exist_or_not(zip_file_path)
|
|
784
818
|
zip_size = os.path.getsize(zip_file_path) if os.path.exists(zip_file_path) else 0
|
|
785
819
|
if zip_size + sys.getsizeof(content) > FileCheckConst.MAX_ZIP_SIZE:
|
|
786
820
|
raise RuntimeError(f"ZIP file size exceeds the limit of {FileCheckConst.MAX_ZIP_SIZE} bytes")
|
|
@@ -807,6 +841,8 @@ def extract_zip(zip_file_path, extract_dir):
|
|
|
807
841
|
:param extract_dir: Directory to extract the contents to
|
|
808
842
|
"""
|
|
809
843
|
check_file_suffix(zip_file_path, FileCheckConst.ZIP_SUFFIX)
|
|
844
|
+
check_file_or_directory_path(zip_file_path)
|
|
845
|
+
create_directory(extract_dir)
|
|
810
846
|
try:
|
|
811
847
|
proc_lock.acquire()
|
|
812
848
|
check_zip_file(zip_file_path)
|
|
@@ -815,8 +851,12 @@ def extract_zip(zip_file_path, extract_dir):
|
|
|
815
851
|
raise RuntimeError(f"Save content to file {os.path.basename(zip_file_path)} failed.") from e
|
|
816
852
|
finally:
|
|
817
853
|
proc_lock.release()
|
|
818
|
-
|
|
819
|
-
|
|
854
|
+
try:
|
|
855
|
+
with zipfile.ZipFile(zip_file_path, 'r') as zip_file:
|
|
856
|
+
zip_file.extractall(extract_dir)
|
|
857
|
+
except Exception as e:
|
|
858
|
+
raise RuntimeError(f"extract zip file {os.path.basename(zip_file_path)} failed") from e
|
|
859
|
+
recursive_chmod(extract_dir)
|
|
820
860
|
|
|
821
861
|
|
|
822
862
|
def split_zip_file_path(zip_file_path):
|
|
@@ -14,21 +14,22 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
|
|
16
16
|
import collections
|
|
17
|
+
import functools
|
|
18
|
+
import inspect
|
|
17
19
|
import os
|
|
18
20
|
import re
|
|
19
|
-
import
|
|
21
|
+
import threading
|
|
20
22
|
import time
|
|
21
|
-
import
|
|
23
|
+
from collections import OrderedDict
|
|
22
24
|
from datetime import datetime, timezone
|
|
23
25
|
|
|
24
26
|
import numpy as np
|
|
25
27
|
|
|
26
|
-
from msprobe.core.common.file_utils import (FileOpen, check_file_or_directory_path, load_json)
|
|
27
28
|
from msprobe.core.common.const import Const, CompareConst
|
|
28
|
-
from msprobe.core.common.log import logger
|
|
29
|
-
from msprobe.core.common.exceptions import MsprobeException
|
|
30
29
|
from msprobe.core.common.decorator import recursion_depth_decorator
|
|
31
|
-
|
|
30
|
+
from msprobe.core.common.exceptions import MsprobeException
|
|
31
|
+
from msprobe.core.common.file_utils import (FileOpen, check_file_or_directory_path, load_json)
|
|
32
|
+
from msprobe.core.common.log import logger
|
|
32
33
|
|
|
33
34
|
device = collections.namedtuple('device', ['type', 'index'])
|
|
34
35
|
prefixes = ['api_stack', 'list', 'range', 'acl']
|
|
@@ -112,6 +113,82 @@ class DumpException(MsprobeBaseException):
|
|
|
112
113
|
return f"Dump Error Code {self.code}: {self.error_info}"
|
|
113
114
|
|
|
114
115
|
|
|
116
|
+
class ThreadSafe:
|
|
117
|
+
"""
|
|
118
|
+
线程安全控制工具类,提供三种使用方式:
|
|
119
|
+
1.上下文管理器:with ThreadSafe()
|
|
120
|
+
2.主动加锁与释放锁:ThreadSafe.acquire()/ThreadSafe.release()
|
|
121
|
+
3.方法装饰器:@ThreadSafe.synchronized
|
|
122
|
+
"""
|
|
123
|
+
_lock = threading.RLock()
|
|
124
|
+
|
|
125
|
+
def __enter__(self):
|
|
126
|
+
self.__class__._lock.acquire()
|
|
127
|
+
|
|
128
|
+
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
129
|
+
self.__class__._lock.release()
|
|
130
|
+
|
|
131
|
+
@classmethod
|
|
132
|
+
def acquire(cls):
|
|
133
|
+
cls._lock.acquire()
|
|
134
|
+
|
|
135
|
+
@classmethod
|
|
136
|
+
def release(cls):
|
|
137
|
+
cls._lock.release()
|
|
138
|
+
|
|
139
|
+
@classmethod
|
|
140
|
+
def synchronized(cls, func):
|
|
141
|
+
@functools.wraps(func)
|
|
142
|
+
def wrapper(*args, **kwargs):
|
|
143
|
+
with cls._lock:
|
|
144
|
+
return func(*args, **kwargs)
|
|
145
|
+
|
|
146
|
+
return wrapper
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
class ModuleQueue:
|
|
150
|
+
def __init__(self):
|
|
151
|
+
self.queue = OrderedDict()
|
|
152
|
+
|
|
153
|
+
def add_name(self, name):
|
|
154
|
+
self.queue[name] = True
|
|
155
|
+
|
|
156
|
+
def remove_name(self, name):
|
|
157
|
+
if name in self.queue:
|
|
158
|
+
del self.queue[name]
|
|
159
|
+
|
|
160
|
+
def find_last(self, name):
|
|
161
|
+
"""
|
|
162
|
+
在队列中找到当前 Module/Cell 的父节点名称并返回,若找不到则返回None
|
|
163
|
+
|
|
164
|
+
Args:
|
|
165
|
+
name: 需要寻找父节点的 Module/Cell 的名称
|
|
166
|
+
|
|
167
|
+
Returns:
|
|
168
|
+
返回父节点名称,找不到则返回None
|
|
169
|
+
|
|
170
|
+
Examples:
|
|
171
|
+
父节点名称格式: Module.module1.module1.forward.0
|
|
172
|
+
子节点名称格式: Module.module1.module2.Module2.forward.0
|
|
173
|
+
匹配关系: Module/Cell 的名称总能被点(.)分割符分成5个部分及以上,子节点截断后4个点和父节点截断后3个点的前缀名称是匹配的
|
|
174
|
+
"""
|
|
175
|
+
child_parts = name.split('.')
|
|
176
|
+
if len(child_parts) < 5:
|
|
177
|
+
return None
|
|
178
|
+
child_name_prefix = '.'.join(child_parts[:-4])
|
|
179
|
+
if child_name_prefix in Const.MODULE_PREFIX:
|
|
180
|
+
return None
|
|
181
|
+
|
|
182
|
+
for parent_name in reversed(self.queue):
|
|
183
|
+
parent_parts = parent_name.split('.')
|
|
184
|
+
if len(parent_parts) < 5:
|
|
185
|
+
return None
|
|
186
|
+
parent_name_prefix = '.'.join(parent_parts[:-3])
|
|
187
|
+
if parent_name_prefix == child_name_prefix:
|
|
188
|
+
return parent_name
|
|
189
|
+
return None
|
|
190
|
+
|
|
191
|
+
|
|
115
192
|
def is_json_file(file_path):
|
|
116
193
|
if isinstance(file_path, str) and file_path.lower().endswith('.json'):
|
|
117
194
|
return True
|
|
@@ -156,9 +233,10 @@ def check_compare_param(input_param, output_path, dump_mode, stack_mode):
|
|
|
156
233
|
|
|
157
234
|
def check_configuration_param(stack_mode=False, auto_analyze=True, fuzzy_match=False, is_print_compare_log=True):
|
|
158
235
|
arg_list = [stack_mode, auto_analyze, fuzzy_match, is_print_compare_log]
|
|
159
|
-
|
|
236
|
+
arg_names = ['stack_mode', 'auto_analyze', 'fuzzy_match', 'is_print_compare_log']
|
|
237
|
+
for arg, name in zip(arg_list, arg_names):
|
|
160
238
|
if not isinstance(arg, bool):
|
|
161
|
-
logger.error(f"Invalid input parameter, {
|
|
239
|
+
logger.error(f"Invalid input parameter, {name} which should be only bool type.")
|
|
162
240
|
raise CompareException(CompareException.INVALID_PARAM_ERROR)
|
|
163
241
|
|
|
164
242
|
|
|
@@ -282,9 +360,9 @@ def set_dump_path(input_param):
|
|
|
282
360
|
npu_path = input_param.get("npu_json_path", None)
|
|
283
361
|
bench_path = input_param.get("bench_json_path", None)
|
|
284
362
|
dump_json_path_valid = npu_path is not None and npu_path.endswith("dump.json") and \
|
|
285
|
-
|
|
363
|
+
bench_path is not None and bench_path.endswith("dump.json")
|
|
286
364
|
debug_json_path_valid = npu_path is not None and npu_path.endswith("debug.json") and \
|
|
287
|
-
|
|
365
|
+
bench_path is not None and bench_path.endswith("debug.json")
|
|
288
366
|
if not dump_json_path_valid and not debug_json_path_valid:
|
|
289
367
|
logger.error(f"Please check the json path is valid and ensure that neither npu_path nor bench_path is None.")
|
|
290
368
|
raise CompareException(CompareException.INVALID_PATH_ERROR)
|
|
@@ -457,10 +535,10 @@ def get_real_step_or_rank(step_or_rank_input, obj):
|
|
|
457
535
|
def check_init_step(step):
|
|
458
536
|
if not is_int(step):
|
|
459
537
|
raise MsprobeException(MsprobeException.INVALID_PARAM_ERROR,
|
|
460
|
-
|
|
538
|
+
f"{step} must be an integer")
|
|
461
539
|
if not step >= 0:
|
|
462
540
|
raise MsprobeException(MsprobeException.INVALID_PARAM_ERROR,
|
|
463
|
-
|
|
541
|
+
f"{step} must be greater than or equal to 0")
|
|
464
542
|
|
|
465
543
|
|
|
466
544
|
def check_token_range(token_range):
|
|
@@ -568,14 +646,25 @@ def replace_last_occurrence(text, old, new):
|
|
|
568
646
|
|
|
569
647
|
def load_stack_json(stack_path):
|
|
570
648
|
stack_dict = load_json(stack_path)
|
|
649
|
+
|
|
650
|
+
if not isinstance(stack_dict, dict):
|
|
651
|
+
raise MsprobeException(
|
|
652
|
+
MsprobeException.INVALID_PARAM_ERROR,
|
|
653
|
+
"The format of the stack.json is incorrect, the outermost layer of stack.json should be a dict type."
|
|
654
|
+
)
|
|
655
|
+
|
|
571
656
|
if not stack_dict.get(Const.NEW_STACK_FLAG):
|
|
572
657
|
return stack_dict
|
|
573
658
|
|
|
574
659
|
new_stack_dict = {}
|
|
575
660
|
for stack_info in stack_dict.values():
|
|
576
|
-
if len(stack_info) != 2:
|
|
661
|
+
if not isinstance(stack_info, list) or len(stack_info) != 2:
|
|
577
662
|
continue
|
|
663
|
+
|
|
578
664
|
api_list, stack_str = stack_info
|
|
665
|
+
if not isinstance(api_list, list):
|
|
666
|
+
continue
|
|
667
|
+
|
|
579
668
|
for api_name in api_list:
|
|
580
669
|
new_stack_dict.update({api_name: stack_str})
|
|
581
670
|
return new_stack_dict
|
|
@@ -597,3 +686,18 @@ def analyze_api_call_stack(name):
|
|
|
597
686
|
else:
|
|
598
687
|
stack_str.append(Const.WITHOUT_CALL_STACK)
|
|
599
688
|
return "".join(stack_str)
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
def check_extern_input_list(input_list):
|
|
692
|
+
if not isinstance(input_list, list):
|
|
693
|
+
raise Exception("input is not a list")
|
|
694
|
+
if len(input_list) > Const.EXTERN_INPUT_LIST_MAX_LEN:
|
|
695
|
+
raise Exception(f"input list exceed max length {Const.EXTERN_INPUT_LIST_MAX_LEN}")
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
def check_process_num(process_num):
|
|
699
|
+
if not is_int(process_num) or process_num <= 0:
|
|
700
|
+
raise ValueError(f"process_num({process_num}) is not a positive integer")
|
|
701
|
+
if process_num > Const.MAX_PROCESS_NUM:
|
|
702
|
+
raise ValueError(f"The maximum supported process_num is {Const.MAX_PROCESS_NUM}, current value: {process_num}.")
|
|
703
|
+
|
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
# See the License for the specific language governing permissions and
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
import re
|
|
17
|
+
|
|
18
|
+
from msprobe.core.common.const import Const
|
|
17
19
|
from msprobe.core.common.log import logger
|
|
18
20
|
from msprobe.core.common.exceptions import MsprobeException
|
|
19
21
|
from msprobe.core.common.utils import get_real_step_or_rank
|
|
@@ -67,6 +69,7 @@ class BaseConfig:
|
|
|
67
69
|
self.if_preheat = json_config.get("if_preheat")
|
|
68
70
|
self.preheat_step = json_config.get("preheat_step")
|
|
69
71
|
self.max_sample = json_config.get("max_sample")
|
|
72
|
+
self.is_regex_valid = True
|
|
70
73
|
|
|
71
74
|
@staticmethod
|
|
72
75
|
def _check_str_list_config(config_item, config_name):
|
|
@@ -83,6 +86,7 @@ class BaseConfig:
|
|
|
83
86
|
self._check_str_list_config(self.scope, "scope")
|
|
84
87
|
self._check_str_list_config(self.list, "list")
|
|
85
88
|
self._check_data_mode()
|
|
89
|
+
self._check_regex_in_list()
|
|
86
90
|
|
|
87
91
|
def _check_data_mode(self):
|
|
88
92
|
if self.data_mode is not None:
|
|
@@ -118,3 +122,13 @@ class BaseConfig:
|
|
|
118
122
|
f"summary_mode is invalid, summary_mode is not in {Const.SUMMARY_MODE}.",
|
|
119
123
|
MsprobeException(MsprobeException.INVALID_PARAM_ERROR)
|
|
120
124
|
)
|
|
125
|
+
|
|
126
|
+
def _check_regex_in_list(self):
|
|
127
|
+
if self.list:
|
|
128
|
+
for name in self.list:
|
|
129
|
+
if name.startswith('name-regex(') and name.endswith(')'):
|
|
130
|
+
try:
|
|
131
|
+
re.compile(name[len('name-regex('):-1])
|
|
132
|
+
except re.error:
|
|
133
|
+
self.is_regex_valid = False
|
|
134
|
+
break
|
|
@@ -31,7 +31,7 @@ from msprobe.core.common.utils import CompareException, add_time_with_xlsx, chec
|
|
|
31
31
|
set_dump_path, get_dump_mode, check_compare_param, check_configuration_param, load_stack_json, get_file_type
|
|
32
32
|
from msprobe.core.compare.check import check_dump_json_str, check_stack_json_str, cross_dtype_mapping
|
|
33
33
|
from msprobe.core.compare.utils import merge_tensor, print_compare_ends_info, read_op, \
|
|
34
|
-
reorder_op_x_list, set_stack_json_path
|
|
34
|
+
reorder_op_x_list, set_stack_json_path, check_api_info_len
|
|
35
35
|
from msprobe.core.compare.config import ModeConfig, MappingConfig, MappingDict
|
|
36
36
|
from msprobe.core.compare.multiprocessing_compute import CompareRealData
|
|
37
37
|
from msprobe.core.compare.highlight import HighLight
|
|
@@ -211,25 +211,37 @@ class ParseData:
|
|
|
211
211
|
for index, op_name in enumerate(op_name_reorder):
|
|
212
212
|
result[CompareConst.OP_NAME].append(op_name)
|
|
213
213
|
if (CompareConst.INPUT_PATTERN in op_name) or (CompareConst.KWARGS_PATTERN in op_name):
|
|
214
|
-
|
|
214
|
+
info_list = merge_list[CompareConst.INPUT_STRUCT]
|
|
215
215
|
elif CompareConst.OUTPUT_PATTERN in op_name:
|
|
216
|
-
|
|
216
|
+
info_list = merge_list[CompareConst.OUTPUT_STRUCT]
|
|
217
217
|
elif CompareConst.PARAMS_PATTERN in op_name:
|
|
218
|
-
|
|
218
|
+
info_list = merge_list[CompareConst.PARAMS_STRUCT]
|
|
219
219
|
elif CompareConst.PARAMS_GRAD_PATTERN in op_name:
|
|
220
|
-
|
|
220
|
+
info_list = merge_list[CompareConst.PARAMS_GRAD_STRUCT]
|
|
221
221
|
else:
|
|
222
|
-
|
|
222
|
+
info_list = merge_list[CompareConst.DEBUG_STRUCT]
|
|
223
|
+
check_api_info_len(op_name, info_list, 1)
|
|
224
|
+
struct = info_list.pop(0)
|
|
225
|
+
|
|
226
|
+
check_api_info_len(op_name, struct, 2)
|
|
223
227
|
result[Const.DTYPE].append(struct[0])
|
|
224
228
|
result[Const.SHAPE].append(struct[1])
|
|
225
229
|
if self.mode_config.dump_mode == Const.MD5:
|
|
230
|
+
check_api_info_len(op_name, struct, 3)
|
|
226
231
|
result[Const.MD5].append(struct[2])
|
|
232
|
+
|
|
233
|
+
check_api_info_len(op_name, summary_reorder, 1)
|
|
227
234
|
result[Const.SUMMARY].append(summary_reorder.pop(0))
|
|
228
|
-
|
|
229
|
-
|
|
235
|
+
|
|
236
|
+
if index == 0 and self.mode_config.stack_mode:
|
|
237
|
+
check_api_info_len(op_name, merge_list[Const.STACK_INFO], 1)
|
|
238
|
+
result[Const.STACK_INFO].append(merge_list[Const.STACK_INFO][0])
|
|
239
|
+
else:
|
|
240
|
+
result[Const.STACK_INFO].append(None)
|
|
241
|
+
|
|
230
242
|
if self.mode_config.dump_mode == Const.ALL:
|
|
243
|
+
check_api_info_len(op_name, data_name_reorder, 1)
|
|
231
244
|
result['data_name'].append(data_name_reorder.pop(0))
|
|
232
|
-
|
|
233
245
|
progress_bar.update(1)
|
|
234
246
|
progress_bar.close()
|
|
235
247
|
return pd.DataFrame(result)
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
|
|
16
16
|
import json
|
|
17
|
-
from msprobe.core.common.file_utils import check_file_type, load_json
|
|
17
|
+
from msprobe.core.common.file_utils import check_file_type, load_json, check_file_or_directory_path
|
|
18
18
|
from msprobe.core.common.const import FileCheckConst, Const
|
|
19
19
|
from msprobe.core.common.utils import CompareException
|
|
20
20
|
from msprobe.core.common.log import logger
|
|
@@ -22,6 +22,9 @@ from msprobe.core.common.log import logger
|
|
|
22
22
|
|
|
23
23
|
def compare_cli(args):
|
|
24
24
|
input_param = load_json(args.input_path)
|
|
25
|
+
if not isinstance(input_param, dict):
|
|
26
|
+
logger.error("input_param should be dict, please check!")
|
|
27
|
+
raise CompareException(CompareException.INVALID_OBJECT_TYPE_ERROR)
|
|
25
28
|
npu_path = input_param.get("npu_path", None)
|
|
26
29
|
bench_path = input_param.get("bench_path", None)
|
|
27
30
|
if not npu_path:
|
|
@@ -47,6 +50,8 @@ def compare_cli(args):
|
|
|
47
50
|
}
|
|
48
51
|
|
|
49
52
|
if check_file_type(npu_path) == FileCheckConst.FILE and check_file_type(bench_path) == FileCheckConst.FILE:
|
|
53
|
+
check_file_or_directory_path(npu_path)
|
|
54
|
+
check_file_or_directory_path(bench_path)
|
|
50
55
|
input_param["npu_json_path"] = input_param.pop("npu_path")
|
|
51
56
|
input_param["bench_json_path"] = input_param.pop("bench_path")
|
|
52
57
|
if "stack_path" not in input_param:
|
|
@@ -68,6 +73,8 @@ def compare_cli(args):
|
|
|
68
73
|
}
|
|
69
74
|
ms_compare(input_param, args.output_path, **kwargs)
|
|
70
75
|
elif check_file_type(npu_path) == FileCheckConst.DIR and check_file_type(bench_path) == FileCheckConst.DIR:
|
|
76
|
+
check_file_or_directory_path(npu_path, isdir=True)
|
|
77
|
+
check_file_or_directory_path(bench_path, isdir=True)
|
|
71
78
|
kwargs = {
|
|
72
79
|
**common_kwargs,
|
|
73
80
|
"stack_mode": args.stack_mode,
|
|
@@ -79,7 +86,8 @@ def compare_cli(args):
|
|
|
79
86
|
if input_param.get("rank_id") is not None:
|
|
80
87
|
ms_graph_compare(input_param, args.output_path)
|
|
81
88
|
return
|
|
82
|
-
|
|
89
|
+
common = input_param.get("common", False)
|
|
90
|
+
if isinstance(common, bool) and common:
|
|
83
91
|
common_dir_compare(input_param, args.output_path)
|
|
84
92
|
return
|
|
85
93
|
if frame_name == Const.PT_FRAMEWORK:
|
{mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/compare/merge_result/merge_result.py
RENAMED
|
@@ -196,7 +196,7 @@ def result_process(compare_result_path_list, api_list):
|
|
|
196
196
|
compare_index_dict = {}
|
|
197
197
|
result_df = read_xlsx(compare_result_path)
|
|
198
198
|
|
|
199
|
-
rank_pattern = r"compare_result_rank(\d+)
|
|
199
|
+
rank_pattern = r"compare_result_rank(\d+)"
|
|
200
200
|
rank_num = int(re.search(rank_pattern, os.path.basename(compare_result_path)).group(1))
|
|
201
201
|
logger.info(f"Parsing rank{rank_num} compare result...")
|
|
202
202
|
if not result_df.empty:
|
|
@@ -238,6 +238,12 @@ def merge_tensor(tensor_list, dump_mode):
|
|
|
238
238
|
return op_dict if op_dict[CompareConst.OP_NAME] else {}
|
|
239
239
|
|
|
240
240
|
|
|
241
|
+
def check_api_info_len(op_name, info_list, len_require):
|
|
242
|
+
if len(info_list) < len_require:
|
|
243
|
+
logger.error(f'Index out of bounds error, please check info of api: {op_name}.')
|
|
244
|
+
raise CompareException(CompareException.INDEX_OUT_OF_BOUNDS_ERROR)
|
|
245
|
+
|
|
246
|
+
|
|
241
247
|
def print_compare_ends_info():
|
|
242
248
|
total_len = len(CompareConst.COMPARE_ENDS_SUCCESSFULLY) + Const.FILL_CHAR_NUMS
|
|
243
249
|
logger.info('*' * total_len)
|
|
@@ -509,8 +515,8 @@ def get_accuracy(result, n_dict, b_dict, dump_mode):
|
|
|
509
515
|
|
|
510
516
|
result.append(result_item)
|
|
511
517
|
|
|
512
|
-
|
|
513
|
-
|
|
518
|
+
_, n_num_input, n_num_output, n_num_params, n_num_params_grad = count_struct(n_dict)
|
|
519
|
+
_, b_num_input, b_num_output, b_num_params, b_num_params_grad = count_struct(b_dict)
|
|
514
520
|
|
|
515
521
|
get_accuracy_core(0, n_num_input, 0, b_num_input, CompareConst.INPUT_STRUCT)
|
|
516
522
|
get_accuracy_core(n_num_input + n_num_output, n_num_params, b_num_input + b_num_output, b_num_params,
|
{mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/base_checker.py
RENAMED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
import os
|
|
17
17
|
|
|
18
|
+
from msprobe.core.common.file_utils import check_path_pattern_valid
|
|
18
19
|
from msprobe.core.common.framework_adapter import FmkAdp
|
|
19
20
|
from msprobe.core.common.const import FileCheckConst
|
|
20
21
|
|
|
@@ -32,6 +33,7 @@ class PackInput:
|
|
|
32
33
|
raise Exception(f"model is not torch.nn.Module/mindspore.nn.Cell or module list.")
|
|
33
34
|
if not isinstance(self.output_zip_path, str) or not self.output_zip_path.endswith(FileCheckConst.ZIP_SUFFIX):
|
|
34
35
|
raise Exception(f"output zip path must be a string and ends with '.zip'")
|
|
36
|
+
check_path_pattern_valid(self.output_zip_path)
|
|
35
37
|
|
|
36
38
|
|
|
37
39
|
class BaseChecker:
|
|
@@ -20,12 +20,13 @@ from difflib import SequenceMatcher
|
|
|
20
20
|
from typing import Union, List, Dict, Any
|
|
21
21
|
import pandas as pd
|
|
22
22
|
|
|
23
|
+
from msprobe.core.common.utils import check_extern_input_list
|
|
23
24
|
from msprobe.core.config_check.checkers.base_checker import BaseChecker
|
|
24
25
|
from msprobe.core.config_check.config_checker import register_checker_item
|
|
25
26
|
from msprobe.core.config_check.utils.utils import compare_dict, config_checking_print, update_dict
|
|
26
27
|
from msprobe.core.config_check.utils.hyperparameter_parser import ParserFactory
|
|
27
|
-
from msprobe.core.common.file_utils import (
|
|
28
|
-
|
|
28
|
+
from msprobe.core.common.file_utils import (check_file_or_directory_path, create_file_in_zip, load_json,
|
|
29
|
+
load_yaml)
|
|
29
30
|
from msprobe.core.common.const import Const
|
|
30
31
|
|
|
31
32
|
|
|
@@ -47,13 +48,13 @@ class HyperparameterChecker(BaseChecker):
|
|
|
47
48
|
output_zip_path = pack_input.output_zip_path
|
|
48
49
|
|
|
49
50
|
if shell_path:
|
|
50
|
-
|
|
51
|
-
raise TypeError("shell_path should be a list of file paths.")
|
|
51
|
+
check_extern_input_list(shell_path)
|
|
52
52
|
|
|
53
53
|
hyperparameters = {}
|
|
54
54
|
parser_factory = ParserFactory()
|
|
55
55
|
for script_path in shell_path:
|
|
56
56
|
if os.path.isfile(script_path):
|
|
57
|
+
check_file_or_directory_path(script_path)
|
|
57
58
|
parser = parser_factory.get_parser(os.path.splitext(script_path)[1])
|
|
58
59
|
update_dict(hyperparameters, parser.run(os.path.realpath(script_path)))
|
|
59
60
|
else:
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
from typing import Dict
|
|
17
17
|
from tqdm import tqdm
|
|
18
18
|
|
|
19
|
-
from msprobe.core.common.file_utils import save_json, check_path_before_create, check_path_not_exists
|
|
19
|
+
from msprobe.core.common.file_utils import save_json, check_path_before_create, check_path_not_exists, \
|
|
20
|
+
check_file_or_directory_path
|
|
20
21
|
from msprobe.core.common.log import logger
|
|
21
22
|
from msprobe.core.config_check.ckpt_compare.megatron_loader import load_megatron_weights
|
|
22
23
|
from msprobe.core.config_check.ckpt_compare.metrics import METRIC_FUNC
|
|
@@ -44,6 +45,8 @@ def compare_checkpoints(ckpt_path1, ckpt_path2, output_path) -> Dict:
|
|
|
44
45
|
"""
|
|
45
46
|
|
|
46
47
|
# Load both checkpoints
|
|
48
|
+
check_file_or_directory_path(ckpt_path1, isdir=True)
|
|
49
|
+
check_file_or_directory_path(ckpt_path2, isdir=True)
|
|
47
50
|
check_path_before_create(output_path)
|
|
48
51
|
check_path_not_exists(output_path)
|
|
49
52
|
weights1 = load_megatron_weights(ckpt_path1)
|
{mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/config_check_cli.py
RENAMED
|
@@ -29,7 +29,7 @@ def compare(bench_zip_path, cmp_zip_path, output_path, framework):
|
|
|
29
29
|
def _config_checking_parser(parser):
|
|
30
30
|
parser.add_argument('-d', '--dump', nargs='*', help='Collect the train config into a zip file')
|
|
31
31
|
parser.add_argument('-c', '--compare', nargs=2, help='Compare two zip files or checkpoints')
|
|
32
|
-
parser.add_argument('-o', '--output', help='output path, default is
|
|
32
|
+
parser.add_argument('-o', '--output', help='output path, default is ./config_check_result')
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
def _run_config_checking_command(args):
|
{mindstudio_probe-8.1.1 → mindstudio_probe-8.1.2}/msprobe/core/config_check/config_checker.py
RENAMED
|
@@ -43,8 +43,7 @@ class ConfigChecker:
|
|
|
43
43
|
|
|
44
44
|
@staticmethod
|
|
45
45
|
def compare(bench_zip_path, cmp_zip_path, output_path, fmk=Const.PT_FRAMEWORK):
|
|
46
|
-
|
|
47
|
-
shutil.rmtree(output_path)
|
|
46
|
+
create_directory(output_path)
|
|
48
47
|
bench_dir = os.path.join(output_path, "bench")
|
|
49
48
|
cmp_dir = os.path.join(output_path, "cmp")
|
|
50
49
|
extract_zip(bench_zip_path, bench_dir)
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
import atexit
|
|
17
17
|
import os
|
|
18
|
+
import threading
|
|
18
19
|
import traceback
|
|
19
20
|
|
|
20
21
|
from msprobe.core.data_dump.scope import ScopeFactory
|
|
@@ -255,7 +256,9 @@ class DataCollector:
|
|
|
255
256
|
else:
|
|
256
257
|
if self.config.level == Const.LEVEL_MIX and \
|
|
257
258
|
not (name.startswith(Const.MODULE) or name.startswith(Const.CELL)):
|
|
258
|
-
self.data_writer.update_construct(
|
|
259
|
+
self.data_writer.update_construct(
|
|
260
|
+
{name: self.module_processor.api_parent_node.get(threading.get_ident())}
|
|
261
|
+
)
|
|
259
262
|
|
|
260
263
|
self.data_writer.update_construct(self.module_processor.module_node)
|
|
261
264
|
|