mindstudio-probe 8.1.0__tar.gz → 8.1.1__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.0 → mindstudio_probe-8.1.1}/PKG-INFO +3 -2
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/PKG-INFO +3 -2
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/SOURCES.txt +0 -1
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/requires.txt +2 -1
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/const.py +1 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/file_utils.py +36 -18
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/utils.py +19 -8
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/acc_compare.py +14 -5
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/utils.py +7 -1
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/data_collector.py +144 -90
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/json_writer.py +31 -1
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/debugger/precision_debugger.py +19 -18
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/service.py +1 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/single_save/single_comparator.py +25 -25
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/single_save/single_saver.py +5 -16
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/01.installation.md +1 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/05.data_dump_PyTorch.md +3 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/06.data_dump_MindSpore.md +3 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/08.accuracy_checker_online_PyTorch.md +2 -2
- mindstudio_probe-8.1.1/msprobe/docs/25.tool_function_introduction.md +30 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/33.generate_operator_MindSpore.md +10 -19
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +1 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/compute_element.py +0 -1
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/generate_op_script/op_generator.py +10 -1
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py +2 -1
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/common/utils.py +1 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/debugger/precision_debugger.py +4 -4
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/cell_dump_process.py +13 -38
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/cell_dump_with_insert_gradient.py +1 -26
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/hook_cell/api_register.py +3 -3
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dym_loader/hook_dynamic_loader.cpp +4 -4
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/mindspore_service.py +3 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/features.py +10 -9
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/optimizer_collect.py +4 -1
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_utils.py +20 -20
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/multi_run_ut.py +7 -7
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/utils.py +2 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/common/utils.py +1 -1
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/debugger/precision_debugger.py +28 -25
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/api_register.py +3 -3
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/optimizer_collect.py +4 -1
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/pytorch_service.py +3 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/compare/mode_adapter.py +9 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/utils.py +3 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/setup.py +4 -3
- mindstudio_probe-8.1.0/msprobe/docs/25.tool_function_introduction.md +0 -30
- mindstudio_probe-8.1.0/msprobe/mindspore/api_accuracy_checker/generate_op_script/config_op.json +0 -9
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/LICENSE +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/MANIFEST.in +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/dependency_links.txt +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/entry_points.txt +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/not-zip-safe +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/top_level.txt +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/CMakeLists.txt +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/README.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/config.json +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/advisor/advisor.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/advisor/advisor_const.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/advisor/advisor_result.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/decorator.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/exceptions.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/framework_adapter.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/global_lock.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/inplace_op_checker.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/inplace_ops.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/log.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/runtime.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common_config.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/check.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/compare_cli.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/config.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/highlight.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/layer_mapping/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/layer_mapping/data_scope_parser.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/layer_mapping/layer_mapping.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/layer_mapping/postprocess_pass.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/merge_result/merge_result.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/merge_result/merge_result_cli.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/merge_result/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/ms_to_pt_api.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/multiprocessing_compute.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/npy_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/base_checker.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/dataset_checker.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/env_args_checker.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/hyperparameter_checker.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/pip_checker.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/random_checker.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/weights_checker.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/ckpt_compare/ckpt_comparator.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/ckpt_compare/megatron_loader.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/ckpt_compare/metrics.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/ckpt_compare/name_mapping.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/config_check_cli.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/config_checker.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/resource/dependency.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/resource/env.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/resource/hyperparameter.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/utils/hyperparameter_parser.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/utils/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/api_registry.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/data_processor/base.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/data_processor/factory.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/data_processor/mindspore_processor.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/data_processor/pytorch_processor.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/scope.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/grad_probe/constant.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/grad_probe/grad_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/grad_probe/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/hook_manager.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/kernel_dump/kernel_config.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/monitor/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/monitor/anomaly_processor.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/abnormal_scene.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/api_info.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/checker.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/filter.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/ignore_rules.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/level.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/single_save/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/02.config_introduction.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/03.config_examples.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/04.kernel_dump_PyTorch.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/07.accuracy_checker_PyTorch.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/09.accuracy_checker_MindSpore.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/10.accuracy_compare_PyTorch.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/11.accuracy_compare_MindSpore.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/12.overflow_check_PyTorch.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/13.overflow_check_MindSpore.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/14.data_parse_PyTorch.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/15.free_benchmarking_PyTorch.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/16.free_benchmarking_MindSpore.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/17.grad_probe.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/18.online_dispatch.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/19.monitor.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/20.monitor_performance_baseline.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/21.visualization_PyTorch.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/22.visualization_MindSpore.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/23.generate_operator_PyTorch.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/24.code_mapping_Mindspore.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/26.data_dump_PyTorch_baseline.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/27.dump_json_instruction.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/28.debugger_save_instruction.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/28.kernel_dump_MindSpore.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/29.data_dump_MSAdapter.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/30.overflow_check_MSAdapter.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/31.config_check.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/32.ckpt_compare.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/34.RL_collect.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/35.nan_analyze.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/FAQ.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/S02.report_free_benchmarking_validation_performance_baseline.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/accuracy_checker_MindSpore/accuracy_checker_MindSpore_baseline.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/data_dump_MindSpore/data_dump_MindSpore_baseline.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/data_dump_MindSpore/dynamic_graph_quick_start_example.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/BLOOM-7B_1.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/BLOOM-7B_2.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/BLOOM-7B_3.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/BLOOM-7B_4.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_1.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_2.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_3.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_4.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_5.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_6.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_7.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_8.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/YOLOV5S_1.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/YOLOV5S_2.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/accuracy_checking_details.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/accuracy_checking_result.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/api_precision_compare_details.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/api_precision_compare_result.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/auto_analyze_log.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/compare_result.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/compare_result_pkl.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/compare_result_pkl_md5.png.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/cpu_info.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/free_benchmark.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/free_benchmark_framework.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/grad_probe_image-1.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/grad_probe_image-2.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/grad_probe_image-3.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/grad_probe_image-4.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/grad_probe_image.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/merge_result.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/module_compare.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/monitor/cpu_info.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/monitor/step_count_per_record.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/ms_dump.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/ms_layer.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/pt_dump.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/save_compare_result_sample.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/fuzzy_match_ms.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/fuzzy_match_pt.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/proxy.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/tensorboard_1.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/tensorboard_2.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_browser_2.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_match_info.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_search_info.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_show_info.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_showcase.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/GPTModel.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/ParallelMLP.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/layer_mapping_example.md +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/mapping.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/mapping1.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/module_name.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/module_name1.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/no_mapping.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/no_mapping1.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/no_mapping_analyze.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/top_layer.png +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/api_info.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/api_runner.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/checker_support_api.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/cmd_parser.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/data_manager.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/main.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/multi_api_accuracy_checker.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/multi_data_manager.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/type_mapping.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/cell_processor.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/bind.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/cmd_parser.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/graph.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/graph_parser.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/main.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/processor.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/common/const.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/common/log.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/compare/common_dir_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/compare/distributed_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/compare/ms_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/compare/ms_graph_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/compare/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/debugger/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/debugger/debugger_config.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/dump_tool_factory.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/graph_mode_cell_dump.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/graph_tensor_dump.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/hook_cell/hook_cell.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/hook_cell/ms_hook_manager.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/hook_cell/primitive_hooks.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/jit_dump.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/kernel_graph_dump.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/kernel_kbyk_dump.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dym_loader/hook_dynamic_loader.h +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/api_pynative_self_check.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/common/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/common/config.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/common/handler_params.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/common/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/data/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/handler/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/handler/base_handler.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/handler/check_handler.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/handler/fix_handler.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/handler/handler_factory.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/add_noise.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/base_perturbation.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/bit_noise.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/exchange_value.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/improve_precision.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/no_change.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/perturbation_factory.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/self_check_tool_factory.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/global_context.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/grad_analyzer.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/grad_monitor.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/grad_stat_csv.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/hook.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/mindtorch/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/mindtorch/mindtorch_adaptor.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/common_func.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/data_writers.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/distributed/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/distributed/distributed_ops.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/distributed/stack_blacklist.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/distributed/wrap_distributed.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/module_hook.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/ms_config.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/overflow_check/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/overflow_check/overflow_check_tool_factory.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/task_handler_factory.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/msprobe.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/nan_analyze/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/nan_analyze/analyzer.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/nan_analyze/graph.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/nan_analyze/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/.keep +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/common/.keep +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/common/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/common/config.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/common/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/algorithm.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_standard.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_threshold.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_column.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_input.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/config.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/config_op.json +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/absolute_threshold.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/accumulative_error_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/base_standard.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/benchmark_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/binary_consistency.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_config.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_register.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/thousandth_standard.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/ulp_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/.keep +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/data_generate.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/torch_ut_setting.json +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/attl.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/client.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/device_dispatch.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/dump_dispatch.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/server.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/torch_ops_config.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/attl_manager.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/apply_adam.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/apply_adam_w.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/confusion_transpose.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/fast_gelu.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/group_norm_silu.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/layer_norm_eval.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/linear.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/matmul_backward.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/mish.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/moe_gating_top_k_softmax.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/npu_fusion_attention.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/rms_norm.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/rotary_mul.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/scaled_mask_softmax.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/sort_v2.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/swiglu.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/common/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/common/compare_script.template +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/common/log.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/common/parse_json.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/compare/distributed_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/compare/mapping.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/compare/match.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/compare/pt_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/compare/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/debugger/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/debugger/debugger_config.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/dump/module_dump/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/dump/module_dump/hook_wrapper.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/dump/module_dump/module_dump.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/dump/module_dump/module_processer.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/constant.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/counter.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/enums.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/params.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/compare/grad_saver.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/compare/single_benchmark.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/main.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/base_layer.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/layer_factory.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/add_noise.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/bit_noise.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/change_value.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/improve_precision.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/no_change.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/npu_base_layser.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/run_cpu.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/base_handler.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/check_handler.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/fix_handler.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/handler_factory.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/preheat_handler.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/function_factory.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/grad_probe/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/grad_probe/grad_monitor.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/grad_probe/grad_stat_csv.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/hook_module.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/jit_script_wrapper.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/pt_hook_manager.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/register_optimizer_hook.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/support_wrap_ops.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/wrap_aten.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/csv2tb.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/data_writers.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/distributed/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/distributed/distributed_ops.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/distributed/stack_blacklist.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/distributed/wrap_distributed.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/features.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/module_hook.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/module_metric.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/visualizer.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/dispatch.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/dump_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/single_compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/torch_ops_config.yaml +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/cli.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/compare.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/config.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/file_desc.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/interactive_cli.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/parse_exception.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/parse_tool.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/utils.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/visualization.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/pt_config.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/builder/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/builder/graph_builder.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/builder/msprobe_adapter.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/compare/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/compare/graph_comparator.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/__init__.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/base_node.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/distributed_analyzer.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/graph.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/node_colors.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/node_op.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph_service.py +0 -0
- {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mindstudio-probe
|
|
3
|
-
Version: 8.1.
|
|
3
|
+
Version: 8.1.1
|
|
4
4
|
Summary: Ascend Probe Utils
|
|
5
5
|
Home-page: https://gitee.com/ascend/mstt/tree/master/debug/accuracy_tools/msprobe
|
|
6
6
|
Author: Ascend Team
|
|
@@ -28,11 +28,12 @@ Requires-Dist: pyyaml
|
|
|
28
28
|
Requires-Dist: rich
|
|
29
29
|
Requires-Dist: tqdm
|
|
30
30
|
Requires-Dist: openpyxl>=3.0.6
|
|
31
|
-
Requires-Dist: pyopenssl
|
|
31
|
+
Requires-Dist: pyopenssl==24.2.1
|
|
32
32
|
Requires-Dist: twisted
|
|
33
33
|
Requires-Dist: matplotlib
|
|
34
34
|
Requires-Dist: tensorboard
|
|
35
35
|
Requires-Dist: tabulate
|
|
36
36
|
Requires-Dist: pwinput
|
|
37
|
+
Requires-Dist: psutil
|
|
37
38
|
|
|
38
39
|
MindStudio-Probe is a set of tools for diagnosing and improving model accuracy on Ascend NPU, including API acc checker, ptdbg, grad tool etc.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mindstudio-probe
|
|
3
|
-
Version: 8.1.
|
|
3
|
+
Version: 8.1.1
|
|
4
4
|
Summary: Ascend Probe Utils
|
|
5
5
|
Home-page: https://gitee.com/ascend/mstt/tree/master/debug/accuracy_tools/msprobe
|
|
6
6
|
Author: Ascend Team
|
|
@@ -28,11 +28,12 @@ Requires-Dist: pyyaml
|
|
|
28
28
|
Requires-Dist: rich
|
|
29
29
|
Requires-Dist: tqdm
|
|
30
30
|
Requires-Dist: openpyxl>=3.0.6
|
|
31
|
-
Requires-Dist: pyopenssl
|
|
31
|
+
Requires-Dist: pyopenssl==24.2.1
|
|
32
32
|
Requires-Dist: twisted
|
|
33
33
|
Requires-Dist: matplotlib
|
|
34
34
|
Requires-Dist: tensorboard
|
|
35
35
|
Requires-Dist: tabulate
|
|
36
36
|
Requires-Dist: pwinput
|
|
37
|
+
Requires-Dist: psutil
|
|
37
38
|
|
|
38
39
|
MindStudio-Probe is a set of tools for diagnosing and improving model accuracy on Ascend NPU, including API acc checker, ptdbg, grad tool etc.
|
|
@@ -218,7 +218,6 @@ msprobe/mindspore/api_accuracy_checker/type_mapping.py
|
|
|
218
218
|
msprobe/mindspore/api_accuracy_checker/utils.py
|
|
219
219
|
msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py
|
|
220
220
|
msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py
|
|
221
|
-
msprobe/mindspore/api_accuracy_checker/generate_op_script/config_op.json
|
|
222
221
|
msprobe/mindspore/api_accuracy_checker/generate_op_script/op_generator.py
|
|
223
222
|
msprobe/mindspore/api_accuracy_checker/generate_op_script/operator_replication.template
|
|
224
223
|
msprobe/mindspore/code_mapping/__init__.py
|
|
@@ -681,6 +681,7 @@ class FileCheckConst:
|
|
|
681
681
|
MAX_IR_SIZE = 1073741824 # 1 * 1024 * 1024 * 1024
|
|
682
682
|
MAX_ZIP_SIZE = 10737418240 # 10 * 1024 * 1024 * 1024
|
|
683
683
|
MAX_FILE_IN_ZIP_SIZE = 1073741824 # 1 * 1024 * 1024 * 1024
|
|
684
|
+
MAX_FILE_SIZE = 1073741824 # 1 * 1024 * 1024 * 1024
|
|
684
685
|
COMMOM_FILE_SIZE = 1048576 # 1 * 1024 * 1024
|
|
685
686
|
DIR = "dir"
|
|
686
687
|
FILE = "file"
|
|
@@ -33,7 +33,7 @@ import pandas as pd
|
|
|
33
33
|
from msprobe.core.common.decorator import recursion_depth_decorator
|
|
34
34
|
from msprobe.core.common.log import logger
|
|
35
35
|
from msprobe.core.common.exceptions import FileCheckException
|
|
36
|
-
from msprobe.core.common.const import FileCheckConst
|
|
36
|
+
from msprobe.core.common.const import FileCheckConst, CompareConst
|
|
37
37
|
from msprobe.core.common.global_lock import global_lock, is_main_process
|
|
38
38
|
|
|
39
39
|
proc_lock = multiprocessing.Lock()
|
|
@@ -460,6 +460,17 @@ 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 save_in_slice(df, base_name):
|
|
464
|
+
df_length = len(df)
|
|
465
|
+
if df_length < CompareConst.MAX_EXCEL_LENGTH:
|
|
466
|
+
df.to_excel(writer, sheet_name=base_name if base_name else 'Sheet1', index=False)
|
|
467
|
+
else:
|
|
468
|
+
slice_num = (df_length + CompareConst.MAX_EXCEL_LENGTH - 1) // CompareConst.MAX_EXCEL_LENGTH
|
|
469
|
+
slice_size = (df_length + slice_num - 1) // slice_num
|
|
470
|
+
for i in range(slice_num):
|
|
471
|
+
df.iloc[i * slice_size: min((i + 1) * slice_size, df_length)] \
|
|
472
|
+
.to_excel(writer, sheet_name=f'{base_name}_part_{i}' if base_name else f'part_{i}', index=False)
|
|
473
|
+
|
|
463
474
|
check_path_before_create(path)
|
|
464
475
|
path = os.path.realpath(path)
|
|
465
476
|
|
|
@@ -467,12 +478,12 @@ def save_excel(path, data):
|
|
|
467
478
|
data_type = validate_data(data)
|
|
468
479
|
|
|
469
480
|
try:
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
481
|
+
with pd.ExcelWriter(path) as writer:
|
|
482
|
+
if data_type == "single":
|
|
483
|
+
save_in_slice(data, None)
|
|
484
|
+
elif data_type == "list":
|
|
474
485
|
for data_df, sheet_name in data:
|
|
475
|
-
data_df
|
|
486
|
+
save_in_slice(data_df, sheet_name)
|
|
476
487
|
except Exception as e:
|
|
477
488
|
logger.error(f'Save excel file "{os.path.basename(path)}" failed.')
|
|
478
489
|
raise RuntimeError(f"Save excel file {path} failed.") from e
|
|
@@ -677,8 +688,23 @@ def os_walk_for_files(path, depth):
|
|
|
677
688
|
return res
|
|
678
689
|
|
|
679
690
|
|
|
691
|
+
def check_zip_file(zip_file_path):
|
|
692
|
+
with zipfile.ZipFile(zip_file_path, 'r') as zip_file:
|
|
693
|
+
total_size = 0
|
|
694
|
+
if len(zip_file.infolist()) > FileCheckConst.MAX_FILE_IN_ZIP_SIZE:
|
|
695
|
+
raise ValueError(f"Too many files in {os.path.basename(zip_file_path)}")
|
|
696
|
+
for file_info in zip_file.infolist():
|
|
697
|
+
if file_info.file_size > FileCheckConst.MAX_FILE_SIZE:
|
|
698
|
+
raise ValueError(f"File {file_info.filename} is too large to extract")
|
|
699
|
+
|
|
700
|
+
total_size += file_info.file_size
|
|
701
|
+
if total_size > FileCheckConst.MAX_ZIP_SIZE:
|
|
702
|
+
raise ValueError(f"Total extracted size exceeds the limit of {FileCheckConst.MAX_ZIP_SIZE} bytes")
|
|
703
|
+
|
|
704
|
+
|
|
680
705
|
def read_xlsx(file_path, sheet_name=None):
|
|
681
706
|
check_file_or_directory_path(file_path)
|
|
707
|
+
check_zip_file(file_path)
|
|
682
708
|
try:
|
|
683
709
|
if sheet_name:
|
|
684
710
|
result_df = pd.read_excel(file_path, keep_default_na=False, sheet_name=sheet_name)
|
|
@@ -783,17 +809,7 @@ def extract_zip(zip_file_path, extract_dir):
|
|
|
783
809
|
check_file_suffix(zip_file_path, FileCheckConst.ZIP_SUFFIX)
|
|
784
810
|
try:
|
|
785
811
|
proc_lock.acquire()
|
|
786
|
-
|
|
787
|
-
total_size = 0
|
|
788
|
-
if len(zip_file.infolist()) > FileCheckConst.MAX_FILE_IN_ZIP_SIZE:
|
|
789
|
-
raise ValueError(f"Too many files in {os.path.basename(zip_file_path)}")
|
|
790
|
-
for file_info in zip_file.infolist():
|
|
791
|
-
if file_info.file_size > FileCheckConst.MAX_FILE_IN_ZIP_SIZE:
|
|
792
|
-
raise ValueError(f"File {file_info.filename} is too large to extract")
|
|
793
|
-
|
|
794
|
-
total_size += file_info.file_size
|
|
795
|
-
if total_size > FileCheckConst.MAX_ZIP_SIZE:
|
|
796
|
-
raise ValueError(f"Total extracted size exceeds the limit of {FileCheckConst.MAX_ZIP_SIZE} bytes")
|
|
812
|
+
check_zip_file(zip_file_path)
|
|
797
813
|
except Exception as e:
|
|
798
814
|
logger.error(f'Save content to file "{os.path.basename(zip_file_path)}" failed.')
|
|
799
815
|
raise RuntimeError(f"Save content to file {os.path.basename(zip_file_path)} failed.") from e
|
|
@@ -877,7 +893,8 @@ class SharedDict:
|
|
|
877
893
|
self._shm = shared_memory.SharedMemory(create=False, name=name)
|
|
878
894
|
except FileNotFoundError:
|
|
879
895
|
try:
|
|
880
|
-
|
|
896
|
+
# 共享内存空间增加至5M
|
|
897
|
+
self._shm = shared_memory.SharedMemory(create=True, name=name, size=1024 * 1024 * 5)
|
|
881
898
|
data = pickle.dumps({})
|
|
882
899
|
self._shm.buf[0:len(data)] = bytearray(data)
|
|
883
900
|
logger.debug(f'create shared memory, name: {name}')
|
|
@@ -892,6 +909,7 @@ class SharedDict:
|
|
|
892
909
|
except Exception as e:
|
|
893
910
|
logger.debug(f'shared dict is unreadable, reason: {e}, create new dict.')
|
|
894
911
|
self._dict = {}
|
|
912
|
+
self._shm.buf[:] = bytearray(b'\x00' * len(self._shm.buf)) # 清空内存
|
|
895
913
|
self._changed = True
|
|
896
914
|
|
|
897
915
|
|
|
@@ -303,6 +303,21 @@ def get_file_type(file_path):
|
|
|
303
303
|
return file_type
|
|
304
304
|
|
|
305
305
|
|
|
306
|
+
def check_dump_json_key(json_data, device_type):
|
|
307
|
+
task = json_data.get('task', None)
|
|
308
|
+
if not task:
|
|
309
|
+
logger.error(f"Task for {device_type} is empty, please check.")
|
|
310
|
+
raise CompareException(CompareException.INVALID_TASK_ERROR)
|
|
311
|
+
if 'data' not in json_data:
|
|
312
|
+
logger.error(f"Missing 'data' in dump.json, please check dump.json of {device_type}.")
|
|
313
|
+
raise CompareException(CompareException.INVALID_DATA_ERROR)
|
|
314
|
+
api_data = json_data.get('data')
|
|
315
|
+
if not isinstance(api_data, dict):
|
|
316
|
+
logger.error(f"Invalid type for 'data': expected a dict. Please check dump.json of {device_type}.")
|
|
317
|
+
raise CompareException(CompareException.INVALID_DATA_ERROR)
|
|
318
|
+
return task, api_data
|
|
319
|
+
|
|
320
|
+
|
|
306
321
|
def get_dump_mode(input_param):
|
|
307
322
|
npu_path = input_param.get("npu_json_path", None)
|
|
308
323
|
bench_path = input_param.get("bench_json_path", None)
|
|
@@ -310,12 +325,8 @@ def get_dump_mode(input_param):
|
|
|
310
325
|
bench_json_data = load_json(bench_path)
|
|
311
326
|
json_type = get_file_type(file_path=npu_path)
|
|
312
327
|
|
|
313
|
-
npu_task = npu_json_data
|
|
314
|
-
bench_task = bench_json_data
|
|
315
|
-
|
|
316
|
-
if not npu_task or not bench_task:
|
|
317
|
-
logger.error(f"Please check the dump task is correct, npu's task is {npu_task}, bench's task is {bench_task}.")
|
|
318
|
-
raise CompareException(CompareException.INVALID_TASK_ERROR)
|
|
328
|
+
npu_task, npu_api_data = check_dump_json_key(npu_json_data, 'npu')
|
|
329
|
+
bench_task, bench_api_data = check_dump_json_key(bench_json_data, 'bench')
|
|
319
330
|
|
|
320
331
|
if npu_task != bench_task:
|
|
321
332
|
logger.error(f"Please check the dump task is consistent.")
|
|
@@ -328,8 +339,8 @@ def get_dump_mode(input_param):
|
|
|
328
339
|
return Const.STRUCTURE
|
|
329
340
|
|
|
330
341
|
if npu_task == Const.STATISTICS:
|
|
331
|
-
npu_md5_compare = md5_find(
|
|
332
|
-
bench_md5_compare = md5_find(
|
|
342
|
+
npu_md5_compare = md5_find(npu_api_data, json_type)
|
|
343
|
+
bench_md5_compare = md5_find(bench_api_data, json_type)
|
|
333
344
|
if npu_md5_compare == bench_md5_compare:
|
|
334
345
|
return Const.MD5 if npu_md5_compare else Const.SUMMARY
|
|
335
346
|
else:
|
|
@@ -105,7 +105,7 @@ class Comparator:
|
|
|
105
105
|
stack_json = input_param.get("stack_json_path")
|
|
106
106
|
result_df = self.compare_statistics([npu_json, bench_json, stack_json])
|
|
107
107
|
if not result_df.values.tolist():
|
|
108
|
-
logger.warning("Can`t match any op.")
|
|
108
|
+
logger.warning("Can`t match any op. No compare result file generated.")
|
|
109
109
|
return
|
|
110
110
|
|
|
111
111
|
# compare real data
|
|
@@ -186,11 +186,16 @@ class ParseData:
|
|
|
186
186
|
elif self.mode_config.dump_mode == Const.MD5:
|
|
187
187
|
result[Const.MD5] = []
|
|
188
188
|
|
|
189
|
-
|
|
189
|
+
apis_data = data_json.get('data', None)
|
|
190
|
+
if not apis_data:
|
|
191
|
+
logger.warning('No APIs found in dump.json.')
|
|
192
|
+
return pd.DataFrame(result)
|
|
193
|
+
|
|
194
|
+
api_nums = len(apis_data)
|
|
190
195
|
progress_bar = tqdm(total=api_nums, desc="API/Module Read Progress", unit="api/module", ncols=100)
|
|
191
196
|
|
|
192
197
|
# 从json中循环解析API数据,遍历所有API
|
|
193
|
-
for data_name in
|
|
198
|
+
for data_name in apis_data:
|
|
194
199
|
check_op_str_pattern_valid(data_name)
|
|
195
200
|
merge_list = self.gen_merge_list(data_json, data_name, stack_json_data)
|
|
196
201
|
if not merge_list:
|
|
@@ -599,8 +604,12 @@ class CreateTable:
|
|
|
599
604
|
npu_summary = [CompareConst.NPU_MAX, CompareConst.NPU_MIN, CompareConst.NPU_MEAN, CompareConst.NPU_NORM]
|
|
600
605
|
bench_summary = [CompareConst.BENCH_MAX, CompareConst.BENCH_MIN, CompareConst.BENCH_MEAN,
|
|
601
606
|
CompareConst.BENCH_NORM]
|
|
602
|
-
|
|
603
|
-
|
|
607
|
+
if result.empty:
|
|
608
|
+
result[npu_summary] = pd.DataFrame(columns=npu_summary)
|
|
609
|
+
result[bench_summary] = pd.DataFrame(columns=bench_summary)
|
|
610
|
+
else:
|
|
611
|
+
result[npu_summary] = result['summary_x'].apply(self.set_summary).tolist()
|
|
612
|
+
result[bench_summary] = result['summary_y'].apply(self.set_summary).tolist()
|
|
604
613
|
|
|
605
614
|
result_df = pd.DataFrame(columns=header)
|
|
606
615
|
for h in header:
|
|
@@ -590,4 +590,10 @@ def compare_distributed_inner(npu_dump_dir, bench_dump_dir, output_path, compare
|
|
|
590
590
|
'bench_json_path': bench_path,
|
|
591
591
|
'is_print_compare_log': is_print_compare_log
|
|
592
592
|
}
|
|
593
|
-
|
|
593
|
+
try:
|
|
594
|
+
compare_func(input_param=dump_result_param, output_path=output_path, suffix=f'_{nr}', **kwargs)
|
|
595
|
+
except CompareException as e:
|
|
596
|
+
if e.code == CompareException.INVALID_DATA_ERROR:
|
|
597
|
+
logger.error(f"Invalid or missing 'data' in dump.json. Skipping {nr} comparison.")
|
|
598
|
+
if e.code == CompareException.INVALID_TASK_ERROR:
|
|
599
|
+
logger.error(f"Invalid or missing 'task' in dump.json. Skipping {nr} comparison.")
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
import atexit
|
|
17
17
|
import os
|
|
18
|
+
import traceback
|
|
18
19
|
|
|
19
20
|
from msprobe.core.data_dump.scope import ScopeFactory
|
|
20
21
|
from msprobe.core.data_dump.json_writer import DataWriter
|
|
@@ -99,100 +100,150 @@ class DataCollector:
|
|
|
99
100
|
self.data_writer.update_stack(name, stack_info)
|
|
100
101
|
|
|
101
102
|
def forward_input_data_collect(self, name, module, pid, module_input_output, is_recompute=None):
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if self.
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
data_info =
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
103
|
+
try:
|
|
104
|
+
|
|
105
|
+
if self.config.task == Const.FREE_BENCHMARK:
|
|
106
|
+
backward_name = name.replace(Const.FORWARD, Const.BACKWARD)
|
|
107
|
+
if self.check_scope_and_pid(self.scope, backward_name, pid):
|
|
108
|
+
self.data_processor.analyze_forward_input(backward_name, module, module_input_output)
|
|
109
|
+
return
|
|
110
|
+
|
|
111
|
+
if not self.check_scope_and_pid(self.scope, name, pid):
|
|
112
|
+
return
|
|
113
|
+
|
|
114
|
+
data_info = {}
|
|
115
|
+
if self.config.task != Const.STRUCTURE:
|
|
116
|
+
data_info = self.data_processor.analyze_forward_input(name, module, module_input_output)
|
|
117
|
+
self.set_is_recomputable(data_info, is_recompute)
|
|
118
|
+
if self.config.level == Const.LEVEL_L2:
|
|
119
|
+
return
|
|
120
|
+
self.handle_data(name, data_info, flush=self.data_processor.is_terminated)
|
|
121
|
+
|
|
122
|
+
except Exception:
|
|
123
|
+
tb = traceback.format_exc()
|
|
124
|
+
self.data_writer.write_error_log(
|
|
125
|
+
f"[ERROR] forward_input_data_collect failed: name={name}, pid={pid}\n{tb}"
|
|
126
|
+
)
|
|
118
127
|
|
|
119
128
|
def forward_output_data_collect(self, name, module, pid, module_input_output, is_recompute=None):
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
data_info =
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
129
|
+
try:
|
|
130
|
+
|
|
131
|
+
self.update_construct(name)
|
|
132
|
+
if not self.check_scope_and_pid(self.scope, name, pid):
|
|
133
|
+
return
|
|
134
|
+
|
|
135
|
+
data_info = {}
|
|
136
|
+
if self.config.task != Const.STRUCTURE:
|
|
137
|
+
data_info = self.data_processor.analyze_forward_output(name, module, module_input_output)
|
|
138
|
+
self.set_is_recomputable(data_info, is_recompute)
|
|
139
|
+
if self.config.level == Const.LEVEL_L2:
|
|
140
|
+
return
|
|
141
|
+
self.call_stack_collect(name)
|
|
142
|
+
self.handle_data(name, data_info, flush=self.data_processor.is_terminated)
|
|
143
|
+
|
|
144
|
+
except Exception:
|
|
145
|
+
tb = traceback.format_exc()
|
|
146
|
+
self.data_writer.write_error_log(
|
|
147
|
+
f"[ERROR] forward_output_data_collect failed: name={name}, pid={pid}\n{tb}"
|
|
148
|
+
)
|
|
132
149
|
|
|
133
150
|
def forward_data_collect_only_tensor(self, name, module, pid, module_input_output):
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
151
|
+
try:
|
|
152
|
+
if not self.check_scope_and_pid(self.scope, name, pid):
|
|
153
|
+
return
|
|
154
|
+
self.data_processor.analyze_forward(name, module, module_input_output)
|
|
138
155
|
|
|
156
|
+
except Exception:
|
|
157
|
+
tb = traceback.format_exc()
|
|
158
|
+
self.data_writer.write_error_log(
|
|
159
|
+
f"[ERROR] forward_data_collect_only_tensor failed: name={name}, pid={pid}\n{tb}"
|
|
160
|
+
)
|
|
139
161
|
|
|
140
162
|
def forward_data_collect(self, name, module, pid, module_input_output, is_recompute=None):
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
163
|
+
try:
|
|
164
|
+
|
|
165
|
+
self.update_construct(name)
|
|
166
|
+
if not self.check_scope_and_pid(self.scope, name, pid):
|
|
167
|
+
return
|
|
168
|
+
data_info = {}
|
|
169
|
+
if self.config.task != Const.STRUCTURE:
|
|
170
|
+
data_info = self.data_processor.analyze_forward(name, module, module_input_output)
|
|
171
|
+
self.set_is_recomputable(data_info, is_recompute)
|
|
172
|
+
self.call_stack_collect(name)
|
|
173
|
+
self.handle_data(name, data_info, flush=self.data_processor.is_terminated)
|
|
174
|
+
|
|
175
|
+
except Exception:
|
|
176
|
+
tb = traceback.format_exc()
|
|
177
|
+
self.data_writer.write_error_log(
|
|
178
|
+
f"[ERROR] forward_data_collect failed: name={name}, pid={pid}\n{tb}"
|
|
179
|
+
)
|
|
151
180
|
|
|
152
181
|
def backward_data_collect_only_tensor(self, name, module, pid, module_input_output, is_recompute=None):
|
|
153
|
-
|
|
154
|
-
|
|
182
|
+
try:
|
|
183
|
+
if not self.check_scope_and_pid(self.scope, name, pid):
|
|
184
|
+
return
|
|
185
|
+
self.data_processor.analyze_backward(name, module, module_input_output)
|
|
155
186
|
|
|
156
|
-
|
|
187
|
+
except Exception:
|
|
188
|
+
tb = traceback.format_exc()
|
|
189
|
+
self.data_writer.write_error_log(
|
|
190
|
+
f"[ERROR] backward_data_collect_only_tensor failed: name={name}, pid={pid}\n{tb}"
|
|
191
|
+
)
|
|
157
192
|
|
|
158
193
|
def backward_data_collect(self, name, module, pid, module_input_output, is_recompute=None):
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
194
|
+
try:
|
|
195
|
+
self.update_construct(name)
|
|
196
|
+
if not self.check_scope_and_pid(self.scope, name, pid):
|
|
197
|
+
return
|
|
198
|
+
data_info = {}
|
|
199
|
+
if self.config.task != Const.STRUCTURE:
|
|
200
|
+
data_info = self.data_processor.analyze_backward(name, module, module_input_output)
|
|
201
|
+
if self.config.level == Const.LEVEL_L2:
|
|
202
|
+
return
|
|
203
|
+
if data_info and name.split(Const.SEP)[0] in Const.MODULE_PREFIX:
|
|
204
|
+
module_name = name.rsplit(Const.SEP, 2)[0]
|
|
205
|
+
self.backward_module_names[module_name] = True
|
|
206
|
+
self.handle_data(name, data_info, flush=self.data_processor.is_terminated)
|
|
207
|
+
|
|
208
|
+
except Exception:
|
|
209
|
+
tb = traceback.format_exc()
|
|
210
|
+
self.data_writer.write_error_log(
|
|
211
|
+
f"[ERROR] backward_data_collect failed: name={name}, pid={pid}\n{tb}"
|
|
212
|
+
)
|
|
174
213
|
|
|
175
214
|
def backward_input_data_collect(self, name, module, pid, module_input_output, is_recompute=None):
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
215
|
+
try:
|
|
216
|
+
self.update_construct(name)
|
|
217
|
+
if not self.check_scope_and_pid(self.scope, name, pid):
|
|
218
|
+
return
|
|
219
|
+
data_info = {}
|
|
220
|
+
if self.config.task != Const.STRUCTURE:
|
|
221
|
+
data_info = self.data_processor.analyze_backward_input(name, module, module_input_output)
|
|
222
|
+
self.set_is_recomputable(data_info, is_recompute)
|
|
223
|
+
self.handle_data(name, data_info)
|
|
224
|
+
|
|
225
|
+
except Exception:
|
|
226
|
+
tb = traceback.format_exc()
|
|
227
|
+
self.data_writer.write_error_log(
|
|
228
|
+
f"[ERROR] backward_input_data_collect failed: name={name}, pid={pid}\n{tb}"
|
|
229
|
+
)
|
|
185
230
|
|
|
186
231
|
def backward_output_data_collect(self, name, module, pid, module_input_output, is_recompute=None):
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
232
|
+
try:
|
|
233
|
+
self.update_construct(name)
|
|
234
|
+
if not self.check_scope_and_pid(self.scope, name, pid):
|
|
235
|
+
return
|
|
236
|
+
data_info = {}
|
|
237
|
+
if self.config.task != Const.STRUCTURE:
|
|
238
|
+
data_info = self.data_processor.analyze_backward_output(name, module, module_input_output)
|
|
239
|
+
self.set_is_recomputable(data_info, is_recompute)
|
|
240
|
+
self.handle_data(name, data_info)
|
|
241
|
+
|
|
242
|
+
except Exception:
|
|
243
|
+
tb = traceback.format_exc()
|
|
244
|
+
self.data_writer.write_error_log(
|
|
245
|
+
f"[ERROR] backward_output_data_collect failed: name={name}, pid={pid}\n{tb}"
|
|
246
|
+
)
|
|
196
247
|
|
|
197
248
|
def update_construct(self, name):
|
|
198
249
|
if self.config.level not in DataCollector.level_without_construct:
|
|
@@ -228,20 +279,23 @@ class DataCollector:
|
|
|
228
279
|
self.data_processor.update_iter(current_iter)
|
|
229
280
|
|
|
230
281
|
def params_data_collect(self, name, param_name, pid, data):
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
282
|
+
try:
|
|
283
|
+
grad_name = name + Const.SEP + Const.PARAMS_GRAD
|
|
284
|
+
self.update_api_or_module_name(grad_name)
|
|
285
|
+
if not self.check_scope_and_pid(self.scope, name, pid) and not self.backward_module_names.get(name):
|
|
286
|
+
if self.data_writer.cache_data.get("data"):
|
|
287
|
+
self.data_writer.cache_data.get("data").pop(grad_name, None)
|
|
288
|
+
return
|
|
289
|
+
data_info = self.data_processor.analyze_params(grad_name, param_name, data)
|
|
290
|
+
self.handle_data(grad_name, data_info, flush=self.data_processor.is_terminated)
|
|
291
|
+
except Exception:
|
|
292
|
+
tb = traceback.format_exc()
|
|
293
|
+
self.data_writer.write_error_log(
|
|
294
|
+
f"[ERROR] params_data_collect failed: "
|
|
295
|
+
f"name={name}, param_name={param_name}, pid={pid}\n{tb}"
|
|
296
|
+
)
|
|
242
297
|
|
|
243
298
|
def debug_data_collect_forward(self, variable, name_with_count):
|
|
244
|
-
|
|
245
299
|
data_info = self.data_processor.analyze_debug_forward(variable, name_with_count)
|
|
246
300
|
name_with_count_category = name_with_count + Const.SEP + Const.DEBUG
|
|
247
301
|
self.data_writer.update_debug({name_with_count_category: data_info})
|
|
@@ -17,9 +17,11 @@ import csv
|
|
|
17
17
|
import os
|
|
18
18
|
import copy
|
|
19
19
|
import threading
|
|
20
|
+
import traceback
|
|
21
|
+
from datetime import datetime, timezone, timedelta
|
|
20
22
|
|
|
21
23
|
from msprobe.core.common.const import Const, FileCheckConst
|
|
22
|
-
from msprobe.core.common.file_utils import change_mode, FileOpen, save_json, load_json
|
|
24
|
+
from msprobe.core.common.file_utils import change_mode, FileOpen, save_json, load_json, check_path_before_create
|
|
23
25
|
from msprobe.core.common.log import logger
|
|
24
26
|
from msprobe.core.common.decorator import recursion_depth_decorator
|
|
25
27
|
|
|
@@ -35,6 +37,7 @@ class DataWriter:
|
|
|
35
37
|
self.free_benchmark_file_path = None
|
|
36
38
|
self.dump_tensor_data_dir = None
|
|
37
39
|
self.debug_file_path = None
|
|
40
|
+
self.dump_error_info_path = None
|
|
38
41
|
self.flush_size = 1000
|
|
39
42
|
self.larger_flush_size = 20000
|
|
40
43
|
self.cache_data = {}
|
|
@@ -42,6 +45,7 @@ class DataWriter:
|
|
|
42
45
|
self.cache_construct = {}
|
|
43
46
|
self.cache_debug = {}
|
|
44
47
|
self.stat_stack_list = []
|
|
48
|
+
self._error_log_initialized = False
|
|
45
49
|
|
|
46
50
|
@staticmethod
|
|
47
51
|
def write_data_to_csv(result: list, result_header: tuple, file_path: str):
|
|
@@ -128,6 +132,7 @@ class DataWriter:
|
|
|
128
132
|
self.dump_tensor_data_dir = dump_path_aggregation.dump_tensor_data_dir
|
|
129
133
|
self.free_benchmark_file_path = dump_path_aggregation.free_benchmark_file_path
|
|
130
134
|
self.debug_file_path = dump_path_aggregation.debug_file_path
|
|
135
|
+
self.dump_error_info_path = dump_path_aggregation.dump_error_info_path
|
|
131
136
|
|
|
132
137
|
def flush_data_periodically(self):
|
|
133
138
|
dump_data = self.cache_data.get(Const.DATA)
|
|
@@ -142,6 +147,31 @@ class DataWriter:
|
|
|
142
147
|
if length % threshold == 0:
|
|
143
148
|
self.write_json()
|
|
144
149
|
|
|
150
|
+
def write_error_log(self, message: str):
|
|
151
|
+
"""
|
|
152
|
+
写错误日志:
|
|
153
|
+
- 第一次调用时以 'w' 模式清空文件,之后都用 'a' 模式追加
|
|
154
|
+
- 添加时间戳
|
|
155
|
+
- 在 message 后写入当前的调用栈(方便追踪日志来源)
|
|
156
|
+
"""
|
|
157
|
+
try:
|
|
158
|
+
mode = "w" if not self._error_log_initialized else "a"
|
|
159
|
+
self._error_log_initialized = True
|
|
160
|
+
|
|
161
|
+
check_path_before_create(self.dump_error_info_path)
|
|
162
|
+
|
|
163
|
+
with FileOpen(self.dump_error_info_path, mode) as f:
|
|
164
|
+
cst_timezone = timezone(timedelta(hours=8), name="CST")
|
|
165
|
+
timestamp = datetime.now(cst_timezone).strftime("%Y-%m-%d %H:%M:%S %z")
|
|
166
|
+
f.write(f"[{timestamp}] {message}\n")
|
|
167
|
+
f.write("Call stack (most recent call last):\n")
|
|
168
|
+
|
|
169
|
+
f.write("".join(traceback.format_stack()[:-1])) # 去掉自己这一层
|
|
170
|
+
f.write("\n")
|
|
171
|
+
except Exception as e:
|
|
172
|
+
# 如果连写日志都失败了,就打印到 stderr
|
|
173
|
+
logger.warning(f"[FallbackError] Failed to write error log: {e}")
|
|
174
|
+
|
|
145
175
|
def update_data(self, new_data):
|
|
146
176
|
with lock:
|
|
147
177
|
if not isinstance(new_data, dict) or len(new_data.keys()) != 1:
|