mindstudio-probe 1.2.2__tar.gz → 1.3.0__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 (438) hide show
  1. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/PKG-INFO +3 -3
  2. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/mindstudio_probe.egg-info/PKG-INFO +3 -3
  3. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/mindstudio_probe.egg-info/SOURCES.txt +9 -10
  4. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/mindstudio_probe.egg-info/requires.txt +2 -2
  5. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/README.md +25 -20
  6. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/common/const.py +110 -66
  7. mindstudio_probe-1.3.0/msprobe/core/common/decorator.py +50 -0
  8. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/common/exceptions.py +3 -1
  9. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/common/file_utils.py +25 -2
  10. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/common/utils.py +30 -34
  11. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/acc_compare.py +43 -74
  12. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/check.py +2 -6
  13. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/highlight.py +2 -0
  14. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/layer_mapping/layer_mapping.py +2 -1
  15. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/merge_result/merge_result.py +8 -2
  16. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/multiprocessing_compute.py +19 -12
  17. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/npy_compare.py +30 -12
  18. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/utils.py +20 -10
  19. mindstudio_probe-1.3.0/msprobe/core/data_dump/api_registry.py +176 -0
  20. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/data_dump/data_processor/base.py +2 -2
  21. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/data_dump/data_processor/mindspore_processor.py +19 -32
  22. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/data_dump/data_processor/pytorch_processor.py +45 -15
  23. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/data_dump/json_writer.py +38 -35
  24. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/grad_probe/constant.py +1 -0
  25. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/grad_probe/grad_compare.py +1 -1
  26. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/overflow_check/abnormal_scene.py +2 -0
  27. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/01.installation.md +2 -1
  28. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/02.config_introduction.md +17 -15
  29. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/05.data_dump_PyTorch.md +70 -2
  30. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/06.data_dump_MindSpore.md +33 -12
  31. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/07.accuracy_checker_PyTorch.md +11 -1
  32. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/08.accuracy_checker_online_PyTorch.md +3 -1
  33. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/09.accuracy_checker_MindSpore.md +1 -1
  34. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/10.accuracy_compare_PyTorch.md +59 -33
  35. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/11.accuracy_compare_MindSpore.md +40 -16
  36. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/12.overflow_check_PyTorch.md +3 -1
  37. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/13.overflow_check_MindSpore.md +4 -2
  38. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/14.data_parse_PyTorch.md +1 -7
  39. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/18.online_dispatch.md +1 -1
  40. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/19.monitor.md +124 -62
  41. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/21.visualization_PyTorch.md +32 -13
  42. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/22.visualization_MindSpore.md +32 -13
  43. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/23.generate_operator_PyTorch.md +9 -9
  44. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/27.dump_json_instruction.md +278 -8
  45. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/28.kernel_dump_MindSpore.md +1 -1
  46. mindstudio_probe-1.3.0/msprobe/docs/29.data_dump_MSAdapter.md +229 -0
  47. mindstudio_probe-1.3.0/msprobe/docs/30.overflow_check_MSAdapter.md +31 -0
  48. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/FAQ.md +3 -11
  49. mindstudio_probe-1.3.0/msprobe/docs/img/compare_result.png +0 -0
  50. mindstudio_probe-1.3.0/msprobe/docs/img/merge_result.png +0 -0
  51. mindstudio_probe-1.3.0/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
  52. mindstudio_probe-1.3.0/msprobe/docs/img/visualization/vis_match_info.png +0 -0
  53. mindstudio_probe-1.3.0/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
  54. mindstudio_probe-1.3.0/msprobe/docs/img/visualization/vis_search_info.png +0 -0
  55. mindstudio_probe-1.3.0/msprobe/docs/img/visualization/vis_show_info.png +0 -0
  56. mindstudio_probe-1.3.0/msprobe/docs/img/visualization/vis_showcase.png +0 -0
  57. mindstudio_probe-1.3.0/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
  58. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/__init__.py +4 -3
  59. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +6 -1
  60. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/api_runner.py +19 -9
  61. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py +2 -1
  62. mindstudio_probe-1.3.0/msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py +602 -0
  63. mindstudio_probe-1.3.0/msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py +41 -0
  64. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/data_manager.py +2 -1
  65. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/multi_api_accuracy_checker.py +2 -1
  66. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py +2 -1
  67. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/common/const.py +61 -0
  68. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/common/utils.py +31 -19
  69. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/compare/ms_compare.py +27 -19
  70. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/compare/ms_graph_compare.py +6 -5
  71. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/debugger/debugger_config.py +6 -4
  72. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/debugger/precision_debugger.py +22 -10
  73. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/dump/dump_tool_factory.py +5 -3
  74. mindstudio_probe-1.3.0/msprobe/mindspore/dump/hook_cell/api_register.py +142 -0
  75. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/dump/hook_cell/hook_cell.py +9 -10
  76. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml +24 -26
  77. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/dump/jit_dump.py +14 -9
  78. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/dym_loader/hook_dynamic_loader.cc +22 -56
  79. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/dym_loader/hook_dynamic_loader.h +0 -1
  80. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/api_pynative_self_check.py +10 -6
  81. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/perturbation/perturbation_factory.py +4 -2
  82. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/self_check_tool_factory.py +6 -3
  83. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/grad_probe/global_context.py +2 -0
  84. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/grad_probe/grad_analyzer.py +2 -1
  85. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/grad_probe/hook.py +2 -4
  86. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/monitor/distributed/wrap_distributed.py +1 -1
  87. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/monitor/module_hook.py +354 -302
  88. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/monitor/utils.py +46 -4
  89. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/overflow_check/overflow_check_tool_factory.py +5 -3
  90. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/service.py +23 -17
  91. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_compare.py +3 -6
  92. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py +11 -6
  93. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/generate_op_script/operator_replication.template +2 -2
  94. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/multi_run_ut.py +4 -5
  95. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py +5 -5
  96. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py +25 -6
  97. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py +28 -19
  98. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/attl.py +3 -1
  99. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/moe_gating_top_k_softmax.py +6 -0
  100. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/common/utils.py +29 -7
  101. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/debugger/precision_debugger.py +10 -1
  102. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/dump/module_dump/module_dump.py +4 -3
  103. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/dump/module_dump/module_processer.py +12 -6
  104. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/common/utils.py +1 -1
  105. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/compare/single_benchmark.py +1 -1
  106. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/add_noise.py +3 -3
  107. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/bit_noise.py +3 -3
  108. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/change_value.py +1 -1
  109. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/improve_precision.py +1 -1
  110. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/result_handlers/check_handler.py +1 -1
  111. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/function_factory.py +1 -1
  112. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/grad_probe/grad_monitor.py +2 -2
  113. mindstudio_probe-1.3.0/msprobe/pytorch/hook_module/api_register.py +131 -0
  114. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/hook_module/hook_module.py +19 -14
  115. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/hook_module/register_optimizer_hook.py +2 -1
  116. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/hook_module/support_wrap_ops.yaml +172 -75
  117. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/csv2tb.py +8 -2
  118. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/distributed/wrap_distributed.py +8 -2
  119. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/module_hook.py +131 -105
  120. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/module_metric.py +3 -0
  121. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/optimizer_collect.py +55 -4
  122. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/unittest/test_monitor.py +1 -1
  123. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/utils.py +68 -1
  124. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/online_dispatch/compare.py +0 -2
  125. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/online_dispatch/dispatch.py +9 -0
  126. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/online_dispatch/dump_compare.py +3 -0
  127. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/online_dispatch/utils.py +3 -0
  128. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/parse_tool/lib/interactive_cli.py +1 -6
  129. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/parse_tool/lib/utils.py +2 -1
  130. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/pt_config.py +11 -7
  131. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/service.py +11 -8
  132. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/builder/graph_builder.py +44 -5
  133. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/builder/msprobe_adapter.py +0 -1
  134. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/compare/graph_comparator.py +42 -38
  135. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/compare/mode_adapter.py +0 -19
  136. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/graph/base_node.py +8 -1
  137. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/graph/distributed_analyzer.py +1 -10
  138. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/graph/graph.py +0 -11
  139. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/graph/node_op.py +1 -2
  140. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/graph_service.py +1 -1
  141. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/utils.py +2 -33
  142. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/setup.py +3 -3
  143. mindstudio_probe-1.2.2/msprobe/docs/img/compare_result.png +0 -0
  144. mindstudio_probe-1.2.2/msprobe/docs/img/merge_result.png +0 -0
  145. mindstudio_probe-1.2.2/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
  146. mindstudio_probe-1.2.2/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
  147. mindstudio_probe-1.2.2/msprobe/docs/img/visualization/vis_search_info.png +0 -0
  148. mindstudio_probe-1.2.2/msprobe/docs/img/visualization/vis_show_info.png +0 -0
  149. mindstudio_probe-1.2.2/msprobe/docs/img/visualization/vis_showcase.png +0 -0
  150. mindstudio_probe-1.2.2/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
  151. mindstudio_probe-1.2.2/msprobe/mindspore/dump/hook_cell/api_registry.py +0 -207
  152. mindstudio_probe-1.2.2/msprobe/mindspore/dump/hook_cell/wrap_api.py +0 -212
  153. mindstudio_probe-1.2.2/msprobe/pytorch/hook_module/api_registry.py +0 -166
  154. mindstudio_probe-1.2.2/msprobe/pytorch/hook_module/wrap_distributed.py +0 -79
  155. mindstudio_probe-1.2.2/msprobe/pytorch/hook_module/wrap_functional.py +0 -66
  156. mindstudio_probe-1.2.2/msprobe/pytorch/hook_module/wrap_npu_custom.py +0 -85
  157. mindstudio_probe-1.2.2/msprobe/pytorch/hook_module/wrap_tensor.py +0 -69
  158. mindstudio_probe-1.2.2/msprobe/pytorch/hook_module/wrap_torch.py +0 -84
  159. mindstudio_probe-1.2.2/msprobe/pytorch/hook_module/wrap_vf.py +0 -60
  160. mindstudio_probe-1.2.2/msprobe/pytorch/parse.py +0 -19
  161. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/LICENSE +0 -0
  162. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/MANIFEST.in +0 -0
  163. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/mindstudio_probe.egg-info/dependency_links.txt +0 -0
  164. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/mindstudio_probe.egg-info/entry_points.txt +0 -0
  165. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/mindstudio_probe.egg-info/not-zip-safe +0 -0
  166. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/mindstudio_probe.egg-info/top_level.txt +0 -0
  167. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/CMakeLists.txt +0 -0
  168. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/__init__.py +0 -0
  169. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/config.json +0 -0
  170. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/__init__.py +0 -0
  171. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/advisor/advisor.py +0 -0
  172. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/advisor/advisor_const.py +0 -0
  173. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/advisor/advisor_result.py +0 -0
  174. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/common/inplace_op_checker.py +0 -0
  175. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/common/inplace_ops.yaml +0 -0
  176. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/common/log.py +0 -0
  177. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/common_config.py +0 -0
  178. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/compare_cli.py +0 -0
  179. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/layer_mapping/__init__.py +0 -0
  180. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/layer_mapping/data_scope_parser.py +0 -0
  181. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/layer_mapping/postprocess_pass.py +0 -0
  182. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/merge_result/merge_result_cli.py +0 -0
  183. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/compare/merge_result/utils.py +0 -0
  184. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/data_dump/data_collector.py +0 -0
  185. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/data_dump/data_processor/factory.py +0 -0
  186. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/data_dump/scope.py +0 -0
  187. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/grad_probe/__init__.py +0 -0
  188. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/grad_probe/utils.py +0 -0
  189. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/overflow_check/api_info.py +0 -0
  190. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/overflow_check/checker.py +0 -0
  191. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/overflow_check/filter.py +0 -0
  192. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/overflow_check/ignore_rules.yaml +0 -0
  193. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/overflow_check/level.py +0 -0
  194. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/core/overflow_check/utils.py +0 -0
  195. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/03.config_examples.md +0 -0
  196. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/04.kernel_dump_PyTorch.md +0 -0
  197. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/15.free_benchmarking_PyTorch.md +0 -0
  198. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/16.free_benchmarking_MindSpore.md +0 -0
  199. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/17.grad_probe.md +0 -0
  200. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/20.monitor_performance_baseline.md +0 -0
  201. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/24.code_mapping_Mindspore.md +0 -0
  202. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/25.tool_function_introduction.md +0 -0
  203. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/26.data_dump_PyTorch_baseline.md +0 -0
  204. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/28.debugger_save_instruction.md +0 -0
  205. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/S02.report_free_benchmarking_validation_performance_baseline.md +0 -0
  206. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/accuracy_checker_MindSpore/accuracy_checker_MindSpore_baseline.md +0 -0
  207. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/data_dump_MindSpore/data_dump_MindSpore_baseline.md +0 -0
  208. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/data_dump_MindSpore/dynamic_graph_quick_start_example.md +0 -0
  209. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/BLOOM-7B_1.png +0 -0
  210. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/BLOOM-7B_2.png +0 -0
  211. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/BLOOM-7B_3.png +0 -0
  212. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/BLOOM-7B_4.png +0 -0
  213. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/GPT-3_1.png +0 -0
  214. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/GPT-3_2.png +0 -0
  215. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/GPT-3_3.png +0 -0
  216. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/GPT-3_4.png +0 -0
  217. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/GPT-3_5.png +0 -0
  218. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/GPT-3_6.png +0 -0
  219. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/GPT-3_7.png +0 -0
  220. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/GPT-3_8.png +0 -0
  221. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/YOLOV5S_1.png +0 -0
  222. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/YOLOV5S_2.png +0 -0
  223. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/accuracy_checking_details.png +0 -0
  224. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/accuracy_checking_result.png +0 -0
  225. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/api_precision_compare_details.png +0 -0
  226. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/api_precision_compare_result.png +0 -0
  227. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/auto_analyze_log.png +0 -0
  228. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/compare_result_pkl.png +0 -0
  229. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/compare_result_pkl_md5.png.png +0 -0
  230. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/cpu_info.png +0 -0
  231. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/free_benchmark.png +0 -0
  232. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/free_benchmark_framework.png +0 -0
  233. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/grad_probe_image-1.png +0 -0
  234. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/grad_probe_image-2.png +0 -0
  235. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/grad_probe_image-3.png +0 -0
  236. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/grad_probe_image-4.png +0 -0
  237. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/grad_probe_image.png +0 -0
  238. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/module_compare.png +0 -0
  239. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/monitor/cpu_info.png +0 -0
  240. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/monitor/step_count_per_record.png +0 -0
  241. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/ms_dump.png +0 -0
  242. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/ms_layer.png +0 -0
  243. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/pt_dump.png +0 -0
  244. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/visualization/fuzzy_match_ms.png +0 -0
  245. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/visualization/fuzzy_match_pt.png +0 -0
  246. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/visualization/tensorboard_1.png +0 -0
  247. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/visualization/tensorboard_2.png +0 -0
  248. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/img/visualization/vis_browser_2.png +0 -0
  249. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/visualization/GPTModel.png +0 -0
  250. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/visualization/ParallelMLP.png +0 -0
  251. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/visualization/layer_mapping_example.md +0 -0
  252. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/visualization/mapping.png +0 -0
  253. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/visualization/mapping1.png +0 -0
  254. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/visualization/module_name.png +0 -0
  255. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/visualization/module_name1.png +0 -0
  256. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/visualization/no_mapping.png +0 -0
  257. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/visualization/no_mapping1.png +0 -0
  258. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/visualization/no_mapping_analyze.png +0 -0
  259. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/docs/visualization/top_layer.png +0 -0
  260. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/__init__.py +0 -0
  261. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/api_info.py +0 -0
  262. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/checker_support_api.yaml +0 -0
  263. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/cmd_parser.py +0 -0
  264. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/compute_element.py +0 -0
  265. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/main.py +0 -0
  266. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/multi_data_manager.py +0 -0
  267. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/type_mapping.py +0 -0
  268. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/api_accuracy_checker/utils.py +0 -0
  269. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/cell_processor.py +0 -0
  270. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/code_mapping/__init__.py +0 -0
  271. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/code_mapping/bind.py +0 -0
  272. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/code_mapping/cmd_parser.py +0 -0
  273. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/code_mapping/graph.py +0 -0
  274. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/code_mapping/graph_parser.py +0 -0
  275. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/code_mapping/main.py +0 -0
  276. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/code_mapping/processor.py +0 -0
  277. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/common/log.py +0 -0
  278. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/compare/distributed_compare.py +0 -0
  279. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/compare/ms_to_pt_api.yaml +0 -0
  280. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/debugger/__init__.py +0 -0
  281. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/dump/__init__.py +0 -0
  282. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/dump/hook_cell/primitive_hooks.py +0 -0
  283. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/dump/kernel_dump/kernel_config.py +0 -0
  284. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/dump/kernel_graph_dump.py +0 -0
  285. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/dump/kernel_kbyk_dump.py +0 -0
  286. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/__init__.py +0 -0
  287. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/common/__init__.py +0 -0
  288. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/common/config.py +0 -0
  289. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/common/handler_params.py +0 -0
  290. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/common/utils.py +0 -0
  291. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/data/support_wrap_ops.yaml +0 -0
  292. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/handler/__init__.py +0 -0
  293. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/handler/base_handler.py +0 -0
  294. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/handler/check_handler.py +0 -0
  295. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/handler/fix_handler.py +0 -0
  296. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/handler/handler_factory.py +0 -0
  297. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/perturbation/add_noise.py +0 -0
  298. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/perturbation/base_perturbation.py +0 -0
  299. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/perturbation/bit_noise.py +0 -0
  300. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/perturbation/exchange_value.py +0 -0
  301. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/perturbation/improve_precision.py +0 -0
  302. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/free_benchmark/perturbation/no_change.py +0 -0
  303. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/grad_probe/__init__.py +0 -0
  304. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/grad_probe/grad_monitor.py +0 -0
  305. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/grad_probe/grad_stat_csv.py +0 -0
  306. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/grad_probe/utils.py +0 -0
  307. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/mindtorch/__init__.py +0 -0
  308. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/mindtorch/mindtorch_adaptor.py +0 -0
  309. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/monitor/anomaly_detect.py +0 -0
  310. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/monitor/distributed/__init__.py +0 -0
  311. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/monitor/distributed/distributed_ops.yaml +0 -0
  312. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/monitor/distributed/stack_blacklist.yaml +0 -0
  313. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/monitor/features.py +0 -0
  314. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/monitor/module_spec_verifier.py +0 -0
  315. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/ms_config.py +0 -0
  316. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/overflow_check/__init__.py +0 -0
  317. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py +0 -0
  318. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/runtime.py +0 -0
  319. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/mindspore/task_handler_factory.py +0 -0
  320. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/msprobe.py +0 -0
  321. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/__init__.py +0 -0
  322. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/.keep +0 -0
  323. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/__init__.py +0 -0
  324. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/common/.keep +0 -0
  325. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/common/__init__.py +0 -0
  326. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/common/config.py +0 -0
  327. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/common/utils.py +0 -0
  328. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/compare/__init__.py +0 -0
  329. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/compare/algorithm.py +0 -0
  330. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_standard.yaml +0 -0
  331. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_threshold.yaml +0 -0
  332. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/compare/compare.py +0 -0
  333. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/compare/compare_column.py +0 -0
  334. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/compare/compare_input.py +0 -0
  335. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/compare/compare_utils.py +0 -0
  336. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/config.yaml +0 -0
  337. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/generate_op_script/config_op.json +0 -0
  338. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/absolute_threshold.py +0 -0
  339. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/accumulative_error_compare.py +0 -0
  340. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/base_standard.py +0 -0
  341. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/benchmark_compare.py +0 -0
  342. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/binary_consistency.py +0 -0
  343. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_config.py +0 -0
  344. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_register.py +0 -0
  345. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/thousandth_standard.py +0 -0
  346. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/precision_standard/ulp_compare.py +0 -0
  347. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/.keep +0 -0
  348. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/__init__.py +0 -0
  349. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/data_generate.py +0 -0
  350. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/run_ut/torch_ut_setting.json +0 -0
  351. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/__init__.py +0 -0
  352. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/client.py +0 -0
  353. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/device_dispatch.py +0 -0
  354. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/dump_dispatch.py +0 -0
  355. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/server.py +0 -0
  356. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/torch_ops_config.yaml +0 -0
  357. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/utils.py +0 -0
  358. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/__init__.py +0 -0
  359. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/apply_adam.py +0 -0
  360. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/apply_adam_w.py +0 -0
  361. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/confusion_transpose.py +0 -0
  362. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/fast_gelu.py +0 -0
  363. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/group_norm_silu.py +0 -0
  364. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/layer_norm_eval.py +0 -0
  365. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/linear.py +0 -0
  366. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/matmul_backward.py +0 -0
  367. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/mish.py +0 -0
  368. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/npu_fusion_attention.py +0 -0
  369. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/rms_norm.py +0 -0
  370. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/rotary_mul.py +0 -0
  371. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/scaled_mask_softmax.py +0 -0
  372. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/sort_v2.py +0 -0
  373. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/bench_functions/swiglu.py +0 -0
  374. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/common/__init__.py +0 -0
  375. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/common/compare_script.template +0 -0
  376. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/common/log.py +0 -0
  377. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/common/parse_json.py +0 -0
  378. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/compare/distributed_compare.py +0 -0
  379. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/compare/mapping.yaml +0 -0
  380. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/compare/match.py +0 -0
  381. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/compare/pt_compare.py +0 -0
  382. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/debugger/__init__.py +0 -0
  383. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/debugger/debugger_config.py +0 -0
  384. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/dump/kernel_dump/kernel_config.py +0 -0
  385. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/dump/module_dump/__init__.py +0 -0
  386. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/__init__.py +0 -0
  387. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/common/__init__.py +0 -0
  388. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/common/constant.py +0 -0
  389. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/common/counter.py +0 -0
  390. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/common/enums.py +0 -0
  391. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/common/params.py +0 -0
  392. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/compare/grad_saver.py +0 -0
  393. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/main.py +0 -0
  394. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/__init__.py +0 -0
  395. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/base_layer.py +0 -0
  396. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/layer_factory.py +0 -0
  397. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/__init__.py +0 -0
  398. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/no_change.py +0 -0
  399. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/npu_base_layser.py +0 -0
  400. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/perturbed_layers/run_cpu.py +0 -0
  401. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/result_handlers/__init__.py +0 -0
  402. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/result_handlers/base_handler.py +0 -0
  403. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/result_handlers/fix_handler.py +0 -0
  404. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/result_handlers/handler_factory.py +0 -0
  405. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/free_benchmark/result_handlers/preheat_handler.py +0 -0
  406. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/grad_probe/__init__.py +0 -0
  407. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/grad_probe/grad_stat_csv.py +0 -0
  408. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/hook_module/__init__.py +0 -0
  409. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/hook_module/utils.py +0 -0
  410. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/hook_module/wrap_aten.py +0 -0
  411. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/__init__.py +0 -0
  412. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/anomaly_analyse.py +0 -0
  413. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/anomaly_detect.py +0 -0
  414. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/distributed/__init__.py +0 -0
  415. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/distributed/distributed_ops.yaml +0 -0
  416. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/distributed/stack_blacklist.yaml +0 -0
  417. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/features.py +0 -0
  418. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/module_spec_verifier.py +0 -0
  419. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/unittest/__init__.py +0 -0
  420. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/monitor/visualizer.py +0 -0
  421. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/online_dispatch/__init__.py +0 -0
  422. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/online_dispatch/single_compare.py +0 -0
  423. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/online_dispatch/torch_ops_config.yaml +0 -0
  424. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/parse_tool/__init__.py +0 -0
  425. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/parse_tool/cli.py +0 -0
  426. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/parse_tool/lib/__init__.py +0 -0
  427. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/parse_tool/lib/compare.py +0 -0
  428. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/parse_tool/lib/config.py +0 -0
  429. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/parse_tool/lib/file_desc.py +0 -0
  430. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/parse_tool/lib/parse_exception.py +0 -0
  431. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/parse_tool/lib/parse_tool.py +0 -0
  432. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/pytorch/parse_tool/lib/visualization.py +0 -0
  433. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/__init__.py +0 -0
  434. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/builder/__init__.py +0 -0
  435. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/compare/__init__.py +0 -0
  436. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/graph/__init__.py +0 -0
  437. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/msprobe/visualization/graph/node_colors.py +0 -0
  438. {mindstudio_probe-1.2.2 → mindstudio_probe-1.3.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mindstudio-probe
3
- Version: 1.2.2
3
+ Version: 1.3.0
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
@@ -22,12 +22,12 @@ Requires-Python: >=3.6.2
22
22
  License-File: LICENSE
23
23
  Requires-Dist: wheel
24
24
  Requires-Dist: einops
25
- Requires-Dist: numpy<2.0
25
+ Requires-Dist: numpy<2.0,>=1.23.0
26
26
  Requires-Dist: pandas<2.1,>=1.3.5
27
27
  Requires-Dist: pyyaml
28
28
  Requires-Dist: rich
29
29
  Requires-Dist: tqdm
30
- Requires-Dist: openpyxl
30
+ Requires-Dist: openpyxl>=3.0.6
31
31
  Requires-Dist: pyopenssl
32
32
  Requires-Dist: twisted
33
33
  Requires-Dist: matplotlib
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mindstudio-probe
3
- Version: 1.2.2
3
+ Version: 1.3.0
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
@@ -22,12 +22,12 @@ Requires-Python: >=3.6.2
22
22
  License-File: LICENSE
23
23
  Requires-Dist: wheel
24
24
  Requires-Dist: einops
25
- Requires-Dist: numpy<2.0
25
+ Requires-Dist: numpy<2.0,>=1.23.0
26
26
  Requires-Dist: pandas<2.1,>=1.3.5
27
27
  Requires-Dist: pyyaml
28
28
  Requires-Dist: rich
29
29
  Requires-Dist: tqdm
30
- Requires-Dist: openpyxl
30
+ Requires-Dist: openpyxl>=3.0.6
31
31
  Requires-Dist: pyopenssl
32
32
  Requires-Dist: twisted
33
33
  Requires-Dist: matplotlib
@@ -19,6 +19,7 @@ msprobe/core/advisor/advisor.py
19
19
  msprobe/core/advisor/advisor_const.py
20
20
  msprobe/core/advisor/advisor_result.py
21
21
  msprobe/core/common/const.py
22
+ msprobe/core/common/decorator.py
22
23
  msprobe/core/common/exceptions.py
23
24
  msprobe/core/common/file_utils.py
24
25
  msprobe/core/common/inplace_op_checker.py
@@ -39,6 +40,7 @@ msprobe/core/compare/layer_mapping/postprocess_pass.py
39
40
  msprobe/core/compare/merge_result/merge_result.py
40
41
  msprobe/core/compare/merge_result/merge_result_cli.py
41
42
  msprobe/core/compare/merge_result/utils.py
43
+ msprobe/core/data_dump/api_registry.py
42
44
  msprobe/core/data_dump/data_collector.py
43
45
  msprobe/core/data_dump/json_writer.py
44
46
  msprobe/core/data_dump/scope.py
@@ -86,6 +88,8 @@ msprobe/docs/26.data_dump_PyTorch_baseline.md
86
88
  msprobe/docs/27.dump_json_instruction.md
87
89
  msprobe/docs/28.debugger_save_instruction.md
88
90
  msprobe/docs/28.kernel_dump_MindSpore.md
91
+ msprobe/docs/29.data_dump_MSAdapter.md
92
+ msprobe/docs/30.overflow_check_MSAdapter.md
89
93
  msprobe/docs/FAQ.md
90
94
  msprobe/docs/S02.report_free_benchmarking_validation_performance_baseline.md
91
95
  msprobe/docs/accuracy_checker_MindSpore/accuracy_checker_MindSpore_baseline.md
@@ -134,6 +138,7 @@ msprobe/docs/img/visualization/tensorboard_1.png
134
138
  msprobe/docs/img/visualization/tensorboard_2.png
135
139
  msprobe/docs/img/visualization/vis_browser_1.png
136
140
  msprobe/docs/img/visualization/vis_browser_2.png
141
+ msprobe/docs/img/visualization/vis_match_info.png
137
142
  msprobe/docs/img/visualization/vis_precision_info.png
138
143
  msprobe/docs/img/visualization/vis_search_info.png
139
144
  msprobe/docs/img/visualization/vis_show_info.png
@@ -171,6 +176,8 @@ msprobe/mindspore/api_accuracy_checker/multi_data_manager.py
171
176
  msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py
172
177
  msprobe/mindspore/api_accuracy_checker/type_mapping.py
173
178
  msprobe/mindspore/api_accuracy_checker/utils.py
179
+ msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py
180
+ msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py
174
181
  msprobe/mindspore/code_mapping/__init__.py
175
182
  msprobe/mindspore/code_mapping/bind.py
176
183
  msprobe/mindspore/code_mapping/cmd_parser.py
@@ -193,11 +200,10 @@ msprobe/mindspore/dump/dump_tool_factory.py
193
200
  msprobe/mindspore/dump/jit_dump.py
194
201
  msprobe/mindspore/dump/kernel_graph_dump.py
195
202
  msprobe/mindspore/dump/kernel_kbyk_dump.py
196
- msprobe/mindspore/dump/hook_cell/api_registry.py
203
+ msprobe/mindspore/dump/hook_cell/api_register.py
197
204
  msprobe/mindspore/dump/hook_cell/hook_cell.py
198
205
  msprobe/mindspore/dump/hook_cell/primitive_hooks.py
199
206
  msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml
200
- msprobe/mindspore/dump/hook_cell/wrap_api.py
201
207
  msprobe/mindspore/dump/kernel_dump/kernel_config.py
202
208
  msprobe/mindspore/dym_loader/hook_dynamic_loader.cc
203
209
  msprobe/mindspore/dym_loader/hook_dynamic_loader.h
@@ -244,7 +250,6 @@ msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py
244
250
  msprobe/mindspore/overflow_check/overflow_check_tool_factory.py
245
251
  msprobe/pytorch/__init__.py
246
252
  msprobe/pytorch/function_factory.py
247
- msprobe/pytorch/parse.py
248
253
  msprobe/pytorch/pt_config.py
249
254
  msprobe/pytorch/service.py
250
255
  msprobe/pytorch/api_accuracy_checker/.keep
@@ -355,18 +360,12 @@ msprobe/pytorch/grad_probe/__init__.py
355
360
  msprobe/pytorch/grad_probe/grad_monitor.py
356
361
  msprobe/pytorch/grad_probe/grad_stat_csv.py
357
362
  msprobe/pytorch/hook_module/__init__.py
358
- msprobe/pytorch/hook_module/api_registry.py
363
+ msprobe/pytorch/hook_module/api_register.py
359
364
  msprobe/pytorch/hook_module/hook_module.py
360
365
  msprobe/pytorch/hook_module/register_optimizer_hook.py
361
366
  msprobe/pytorch/hook_module/support_wrap_ops.yaml
362
367
  msprobe/pytorch/hook_module/utils.py
363
368
  msprobe/pytorch/hook_module/wrap_aten.py
364
- msprobe/pytorch/hook_module/wrap_distributed.py
365
- msprobe/pytorch/hook_module/wrap_functional.py
366
- msprobe/pytorch/hook_module/wrap_npu_custom.py
367
- msprobe/pytorch/hook_module/wrap_tensor.py
368
- msprobe/pytorch/hook_module/wrap_torch.py
369
- msprobe/pytorch/hook_module/wrap_vf.py
370
369
  msprobe/pytorch/monitor/__init__.py
371
370
  msprobe/pytorch/monitor/anomaly_analyse.py
372
371
  msprobe/pytorch/monitor/anomaly_detect.py
@@ -1,11 +1,11 @@
1
1
  wheel
2
2
  einops
3
- numpy<2.0
3
+ numpy<2.0,>=1.23.0
4
4
  pandas<2.1,>=1.3.5
5
5
  pyyaml
6
6
  rich
7
7
  tqdm
8
- openpyxl
8
+ openpyxl>=3.0.6
9
9
  pyopenssl
10
10
  twisted
11
11
  matplotlib
@@ -44,6 +44,7 @@ export MSPROBE_LOG_LEVEL={x}
44
44
 
45
45
  - msprobe支持AscendPyTorch 1.11.0或更高版本,支持的PyTorch和CANN以及PyTorch和python软件版本配套关系请参见《[Ascend Extension for PyTorch插件](https://gitee.com/ascend/pytorch)》。
46
46
  - msprobe支持MindSpore 2.4.0或更高版本,支持的MindSpore和CANN以及MindSpore和python软件版本配套关系请参见《[MindSpore版本发布列表](https://www.mindspore.cn/versions)》。
47
+ - msprobe支持MSAdapter 2.1.0。
47
48
  - msprobe支持的固件驱动版本与配套CANN软件支持的固件驱动版本相同,开发者可通过“[昇腾社区-固件与驱动](https://gitee.com/link?target=https%3A%2F%2Fwww.hiascend.com%2Fhardware%2Ffirmware-drivers%2Fcommunity%3Fproduct%3D2%26model%3D28%26cann%3D8.0.RC3.alpha003%26driver%3D1.0.25.alpha)”页面根据产品型号与CANN软件版本获取配套的固件与驱动。
48
49
 
49
50
 
@@ -69,35 +70,37 @@ export MSPROBE_LOG_LEVEL={x}
69
70
 
70
71
  ### 1 数据采集
71
72
 
72
- msprobe 通过在训练脚本中添加 PrecisionDebugger 接口的方式对 API 执行精度数据 dump 操作,对应 config.json 中的 task 为 statistics 或 tensor。
73
+ msprobe 通过在训练脚本中添加 PrecisionDebugger 接口的方式对 API 执行精度数据 dump 操作。对应 config.json 中的 "statistics""tensor" task
73
74
 
74
75
  [PyTorch 场景的数据采集](./docs/05.data_dump_PyTorch.md)
75
76
 
76
77
  [MindSpore 场景的数据采集](./docs/06.data_dump_MindSpore.md)
77
78
 
79
+ [MSAdapter 场景的数据采集](./docs/29.data_dump_MSAdapter.md)
80
+
78
81
  ### 2 精度预检
79
82
 
80
- 精度预检旨在昇腾 NPU 上扫描训练模型中的所有 API 进行 API 复现,给出精度情况的诊断和分析。对应 config.json 中的 task 为 run_ut
83
+ 精度预检旨在昇腾 NPU 上扫描训练模型中的所有 API 进行 API 复现,给出精度情况的诊断和分析。对应 config.json 中的 "run_ut" task。
81
84
 
82
85
  PyTorch 场景的[离线预检](./docs/07.accuracy_checker_PyTorch.md)和[在线预检](./docs/08.accuracy_checker_online_PyTorch.md)
83
86
 
84
87
  MindSpore 动态图场景的[离线预检](./docs/09.accuracy_checker_MindSpore.md)
85
88
 
86
- ### 3 精度比对
89
+ ### 3 分级可视化构图比对
87
90
 
88
- 该功能进行 PyTorch 整网 API 粒度的数据 dump、精度比对,进而定位训练场景下的精度问题。
91
+ 该功能将msprobe工具dump的精度数据进行解析,还原模型图结构,实现模型各个层级的精度数据比对,方便用户理解模型结构、分析精度问题。
89
92
 
90
- [PyTorch 场景的精度比对](./docs/10.accuracy_compare_PyTorch.md)
93
+ [PyTorch 场景的分级可视化构图比对](./docs/21.visualization_PyTorch.md)
91
94
 
92
- [MindSpore 场景的精度比对](./docs/11.accuracy_compare_MindSpore.md)
95
+ [MindSpore 场景的分级可视化构图比对](./docs/22.visualization_MindSpore.md)
93
96
 
94
- ### 4 溢出检测与解析
97
+ ### 4 精度比对
95
98
 
96
- 溢出检测与解析是在执行精度数据 dump 时,判断是否存在输入正常但输出存在溢出的 API,从而判断是否为正常溢出。对应 config.json 中的 overflow_check。
99
+ 该功能进行 PyTorch 整网 API 粒度的数据 dump、精度比对,进而定位训练场景下的精度问题。
97
100
 
98
- [PyTorch 场景的溢出检测与解析](./docs/12.overflow_check_PyTorch.md)
101
+ [PyTorch 场景的精度比对](./docs/10.accuracy_compare_PyTorch.md)
99
102
 
100
- [MindSpore 场景的溢出检测与解析](./docs/13.overflow_check_MindSpore.md)
103
+ [MindSpore 场景的精度比对](./docs/11.accuracy_compare_MindSpore.md)
101
104
 
102
105
  ### 5 数据解析
103
106
 
@@ -129,26 +132,28 @@ MindSpore 动态图场景的[离线预检](./docs/09.accuracy_checker_MindSpore.
129
132
 
130
133
  [兼容 PyTorch 和 MindSpore 框架的训练状态监控](./docs/19.monitor.md)
131
134
 
132
- ### 10 分级可视化构图比对
135
+ ### 10 单算子API自动生成脚本
133
136
 
134
- 该功能将msprobe工具dump的精度数据进行解析,还原模型图结构,实现模型各个层级的精度数据比对,方便用户理解模型结构、分析精度问题。
137
+ 该功能将msprobe工具dump的精度数据进行解析,自动生成单API脚本,用于复现整网中出现的算子问题,降低用户复现问题的成本,供开发分析算子问题。
135
138
 
136
- [PyTorch 场景的分级可视化构图比对](./docs/21.visualization_PyTorch.md)
139
+ [PyTorch 单算子API自动生成脚本](./docs/23.generate_operator_PyTorch.md)
137
140
 
138
- [MindSpore 场景的分级可视化构图比对](./docs/22.visualization_MindSpore.md)
141
+ ### 11 数码关联
139
142
 
143
+ 该功能只支持 MindSpore 静态图场景,用于将IR图与dump数据进行关联,获取dump数据和代码调用栈的关联关系。
140
144
 
141
- ### 11 单算子API自动生成脚本
145
+ [MindSpore 场景的数码关联](./docs/24.code_mapping_Mindspore.md)
142
146
 
143
- 该功能将msprobe工具dump的精度数据进行解析,自动生成单API脚本,用于复现整网中出现的算子问题,降低用户复现问题的成本,供开发分析算子问题。
147
+ ### 12 溢出检测与解析
144
148
 
145
- [PyTorch 单算子API自动生成脚本](./docs/23.generate_operator_PyTorch.md)
149
+ 溢出检测用于采集溢出 API 或 模块的精度数据,而溢出解析则是通过对溢出数据的分析,进一步判断是否为正常溢出。对应 config.json 中的 "overflow_check" task。
150
+ 推荐直接使用[数据采集](#1-数据采集)功能采集统计量信息,检测溢出问题。
146
151
 
147
- ### 12 数码关联
152
+ [PyTorch 场景的溢出检测与解析](./docs/12.overflow_check_PyTorch.md)
148
153
 
149
- 该功能只支持 MindSpore 静态图场景,用于将IR图与dump数据进行关联,获取dump数据和代码调用栈的关联关系。
154
+ [MindSpore 场景的溢出检测](./docs/13.overflow_check_MindSpore.md)
150
155
 
151
- [MindSpore 场景的数码关联](./docs/24.code_mapping_Mindspore.md)
156
+ [MSAdapter 场景的溢出检测](./docs/30.overflow_check_MSAdapter.md)
152
157
 
153
158
  ## 📑 补充材料
154
159
 
@@ -51,7 +51,10 @@ class Const:
51
51
  FOUR_SEGMENT = 4
52
52
  SIX_SEGMENT = 6
53
53
  SEVEN_SEGMENT = 7
54
+
54
55
  MAX_DEPTH = 10
56
+ CPU_QUARTER = 4
57
+ DUMP_MAX_DEPTH = 50
55
58
 
56
59
  # dump mode
57
60
  ALL = "all"
@@ -230,6 +233,92 @@ class Const:
230
233
 
231
234
  TENSOR_STAT_LEN = 2
232
235
 
236
+ SUPPORT_API_FILE_NAME = "support_wrap_ops.yaml"
237
+
238
+ PT_API_TYPE_FUNCTIONAL = "functional"
239
+ PT_API_TYPE_TENSOR = "tensor"
240
+ PT_API_TYPE_TORCH = "torch"
241
+ PT_API_TYPE_VF = "_VF"
242
+ PT_API_TYPE_NPU = "torch_npu"
243
+ PT_API_TYPE_ATEN = "aten"
244
+ PT_API_TYPE_DIST = "distributed"
245
+ PT_API_TYPE_NPU_DIST = "npu_distributed"
246
+
247
+ MS_API_TYPE_OPS = "ops"
248
+ MS_API_TYPE_TENSOR = "tensor"
249
+ MS_API_TYPE_STUB_TENSOR = "stubtensor"
250
+ MS_API_TYPE_MINT = "mint.ops"
251
+ MS_API_TYPE_MINT_FUNC = "mint.nn.functional"
252
+ MS_API_TYPE_COM = "communication.comm_func"
253
+
254
+ FUNCTIONAL_API_TYPE_PREFIX = "Functional"
255
+ TENSOR_API_TYPE_PREFIX = "Tensor"
256
+ DIST_API_TYPE_PREFIX = "Distributed"
257
+
258
+ TORCH_API_TYPE_PREFIX = "Torch"
259
+ NPU_API_TYPE_PREFIX = "NPU"
260
+ ATEN_API_TYPE_PREFIX = "Aten"
261
+ VF_API_TYPE_PREFIX = "VF"
262
+
263
+ MINT_API_TYPE_PREFIX = "Mint"
264
+ MINT_FUNC_API_TYPE_PREFIX = "MintFunctional"
265
+
266
+ SUPPORT_API_DICT_KEY_MAP = {
267
+ PT_FRAMEWORK: {
268
+ PT_API_TYPE_FUNCTIONAL: PT_API_TYPE_FUNCTIONAL,
269
+ PT_API_TYPE_TENSOR: PT_API_TYPE_TENSOR,
270
+ PT_API_TYPE_TORCH: PT_API_TYPE_TORCH,
271
+ PT_API_TYPE_VF: PT_API_TYPE_VF,
272
+ PT_API_TYPE_NPU: PT_API_TYPE_NPU,
273
+ PT_API_TYPE_ATEN: PT_API_TYPE_ATEN,
274
+ PT_API_TYPE_DIST: PT_API_TYPE_DIST,
275
+ PT_API_TYPE_NPU_DIST: PT_API_TYPE_NPU_DIST
276
+ },
277
+ MS_FRAMEWORK: {
278
+ MS_API_TYPE_OPS: MS_API_TYPE_OPS,
279
+ MS_API_TYPE_TENSOR: MS_API_TYPE_TENSOR,
280
+ MS_API_TYPE_STUB_TENSOR: MS_API_TYPE_TENSOR,
281
+ MS_API_TYPE_MINT: MS_API_TYPE_MINT,
282
+ MS_API_TYPE_MINT_FUNC: MS_API_TYPE_MINT_FUNC,
283
+ MS_API_TYPE_COM: MS_API_TYPE_COM
284
+ },
285
+ MT_FRAMEWORK: {
286
+ PT_API_TYPE_FUNCTIONAL: PT_API_TYPE_FUNCTIONAL,
287
+ PT_API_TYPE_TENSOR: PT_API_TYPE_TENSOR,
288
+ PT_API_TYPE_TORCH: PT_API_TYPE_TORCH,
289
+ PT_API_TYPE_NPU: PT_API_TYPE_NPU,
290
+ PT_API_TYPE_DIST: PT_API_TYPE_DIST
291
+ }
292
+ }
293
+
294
+ API_DATA_PREFIX = {
295
+ PT_FRAMEWORK: {
296
+ PT_API_TYPE_FUNCTIONAL: FUNCTIONAL_API_TYPE_PREFIX,
297
+ PT_API_TYPE_TENSOR: TENSOR_API_TYPE_PREFIX,
298
+ PT_API_TYPE_TORCH: TORCH_API_TYPE_PREFIX,
299
+ PT_API_TYPE_VF: VF_API_TYPE_PREFIX,
300
+ PT_API_TYPE_NPU: NPU_API_TYPE_PREFIX,
301
+ PT_API_TYPE_ATEN: ATEN_API_TYPE_PREFIX,
302
+ PT_API_TYPE_DIST: DIST_API_TYPE_PREFIX,
303
+ PT_API_TYPE_NPU_DIST: DIST_API_TYPE_PREFIX
304
+ },
305
+ MS_FRAMEWORK: {
306
+ MS_API_TYPE_OPS: FUNCTIONAL_API_TYPE_PREFIX,
307
+ MS_API_TYPE_TENSOR: TENSOR_API_TYPE_PREFIX,
308
+ MS_API_TYPE_STUB_TENSOR: TENSOR_API_TYPE_PREFIX,
309
+ MS_API_TYPE_MINT: MINT_API_TYPE_PREFIX,
310
+ MS_API_TYPE_MINT_FUNC: MINT_FUNC_API_TYPE_PREFIX,
311
+ MS_API_TYPE_COM: DIST_API_TYPE_PREFIX
312
+ },
313
+ MT_FRAMEWORK: {
314
+ PT_API_TYPE_FUNCTIONAL: FUNCTIONAL_API_TYPE_PREFIX,
315
+ PT_API_TYPE_TENSOR: TENSOR_API_TYPE_PREFIX,
316
+ PT_API_TYPE_TORCH: TORCH_API_TYPE_PREFIX,
317
+ PT_API_TYPE_NPU: NPU_API_TYPE_PREFIX,
318
+ PT_API_TYPE_DIST: DIST_API_TYPE_PREFIX
319
+ }
320
+ }
321
+
233
322
 
234
323
  class CompareConst:
235
324
  """
@@ -256,6 +345,7 @@ class CompareConst:
256
345
  MEAN_DIFF = "Mean diff"
257
346
  NORM_DIFF = "L2norm diff"
258
347
  COSINE = "Cosine"
348
+ EUC_DIST = "EucDist"
259
349
  MAX_ABS_ERR = "MaxAbsErr"
260
350
  MAX_RELATIVE_ERR = "MaxRelativeErr"
261
351
  MIN_RELATIVE_ERR = "MinRelativeErr"
@@ -330,8 +420,8 @@ class CompareConst:
330
420
  ULP_ERR_STATUS = "ulp_err_status"
331
421
 
332
422
  COMPARE_RESULT_HEADER = [
333
- NPU_NAME, BENCH_NAME, NPU_DTYPE, BENCH_DTYPE, NPU_SHAPE, BENCH_SHAPE, COSINE, MAX_ABS_ERR, MAX_RELATIVE_ERR,
334
- ONE_THOUSANDTH_ERR_RATIO, FIVE_THOUSANDTHS_ERR_RATIO,
423
+ NPU_NAME, BENCH_NAME, NPU_DTYPE, BENCH_DTYPE, NPU_SHAPE, BENCH_SHAPE, COSINE, EUC_DIST,
424
+ MAX_ABS_ERR, MAX_RELATIVE_ERR, ONE_THOUSANDTH_ERR_RATIO, FIVE_THOUSANDTHS_ERR_RATIO,
335
425
  NPU_MAX, NPU_MIN, NPU_MEAN, NPU_NORM, BENCH_MAX, BENCH_MIN, BENCH_MEAN, BENCH_NORM, ACCURACY, ERROR_MESSAGE
336
426
  ]
337
427
 
@@ -357,18 +447,16 @@ class CompareConst:
357
447
  Const.MD5: MD5_COMPARE_RESULT_HEADER
358
448
  }
359
449
 
360
- ALL_COMPARE_INDEX = [COSINE, MAX_ABS_ERR, MAX_RELATIVE_ERR, ONE_THOUSANDTH_ERR_RATIO, FIVE_THOUSANDTHS_ERR_RATIO]
450
+ ALL_COMPARE_INDEX = [COSINE, EUC_DIST, MAX_ABS_ERR, MAX_RELATIVE_ERR, ONE_THOUSANDTH_ERR_RATIO,
451
+ FIVE_THOUSANDTHS_ERR_RATIO]
361
452
  SUMMARY_COMPARE_INDEX = [MAX_DIFF, MIN_DIFF, MEAN_DIFF, NORM_DIFF,
362
453
  MAX_RELATIVE_ERR, MIN_RELATIVE_ERR, MEAN_RELATIVE_ERR, NORM_RELATIVE_ERR]
363
454
 
364
455
  # dtype match
365
- MS_TYPE = [
366
- [Const.FLOAT16, Const.FLOAT32], [Const.FLOAT32, Const.FLOAT16],
367
- [Const.FLOAT16, Const.BFLOAT16], [Const.BFLOAT16, Const.FLOAT16]
368
- ]
369
- TORCH_TYPE = [
370
- [Const.TORCH_FLOAT16, Const.TORCH_FLOAT32], [Const.TORCH_FLOAT32, Const.TORCH_FLOAT16],
371
- [Const.TORCH_FLOAT16, Const.TORCH_BFLOAT16], [Const.TORCH_BFLOAT16, Const.TORCH_FLOAT16]
456
+
457
+ DTYPE_MATCH_GROUPS = [
458
+ {Const.FLOAT16, Const.FLOAT32, Const.BFLOAT16},
459
+ {Const.TORCH_FLOAT16, Const.TORCH_FLOAT32, Const.TORCH_BFLOAT16}
372
460
  ]
373
461
 
374
462
  # read_op
@@ -467,7 +555,7 @@ class CompareConst:
467
555
  BENCH_MEAN: None, BENCH_NORM: None, ACCURACY: '', ERROR_MESSAGE: ''
468
556
  }
469
557
  MS_GRAPH_NPY = {
470
- COSINE: None, MAX_ABS_ERR: None, MAX_RELATIVE_ERR: None, ONE_THOUSANDTH_ERR_RATIO: None,
558
+ COSINE: None, EUC_DIST: None, MAX_ABS_ERR: None, MAX_RELATIVE_ERR: None, ONE_THOUSANDTH_ERR_RATIO: None,
471
559
  FIVE_THOUSANDTHS_ERR_RATIO: None
472
560
  }
473
561
  MS_GRAPH_STATISTIC = {
@@ -538,61 +626,6 @@ class OverflowConst:
538
626
  OVERFLOW_DEBUG_MODE = 1
539
627
 
540
628
 
541
- class MsCompareConst:
542
- # api_info field
543
- MINT = "Mint"
544
- MINT_FUNCTIONAL = "MintFunctional"
545
- TENSOR_API = "Tensor"
546
-
547
- API_NAME_STR_LENGTH = 4
548
- MAX_RECURSION_DEPTH = 20
549
-
550
- # Mindtorch api_info field
551
- MINDTORCH_TENSOR = "Tensor"
552
- MINDTORCH = "Torch"
553
- MINDTORCH_FUNC = "Functional"
554
- MINDTORCH_NPU = "NPU"
555
- MINDTORCH_DIST = "Distributed"
556
-
557
-
558
-
559
- MT_VALID_API_TYPES = [
560
- MINDTORCH, MINDTORCH_FUNC, MINDTORCH_TENSOR
561
- ]
562
-
563
- TASK_FIELD = "task"
564
- STATISTICS_TASK = "statistics"
565
- FRAMEWORK = "framework"
566
- TENSOR_TASK = "tensor"
567
- DUMP_DATA_DIR_FIELD = "dump_data_dir"
568
- DATA_FIELD = "data"
569
-
570
- # supported api yaml
571
- SUPPORTED_API_LIST_FILE = "checker_support_api.yaml"
572
- SUPPORTED_TENSOR_LIST_KEY = "tensor"
573
-
574
- # detail_csv
575
- DETAIL_CSV_API_NAME = "API Name"
576
- DETAIL_CSV_BENCH_DTYPE = "Bench Dtype"
577
- DETAIL_CSV_TESTED_DTYPE = "Tested Dtype"
578
- DETAIL_CSV_SHAPE = "Shape"
579
- DETAIL_CSV_PASS_STATUS = "Status"
580
- DETAIL_CSV_MESSAGE = "Message"
581
- DETAIL_CSV_FILE_NAME = "accuracy_checking_details"
582
-
583
- # result_csv
584
- RESULT_CSV_FORWARD_TEST_SUCCESS = "Forward Test Success"
585
- RESULT_CSV_BACKWARD_TEST_SUCCESS = "Backward Test Success"
586
- RESULT_CSV_FILE_NAME = "accuracy_checking_result"
587
-
588
- EPSILON = 1e-8
589
-
590
- class ProcessStatus:
591
- SUCCESS = "success"
592
- API_NOT_FOUND = "api_not_found"
593
- EXCEPTION_SKIP = "exception_skip"
594
-
595
-
596
629
  class MsgConst:
597
630
  """
598
631
  Class for log messages const
@@ -629,6 +662,15 @@ class MonitorConst:
629
662
  """
630
663
  Class for monitor const
631
664
  """
665
+
666
+ # monitor config set default values
667
+ DEFAULT_GRAD_ACC_STEPS = 1
668
+ DEFAULT_START_ITERATION = 0
669
+ DEFAULT_START_STEP = 0
670
+ DEFAULT_MAX_COLLECT_TIMES = 1e8
671
+ DEFAULT_MIN_COLLECT_TIMES = 0
672
+ DEFAULT_STEP_INTERVAL = 1
673
+
632
674
  OP_LIST = ["norm", "min", "max", "zeros", "nans", "id", "mean"]
633
675
  MONITOR_OUTPUT_DIR = "MONITOR_OUTPUT_DIR"
634
676
  DEFAULT_MONITOR_OUTPUT_DIR = "./monitor_output"
@@ -674,3 +716,5 @@ class MonitorConst:
674
716
  CSV = "csv"
675
717
  API = "api"
676
718
  HEADER_NAME = 'name'
719
+
720
+ MAX_NDIGITS = 20
@@ -0,0 +1,50 @@
1
+ # Copyright (c) 2024-2025, Huawei Technologies Co., Ltd.
2
+ # All rights reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ from collections import defaultdict
17
+ from functools import wraps
18
+
19
+ from msprobe.core.common.const import Const
20
+ from msprobe.core.common.exceptions import MsprobeException
21
+ from msprobe.core.common.log import logger
22
+
23
+ # 记录工具函数递归的深度
24
+ recursion_depth = defaultdict(int)
25
+
26
+
27
+ def recursion_depth_decorator(func_info, max_depth=Const.MAX_DEPTH):
28
+ """装饰一个函数,当函数递归调用超过限制时,抛出异常并打印函数信息。"""
29
+ def decorator(func):
30
+ @wraps(func)
31
+ def wrapper(*args, **kwargs):
32
+ func_id = id(func)
33
+ recursion_depth[func_id] += 1
34
+ if recursion_depth[func_id] > max_depth:
35
+ msg = f"call {func_info} exceeds the recursion limit."
36
+ logger.error_log_with_exp(
37
+ msg,
38
+ MsprobeException(
39
+ MsprobeException.RECURSION_LIMIT_ERROR, msg
40
+ ),
41
+ )
42
+ try:
43
+ result = func(*args, **kwargs)
44
+ finally:
45
+ recursion_depth[func_id] -= 1
46
+ return result
47
+
48
+ return wrapper
49
+
50
+ return decorator
@@ -28,12 +28,14 @@ class MsprobeException(CodedException):
28
28
  OVERFLOW_NUMS_ERROR = 1
29
29
  RECURSION_LIMIT_ERROR = 2
30
30
  INTERFACE_USAGE_ERROR = 3
31
+ UNSUPPORTED_TYPE_ERROR = 4
31
32
 
32
33
  err_strs = {
33
34
  INVALID_PARAM_ERROR: "[msprobe] 无效参数:",
34
35
  OVERFLOW_NUMS_ERROR: "[msprobe] 超过预设溢出次数 当前溢出次数:",
35
36
  RECURSION_LIMIT_ERROR: "[msprobe] 递归调用超过限制:",
36
- INTERFACE_USAGE_ERROR: "[msprobe] Invalid interface usage: "
37
+ INTERFACE_USAGE_ERROR: "[msprobe] Invalid interface usage: ",
38
+ UNSUPPORTED_TYPE_ERROR: "[msprobe] Unsupported type: "
37
39
  }
38
40
 
39
41
 
@@ -26,6 +26,7 @@ import yaml
26
26
  import numpy as np
27
27
  import pandas as pd
28
28
 
29
+ from msprobe.core.common.decorator import recursion_depth_decorator
29
30
  from msprobe.core.common.log import logger
30
31
  from msprobe.core.common.exceptions import FileCheckException
31
32
  from msprobe.core.common.const import FileCheckConst
@@ -266,6 +267,7 @@ def make_dir(dir_path):
266
267
  file_check.common_check()
267
268
 
268
269
 
270
+ @recursion_depth_decorator('msprobe.core.common.file_utils.create_directory', max_depth=16)
269
271
  def create_directory(dir_path):
270
272
  """
271
273
  Function Description:
@@ -332,6 +334,23 @@ def change_mode(path, mode):
332
334
  'Failed to change {} authority. {}'.format(path, str(ex))) from ex
333
335
 
334
336
 
337
+ @recursion_depth_decorator('msprobe.core.common.file_utils.recursive_chmod')
338
+ def recursive_chmod(path):
339
+ """
340
+ 递归地修改目录及其子目录和文件的权限,文件修改为640,路径修改为750
341
+
342
+ :param path: 要修改权限的目录路径
343
+ """
344
+ for _, dirs, files in os.walk(path):
345
+ for file_name in files:
346
+ file_path = os.path.join(path, file_name)
347
+ change_mode(file_path, FileCheckConst.DATA_FILE_AUTHORITY)
348
+ for dir_name in dirs:
349
+ dir_path = os.path.join(path, dir_name)
350
+ change_mode(dir_path, FileCheckConst.DATA_DIR_AUTHORITY)
351
+ recursive_chmod(dir_path)
352
+
353
+
335
354
  def path_len_exceeds_limit(file_path):
336
355
  return len(os.path.realpath(file_path)) > FileCheckConst.DIRECTORY_LENGTH or \
337
356
  len(os.path.basename(file_path)) > FileCheckConst.FILE_NAME_LENGTH
@@ -632,7 +651,7 @@ def os_walk_for_files(path, depth):
632
651
  return res
633
652
 
634
653
 
635
- def check_crt_valid(pem_path):
654
+ def check_crt_valid(pem_path, is_public_key=False):
636
655
  """
637
656
  Check the validity of the SSL certificate.
638
657
 
@@ -641,6 +660,7 @@ def check_crt_valid(pem_path):
641
660
 
642
661
  Parameters:
643
662
  pem_path (str): The file path of the SSL certificate.
663
+ is_public_key (bool): The file is public key or not.
644
664
 
645
665
  Raises:
646
666
  RuntimeError: If the SSL certificate is invalid or expired.
@@ -649,7 +669,10 @@ def check_crt_valid(pem_path):
649
669
  try:
650
670
  with FileOpen(pem_path, "r") as f:
651
671
  pem_data = f.read()
652
- cert = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, pem_data)
672
+ if is_public_key:
673
+ cert = OpenSSL.crypto.load_publickey(OpenSSL.crypto.FILETYPE_PEM, pem_data)
674
+ else:
675
+ cert = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, pem_data)
653
676
  pem_start = parser.parse(cert.get_notBefore().decode("UTF-8"))
654
677
  pem_end = parser.parse(cert.get_notAfter().decode("UTF-8"))
655
678
  logger.info(f"The SSL certificate passes the verification and the validity period "