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.
Files changed (474) hide show
  1. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/PKG-INFO +3 -2
  2. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/PKG-INFO +3 -2
  3. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/SOURCES.txt +0 -1
  4. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/requires.txt +2 -1
  5. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/const.py +1 -0
  6. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/file_utils.py +36 -18
  7. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/utils.py +19 -8
  8. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/acc_compare.py +14 -5
  9. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/utils.py +7 -1
  10. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/data_collector.py +144 -90
  11. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/json_writer.py +31 -1
  12. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/debugger/precision_debugger.py +19 -18
  13. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/service.py +1 -0
  14. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/single_save/single_comparator.py +25 -25
  15. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/single_save/single_saver.py +5 -16
  16. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/01.installation.md +1 -0
  17. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/05.data_dump_PyTorch.md +3 -0
  18. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/06.data_dump_MindSpore.md +3 -0
  19. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/08.accuracy_checker_online_PyTorch.md +2 -2
  20. mindstudio_probe-8.1.1/msprobe/docs/25.tool_function_introduction.md +30 -0
  21. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/33.generate_operator_MindSpore.md +10 -19
  22. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +1 -0
  23. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/compute_element.py +0 -1
  24. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/generate_op_script/op_generator.py +10 -1
  25. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py +2 -1
  26. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/common/utils.py +1 -0
  27. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/debugger/precision_debugger.py +4 -4
  28. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/cell_dump_process.py +13 -38
  29. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/cell_dump_with_insert_gradient.py +1 -26
  30. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/hook_cell/api_register.py +3 -3
  31. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dym_loader/hook_dynamic_loader.cpp +4 -4
  32. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/mindspore_service.py +3 -0
  33. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/features.py +10 -9
  34. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/optimizer_collect.py +4 -1
  35. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_utils.py +20 -20
  36. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/multi_run_ut.py +7 -7
  37. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/utils.py +2 -0
  38. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/common/utils.py +1 -1
  39. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/debugger/precision_debugger.py +28 -25
  40. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/api_register.py +3 -3
  41. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/optimizer_collect.py +4 -1
  42. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/pytorch_service.py +3 -0
  43. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/compare/mode_adapter.py +9 -0
  44. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/utils.py +3 -0
  45. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/setup.py +4 -3
  46. mindstudio_probe-8.1.0/msprobe/docs/25.tool_function_introduction.md +0 -30
  47. mindstudio_probe-8.1.0/msprobe/mindspore/api_accuracy_checker/generate_op_script/config_op.json +0 -9
  48. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/LICENSE +0 -0
  49. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/MANIFEST.in +0 -0
  50. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/dependency_links.txt +0 -0
  51. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/entry_points.txt +0 -0
  52. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/not-zip-safe +0 -0
  53. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/mindstudio_probe.egg-info/top_level.txt +0 -0
  54. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/CMakeLists.txt +0 -0
  55. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/README.md +0 -0
  56. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/__init__.py +0 -0
  57. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/config.json +0 -0
  58. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/__init__.py +0 -0
  59. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/advisor/advisor.py +0 -0
  60. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/advisor/advisor_const.py +0 -0
  61. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/advisor/advisor_result.py +0 -0
  62. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/decorator.py +0 -0
  63. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/exceptions.py +0 -0
  64. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/framework_adapter.py +0 -0
  65. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/global_lock.py +0 -0
  66. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/inplace_op_checker.py +0 -0
  67. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/inplace_ops.yaml +0 -0
  68. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/log.py +0 -0
  69. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common/runtime.py +0 -0
  70. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/common_config.py +0 -0
  71. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/check.py +0 -0
  72. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/compare_cli.py +0 -0
  73. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/config.py +0 -0
  74. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/highlight.py +0 -0
  75. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/layer_mapping/__init__.py +0 -0
  76. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/layer_mapping/data_scope_parser.py +0 -0
  77. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/layer_mapping/layer_mapping.py +0 -0
  78. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/layer_mapping/postprocess_pass.py +0 -0
  79. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/merge_result/merge_result.py +0 -0
  80. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/merge_result/merge_result_cli.py +0 -0
  81. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/merge_result/utils.py +0 -0
  82. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/ms_to_pt_api.yaml +0 -0
  83. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/multiprocessing_compute.py +0 -0
  84. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/compare/npy_compare.py +0 -0
  85. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/__init__.py +0 -0
  86. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/__init__.py +0 -0
  87. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/base_checker.py +0 -0
  88. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/dataset_checker.py +0 -0
  89. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/env_args_checker.py +0 -0
  90. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/hyperparameter_checker.py +0 -0
  91. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/pip_checker.py +0 -0
  92. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/random_checker.py +0 -0
  93. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/checkers/weights_checker.py +0 -0
  94. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/ckpt_compare/ckpt_comparator.py +0 -0
  95. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/ckpt_compare/megatron_loader.py +0 -0
  96. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/ckpt_compare/metrics.py +0 -0
  97. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/ckpt_compare/name_mapping.yaml +0 -0
  98. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/config_check_cli.py +0 -0
  99. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/config_checker.py +0 -0
  100. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/resource/dependency.yaml +0 -0
  101. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/resource/env.yaml +0 -0
  102. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/resource/hyperparameter.yaml +0 -0
  103. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/utils/hyperparameter_parser.py +0 -0
  104. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/config_check/utils/utils.py +0 -0
  105. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/api_registry.py +0 -0
  106. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/data_processor/base.py +0 -0
  107. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/data_processor/factory.py +0 -0
  108. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/data_processor/mindspore_processor.py +0 -0
  109. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/data_processor/pytorch_processor.py +0 -0
  110. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/data_dump/scope.py +0 -0
  111. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/grad_probe/__init__.py +0 -0
  112. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/grad_probe/constant.py +0 -0
  113. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/grad_probe/grad_compare.py +0 -0
  114. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/grad_probe/utils.py +0 -0
  115. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/hook_manager.py +0 -0
  116. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/kernel_dump/kernel_config.py +0 -0
  117. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/monitor/__init__.py +0 -0
  118. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/monitor/anomaly_processor.py +0 -0
  119. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/abnormal_scene.py +0 -0
  120. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/api_info.py +0 -0
  121. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/checker.py +0 -0
  122. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/filter.py +0 -0
  123. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/ignore_rules.yaml +0 -0
  124. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/level.py +0 -0
  125. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/overflow_check/utils.py +0 -0
  126. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/core/single_save/__init__.py +0 -0
  127. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/02.config_introduction.md +0 -0
  128. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/03.config_examples.md +0 -0
  129. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/04.kernel_dump_PyTorch.md +0 -0
  130. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/07.accuracy_checker_PyTorch.md +0 -0
  131. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/09.accuracy_checker_MindSpore.md +0 -0
  132. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/10.accuracy_compare_PyTorch.md +0 -0
  133. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/11.accuracy_compare_MindSpore.md +0 -0
  134. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/12.overflow_check_PyTorch.md +0 -0
  135. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/13.overflow_check_MindSpore.md +0 -0
  136. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/14.data_parse_PyTorch.md +0 -0
  137. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/15.free_benchmarking_PyTorch.md +0 -0
  138. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/16.free_benchmarking_MindSpore.md +0 -0
  139. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/17.grad_probe.md +0 -0
  140. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/18.online_dispatch.md +0 -0
  141. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/19.monitor.md +0 -0
  142. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/20.monitor_performance_baseline.md +0 -0
  143. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/21.visualization_PyTorch.md +0 -0
  144. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/22.visualization_MindSpore.md +0 -0
  145. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/23.generate_operator_PyTorch.md +0 -0
  146. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/24.code_mapping_Mindspore.md +0 -0
  147. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/26.data_dump_PyTorch_baseline.md +0 -0
  148. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/27.dump_json_instruction.md +0 -0
  149. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/28.debugger_save_instruction.md +0 -0
  150. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/28.kernel_dump_MindSpore.md +0 -0
  151. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/29.data_dump_MSAdapter.md +0 -0
  152. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/30.overflow_check_MSAdapter.md +0 -0
  153. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/31.config_check.md +0 -0
  154. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/32.ckpt_compare.md +0 -0
  155. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/34.RL_collect.md +0 -0
  156. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/35.nan_analyze.md +0 -0
  157. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/FAQ.md +0 -0
  158. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/S02.report_free_benchmarking_validation_performance_baseline.md +0 -0
  159. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/accuracy_checker_MindSpore/accuracy_checker_MindSpore_baseline.md +0 -0
  160. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/data_dump_MindSpore/data_dump_MindSpore_baseline.md +0 -0
  161. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/data_dump_MindSpore/dynamic_graph_quick_start_example.md +0 -0
  162. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/BLOOM-7B_1.png +0 -0
  163. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/BLOOM-7B_2.png +0 -0
  164. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/BLOOM-7B_3.png +0 -0
  165. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/BLOOM-7B_4.png +0 -0
  166. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_1.png +0 -0
  167. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_2.png +0 -0
  168. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_3.png +0 -0
  169. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_4.png +0 -0
  170. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_5.png +0 -0
  171. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_6.png +0 -0
  172. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_7.png +0 -0
  173. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/GPT-3_8.png +0 -0
  174. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/YOLOV5S_1.png +0 -0
  175. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/YOLOV5S_2.png +0 -0
  176. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/accuracy_checking_details.png +0 -0
  177. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/accuracy_checking_result.png +0 -0
  178. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/api_precision_compare_details.png +0 -0
  179. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/api_precision_compare_result.png +0 -0
  180. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/auto_analyze_log.png +0 -0
  181. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/compare_result.png +0 -0
  182. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/compare_result_pkl.png +0 -0
  183. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/compare_result_pkl_md5.png.png +0 -0
  184. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/cpu_info.png +0 -0
  185. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/free_benchmark.png +0 -0
  186. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/free_benchmark_framework.png +0 -0
  187. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/grad_probe_image-1.png +0 -0
  188. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/grad_probe_image-2.png +0 -0
  189. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/grad_probe_image-3.png +0 -0
  190. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/grad_probe_image-4.png +0 -0
  191. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/grad_probe_image.png +0 -0
  192. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/merge_result.png +0 -0
  193. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/module_compare.png +0 -0
  194. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/monitor/cpu_info.png +0 -0
  195. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/monitor/step_count_per_record.png +0 -0
  196. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/ms_dump.png +0 -0
  197. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/ms_layer.png +0 -0
  198. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/pt_dump.png +0 -0
  199. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/save_compare_result_sample.png +0 -0
  200. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/fuzzy_match_ms.png +0 -0
  201. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/fuzzy_match_pt.png +0 -0
  202. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/proxy.png +0 -0
  203. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/tensorboard_1.png +0 -0
  204. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/tensorboard_2.png +0 -0
  205. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
  206. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_browser_2.png +0 -0
  207. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_match_info.png +0 -0
  208. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
  209. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_search_info.png +0 -0
  210. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_show_info.png +0 -0
  211. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_showcase.png +0 -0
  212. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
  213. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/GPTModel.png +0 -0
  214. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/ParallelMLP.png +0 -0
  215. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/layer_mapping_example.md +0 -0
  216. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/mapping.png +0 -0
  217. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/mapping1.png +0 -0
  218. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/module_name.png +0 -0
  219. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/module_name1.png +0 -0
  220. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/no_mapping.png +0 -0
  221. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/no_mapping1.png +0 -0
  222. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/no_mapping_analyze.png +0 -0
  223. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/docs/visualization/top_layer.png +0 -0
  224. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/__init__.py +0 -0
  225. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/__init__.py +0 -0
  226. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/api_info.py +0 -0
  227. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/api_runner.py +0 -0
  228. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py +0 -0
  229. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py +0 -0
  230. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py +0 -0
  231. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/checker_support_api.yaml +0 -0
  232. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/cmd_parser.py +0 -0
  233. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/data_manager.py +0 -0
  234. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
  235. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/main.py +0 -0
  236. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/multi_api_accuracy_checker.py +0 -0
  237. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/multi_data_manager.py +0 -0
  238. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/type_mapping.py +0 -0
  239. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/api_accuracy_checker/utils.py +0 -0
  240. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/cell_processor.py +0 -0
  241. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/__init__.py +0 -0
  242. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/bind.py +0 -0
  243. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/cmd_parser.py +0 -0
  244. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/graph.py +0 -0
  245. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/graph_parser.py +0 -0
  246. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/main.py +0 -0
  247. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/code_mapping/processor.py +0 -0
  248. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/common/const.py +0 -0
  249. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/common/log.py +0 -0
  250. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/compare/common_dir_compare.py +0 -0
  251. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/compare/distributed_compare.py +0 -0
  252. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/compare/ms_compare.py +0 -0
  253. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/compare/ms_graph_compare.py +0 -0
  254. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/compare/utils.py +0 -0
  255. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/debugger/__init__.py +0 -0
  256. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/debugger/debugger_config.py +0 -0
  257. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/__init__.py +0 -0
  258. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/dump_tool_factory.py +0 -0
  259. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/graph_mode_cell_dump.py +0 -0
  260. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/graph_tensor_dump.py +0 -0
  261. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/hook_cell/hook_cell.py +0 -0
  262. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/hook_cell/ms_hook_manager.py +0 -0
  263. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/hook_cell/primitive_hooks.py +0 -0
  264. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml +0 -0
  265. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/jit_dump.py +0 -0
  266. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/kernel_graph_dump.py +0 -0
  267. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dump/kernel_kbyk_dump.py +0 -0
  268. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/dym_loader/hook_dynamic_loader.h +0 -0
  269. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/__init__.py +0 -0
  270. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/api_pynative_self_check.py +0 -0
  271. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/common/__init__.py +0 -0
  272. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/common/config.py +0 -0
  273. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/common/handler_params.py +0 -0
  274. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/common/utils.py +0 -0
  275. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/data/support_wrap_ops.yaml +0 -0
  276. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/handler/__init__.py +0 -0
  277. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/handler/base_handler.py +0 -0
  278. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/handler/check_handler.py +0 -0
  279. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/handler/fix_handler.py +0 -0
  280. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/handler/handler_factory.py +0 -0
  281. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/add_noise.py +0 -0
  282. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/base_perturbation.py +0 -0
  283. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/bit_noise.py +0 -0
  284. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/exchange_value.py +0 -0
  285. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/improve_precision.py +0 -0
  286. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/no_change.py +0 -0
  287. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/perturbation/perturbation_factory.py +0 -0
  288. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/free_benchmark/self_check_tool_factory.py +0 -0
  289. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/__init__.py +0 -0
  290. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/global_context.py +0 -0
  291. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/grad_analyzer.py +0 -0
  292. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/grad_monitor.py +0 -0
  293. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/grad_stat_csv.py +0 -0
  294. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/hook.py +0 -0
  295. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/grad_probe/utils.py +0 -0
  296. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/mindtorch/__init__.py +0 -0
  297. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/mindtorch/mindtorch_adaptor.py +0 -0
  298. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/common_func.py +0 -0
  299. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/data_writers.py +0 -0
  300. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/distributed/__init__.py +0 -0
  301. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/distributed/distributed_ops.yaml +0 -0
  302. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/distributed/stack_blacklist.yaml +0 -0
  303. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/distributed/wrap_distributed.py +0 -0
  304. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/module_hook.py +0 -0
  305. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/monitor/utils.py +0 -0
  306. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/ms_config.py +0 -0
  307. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/overflow_check/__init__.py +0 -0
  308. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py +0 -0
  309. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/overflow_check/overflow_check_tool_factory.py +0 -0
  310. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/mindspore/task_handler_factory.py +0 -0
  311. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/msprobe.py +0 -0
  312. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/nan_analyze/__init__.py +0 -0
  313. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/nan_analyze/analyzer.py +0 -0
  314. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/nan_analyze/graph.py +0 -0
  315. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/nan_analyze/utils.py +0 -0
  316. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/__init__.py +0 -0
  317. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/.keep +0 -0
  318. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/__init__.py +0 -0
  319. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/common/.keep +0 -0
  320. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/common/__init__.py +0 -0
  321. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/common/config.py +0 -0
  322. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/common/utils.py +0 -0
  323. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/__init__.py +0 -0
  324. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/algorithm.py +0 -0
  325. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_compare.py +0 -0
  326. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_standard.yaml +0 -0
  327. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_threshold.yaml +0 -0
  328. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/compare.py +0 -0
  329. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_column.py +0 -0
  330. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/compare/compare_input.py +0 -0
  331. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/config.yaml +0 -0
  332. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/config_op.json +0 -0
  333. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py +0 -0
  334. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
  335. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/absolute_threshold.py +0 -0
  336. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/accumulative_error_compare.py +0 -0
  337. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/base_standard.py +0 -0
  338. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/benchmark_compare.py +0 -0
  339. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/binary_consistency.py +0 -0
  340. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_config.py +0 -0
  341. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_register.py +0 -0
  342. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/thousandth_standard.py +0 -0
  343. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/precision_standard/ulp_compare.py +0 -0
  344. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/.keep +0 -0
  345. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/__init__.py +0 -0
  346. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/data_generate.py +0 -0
  347. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py +0 -0
  348. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py +0 -0
  349. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py +0 -0
  350. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/run_ut/torch_ut_setting.json +0 -0
  351. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/__init__.py +0 -0
  352. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/attl.py +0 -0
  353. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/client.py +0 -0
  354. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/device_dispatch.py +0 -0
  355. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/dump_dispatch.py +0 -0
  356. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/server.py +0 -0
  357. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/torch_ops_config.yaml +0 -0
  358. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/attl_manager.py +0 -0
  359. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/__init__.py +0 -0
  360. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/apply_adam.py +0 -0
  361. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/apply_adam_w.py +0 -0
  362. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/confusion_transpose.py +0 -0
  363. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/fast_gelu.py +0 -0
  364. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/group_norm_silu.py +0 -0
  365. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/layer_norm_eval.py +0 -0
  366. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/linear.py +0 -0
  367. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/matmul_backward.py +0 -0
  368. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/mish.py +0 -0
  369. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/moe_gating_top_k_softmax.py +0 -0
  370. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/npu_fusion_attention.py +0 -0
  371. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/rms_norm.py +0 -0
  372. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/rotary_mul.py +0 -0
  373. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/scaled_mask_softmax.py +0 -0
  374. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/sort_v2.py +0 -0
  375. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/bench_functions/swiglu.py +0 -0
  376. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/common/__init__.py +0 -0
  377. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/common/compare_script.template +0 -0
  378. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/common/log.py +0 -0
  379. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/common/parse_json.py +0 -0
  380. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/compare/distributed_compare.py +0 -0
  381. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/compare/mapping.yaml +0 -0
  382. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/compare/match.py +0 -0
  383. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/compare/pt_compare.py +0 -0
  384. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/compare/utils.py +0 -0
  385. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/debugger/__init__.py +0 -0
  386. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/debugger/debugger_config.py +0 -0
  387. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/dump/module_dump/__init__.py +0 -0
  388. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/dump/module_dump/hook_wrapper.py +0 -0
  389. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/dump/module_dump/module_dump.py +0 -0
  390. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/dump/module_dump/module_processer.py +0 -0
  391. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/__init__.py +0 -0
  392. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/__init__.py +0 -0
  393. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/constant.py +0 -0
  394. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/counter.py +0 -0
  395. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/enums.py +0 -0
  396. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/params.py +0 -0
  397. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/common/utils.py +0 -0
  398. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/compare/grad_saver.py +0 -0
  399. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/compare/single_benchmark.py +0 -0
  400. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/main.py +0 -0
  401. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/__init__.py +0 -0
  402. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/base_layer.py +0 -0
  403. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/layer_factory.py +0 -0
  404. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/__init__.py +0 -0
  405. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/add_noise.py +0 -0
  406. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/bit_noise.py +0 -0
  407. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/change_value.py +0 -0
  408. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/improve_precision.py +0 -0
  409. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/no_change.py +0 -0
  410. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/npu_base_layser.py +0 -0
  411. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/perturbed_layers/run_cpu.py +0 -0
  412. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/__init__.py +0 -0
  413. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/base_handler.py +0 -0
  414. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/check_handler.py +0 -0
  415. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/fix_handler.py +0 -0
  416. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/handler_factory.py +0 -0
  417. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/free_benchmark/result_handlers/preheat_handler.py +0 -0
  418. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/function_factory.py +0 -0
  419. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/grad_probe/__init__.py +0 -0
  420. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/grad_probe/grad_monitor.py +0 -0
  421. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/grad_probe/grad_stat_csv.py +0 -0
  422. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/__init__.py +0 -0
  423. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/hook_module.py +0 -0
  424. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/jit_script_wrapper.py +0 -0
  425. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/pt_hook_manager.py +0 -0
  426. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/register_optimizer_hook.py +0 -0
  427. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/support_wrap_ops.yaml +0 -0
  428. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/utils.py +0 -0
  429. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/hook_module/wrap_aten.py +0 -0
  430. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/__init__.py +0 -0
  431. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/csv2tb.py +0 -0
  432. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/data_writers.py +0 -0
  433. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/distributed/__init__.py +0 -0
  434. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/distributed/distributed_ops.yaml +0 -0
  435. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/distributed/stack_blacklist.yaml +0 -0
  436. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/distributed/wrap_distributed.py +0 -0
  437. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/features.py +0 -0
  438. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/module_hook.py +0 -0
  439. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/module_metric.py +0 -0
  440. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/utils.py +0 -0
  441. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/monitor/visualizer.py +0 -0
  442. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/__init__.py +0 -0
  443. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/compare.py +0 -0
  444. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/dispatch.py +0 -0
  445. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/dump_compare.py +0 -0
  446. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/single_compare.py +0 -0
  447. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/torch_ops_config.yaml +0 -0
  448. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/online_dispatch/utils.py +0 -0
  449. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/__init__.py +0 -0
  450. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/cli.py +0 -0
  451. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/__init__.py +0 -0
  452. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/compare.py +0 -0
  453. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/config.py +0 -0
  454. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/file_desc.py +0 -0
  455. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/interactive_cli.py +0 -0
  456. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/parse_exception.py +0 -0
  457. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/parse_tool.py +0 -0
  458. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/utils.py +0 -0
  459. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/parse_tool/lib/visualization.py +0 -0
  460. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/pytorch/pt_config.py +0 -0
  461. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/__init__.py +0 -0
  462. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/builder/__init__.py +0 -0
  463. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/builder/graph_builder.py +0 -0
  464. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/builder/msprobe_adapter.py +0 -0
  465. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/compare/__init__.py +0 -0
  466. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/compare/graph_comparator.py +0 -0
  467. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/__init__.py +0 -0
  468. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/base_node.py +0 -0
  469. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/distributed_analyzer.py +0 -0
  470. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/graph.py +0 -0
  471. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/node_colors.py +0 -0
  472. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph/node_op.py +0 -0
  473. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.1}/msprobe/visualization/graph_service.py +0 -0
  474. {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.0
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.0
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
@@ -6,9 +6,10 @@ pyyaml
6
6
  rich
7
7
  tqdm
8
8
  openpyxl>=3.0.6
9
- pyopenssl
9
+ pyopenssl==24.2.1
10
10
  twisted
11
11
  matplotlib
12
12
  tensorboard
13
13
  tabulate
14
14
  pwinput
15
+ psutil
@@ -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
- if data_type == "single":
471
- data.to_excel(path, index=False)
472
- elif data_type == "list":
473
- with pd.ExcelWriter(path) as writer:
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.to_excel(writer, sheet_name=sheet_name, index=False)
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
- with zipfile.ZipFile(zip_file_path, 'r') as zip_file:
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
- self._shm = shared_memory.SharedMemory(create=True, name=name, size=1024 * 1024)
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.get('task', None)
314
- bench_task = bench_json_data.get('task', None)
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(npu_json_data['data'], json_type)
332
- bench_md5_compare = md5_find(bench_json_data['data'], json_type)
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
- api_nums = len(data_json['data'])
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 data_json['data']:
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
- result[npu_summary] = result['summary_x'].apply(self.set_summary).tolist()
603
- result[bench_summary] = result['summary_y'].apply(self.set_summary).tolist()
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
- compare_func(input_param=dump_result_param, output_path=output_path, suffix=f'_{nr}', **kwargs)
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
- if self.config.task == Const.FREE_BENCHMARK:
103
- backward_name = name.replace(Const.FORWARD, Const.BACKWARD)
104
- if self.check_scope_and_pid(self.scope, backward_name, pid):
105
- self.data_processor.analyze_forward_input(backward_name, module, module_input_output)
106
- return
107
-
108
- if not self.check_scope_and_pid(self.scope, name, pid):
109
- return
110
-
111
- data_info = {}
112
- if self.config.task != Const.STRUCTURE:
113
- data_info = self.data_processor.analyze_forward_input(name, module, module_input_output)
114
- self.set_is_recomputable(data_info, is_recompute)
115
- if self.config.level == Const.LEVEL_L2:
116
- return
117
- self.handle_data(name, data_info, flush=self.data_processor.is_terminated)
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
- self.update_construct(name)
121
- if not self.check_scope_and_pid(self.scope, name, pid):
122
- return
123
-
124
- data_info = {}
125
- if self.config.task != Const.STRUCTURE:
126
- data_info = self.data_processor.analyze_forward_output(name, module, module_input_output)
127
- self.set_is_recomputable(data_info, is_recompute)
128
- if self.config.level == Const.LEVEL_L2:
129
- return
130
- self.call_stack_collect(name)
131
- self.handle_data(name, data_info, flush=self.data_processor.is_terminated)
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
- if not self.check_scope_and_pid(self.scope, name, pid):
135
- return
136
-
137
- self.data_processor.analyze_forward(name, module, module_input_output)
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
- self.update_construct(name)
142
- if not self.check_scope_and_pid(self.scope, name, pid):
143
- return
144
-
145
- data_info = {}
146
- if self.config.task != Const.STRUCTURE:
147
- data_info = self.data_processor.analyze_forward(name, module, module_input_output)
148
- self.set_is_recomputable(data_info, is_recompute)
149
- self.call_stack_collect(name)
150
- self.handle_data(name, data_info, flush=self.data_processor.is_terminated)
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
- if not self.check_scope_and_pid(self.scope, name, pid):
154
- return
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
- self.data_processor.analyze_backward(name, module, module_input_output)
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
- self.update_construct(name)
160
- if not self.check_scope_and_pid(self.scope, name, pid):
161
- return
162
-
163
- data_info = {}
164
- if self.config.task != Const.STRUCTURE:
165
- data_info = self.data_processor.analyze_backward(name, module, module_input_output)
166
- if self.config.level == Const.LEVEL_L2:
167
- return
168
- # 获取执行反向的模块名称
169
- if data_info and name.split(Const.SEP)[0] in Const.MODULE_PREFIX:
170
- module_name = name.rsplit(Const.SEP, 2)[0]
171
- # 将模块名称加入到反向模块名称集合中,用于梯度收集时判断是否需要收集梯度
172
- self.backward_module_names[module_name] = True
173
- self.handle_data(name, data_info, flush=self.data_processor.is_terminated)
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
- self.update_construct(name)
177
- if not self.check_scope_and_pid(self.scope, name, pid):
178
- return
179
-
180
- data_info = {}
181
- if self.config.task != Const.STRUCTURE:
182
- data_info = self.data_processor.analyze_backward_input(name, module, module_input_output)
183
- self.set_is_recomputable(data_info, is_recompute)
184
- self.handle_data(name, data_info)
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
- self.update_construct(name)
188
- if not self.check_scope_and_pid(self.scope, name, pid):
189
- return
190
-
191
- data_info = {}
192
- if self.config.task != Const.STRUCTURE:
193
- data_info = self.data_processor.analyze_backward_output(name, module, module_input_output)
194
- self.set_is_recomputable(data_info, is_recompute)
195
- self.handle_data(name, data_info)
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
- grad_name = name + Const.SEP + Const.PARAMS_GRAD
232
- self.update_api_or_module_name(grad_name)
233
- # 校验scope和pid,以及当前name是否有过反向计算
234
- if not self.check_scope_and_pid(self.scope, name, pid) and not self.backward_module_names.get(name):
235
- # 如果没有反向计算,则需要清除之前占位写入的grad数据
236
- if self.data_writer.cache_data.get("data"):
237
- self.data_writer.cache_data.get("data").pop(grad_name, None)
238
- return
239
- data_info = self.data_processor.analyze_params(grad_name, param_name, data)
240
- self.handle_data(grad_name, data_info, flush=self.data_processor.is_terminated)
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: