mindstudio-probe 8.1.0__tar.gz → 8.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/PKG-INFO +3 -2
  2. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/PKG-INFO +3 -2
  3. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/SOURCES.txt +1 -1
  4. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/requires.txt +2 -1
  5. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common/const.py +4 -0
  6. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common/file_utils.py +81 -23
  7. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common/utils.py +136 -21
  8. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common_config.py +15 -1
  9. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/acc_compare.py +35 -14
  10. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/compare_cli.py +10 -2
  11. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/merge_result/merge_result.py +1 -1
  12. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/utils.py +15 -3
  13. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/base_checker.py +2 -0
  14. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/hyperparameter_checker.py +5 -4
  15. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/ckpt_compare/ckpt_comparator.py +4 -1
  16. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/config_check_cli.py +1 -1
  17. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/config_checker.py +1 -2
  18. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/data_collector.py +148 -91
  19. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/data_processor/mindspore_processor.py +23 -1
  20. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/data_processor/pytorch_processor.py +3 -25
  21. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/json_writer.py +31 -1
  22. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/debugger/precision_debugger.py +32 -26
  23. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/hook_manager.py +112 -82
  24. {mindstudio_probe-8.1.0/msprobe/pytorch → mindstudio_probe-8.1.2/msprobe/core}/monitor/utils.py +11 -39
  25. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/service.py +3 -1
  26. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/single_save/single_comparator.py +28 -26
  27. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/single_save/single_saver.py +5 -16
  28. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/01.installation.md +2 -0
  29. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/05.data_dump_PyTorch.md +7 -4
  30. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/06.data_dump_MindSpore.md +3 -0
  31. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/07.accuracy_checker_PyTorch.md +14 -11
  32. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/08.accuracy_checker_online_PyTorch.md +2 -2
  33. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/09.accuracy_checker_MindSpore.md +13 -11
  34. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/10.accuracy_compare_PyTorch.md +3 -1
  35. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/11.accuracy_compare_MindSpore.md +4 -2
  36. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/12.overflow_check_PyTorch.md +3 -2
  37. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/13.overflow_check_MindSpore.md +1 -1
  38. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/14.data_parse_PyTorch.md +35 -32
  39. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/21.visualization_PyTorch.md +9 -8
  40. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/22.visualization_MindSpore.md +1 -0
  41. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/23.generate_operator_PyTorch.md +1 -1
  42. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/24.code_mapping_Mindspore.md +6 -5
  43. mindstudio_probe-8.1.2/msprobe/docs/25.tool_function_introduction.md +30 -0
  44. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/31.config_check.md +15 -5
  45. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/33.generate_operator_MindSpore.md +12 -21
  46. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/34.RL_collect.md +18 -9
  47. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/35.nan_analyze.md +4 -3
  48. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/FAQ.md +3 -0
  49. mindstudio_probe-8.1.2/msprobe/docs/img/ms_layer.png +0 -0
  50. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/api_accuracy_checker.py +1 -0
  51. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/api_runner.py +29 -1
  52. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/compute_element.py +0 -1
  53. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/generate_op_script/op_generator.py +10 -1
  54. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/torch_mindtorch_importer.py +2 -1
  55. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/cell_processor.py +35 -14
  56. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/bind.py +23 -4
  57. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/graph_parser.py +6 -4
  58. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/common/utils.py +4 -0
  59. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/compare/common_dir_compare.py +32 -12
  60. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/compare/ms_graph_compare.py +7 -2
  61. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/compare/utils.py +9 -1
  62. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/debugger/debugger_config.py +13 -11
  63. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/debugger/precision_debugger.py +71 -49
  64. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/cell_dump_process.py +13 -38
  65. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/cell_dump_with_insert_gradient.py +1 -26
  66. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/dump_tool_factory.py +2 -0
  67. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/hook_cell/api_register.py +3 -3
  68. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/hook_cell/hook_cell.py +14 -9
  69. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/hook_cell/ms_hook_manager.py +12 -7
  70. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/hook_cell/primitive_hooks.py +27 -13
  71. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/jit_dump.py +6 -3
  72. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/kernel_kbyk_dump.py +13 -6
  73. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dym_loader/hook_dynamic_loader.cpp +10 -9
  74. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dym_loader/hook_dynamic_loader.h +2 -2
  75. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/grad_analyzer.py +2 -0
  76. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/mindspore_service.py +5 -2
  77. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/common_func.py +1 -1
  78. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/features.py +10 -9
  79. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/module_hook.py +3 -3
  80. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/optimizer_collect.py +4 -1
  81. mindstudio_probe-8.1.2/msprobe/mindspore/monitor/utils.py +77 -0
  82. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/ms_config.py +0 -1
  83. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/overflow_check/overflow_check_tool_factory.py +1 -1
  84. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/nan_analyze/graph.py +4 -0
  85. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/compare_utils.py +20 -20
  86. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/multi_run_ut.py +22 -13
  87. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut.py +1 -1
  88. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/device_dispatch.py +1 -1
  89. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/utils.py +4 -4
  90. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/common/utils.py +1 -17
  91. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/compare/pt_compare.py +5 -0
  92. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/debugger/debugger_config.py +12 -5
  93. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/debugger/precision_debugger.py +36 -26
  94. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/dump/module_dump/hook_wrapper.py +1 -3
  95. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/dump/module_dump/module_processer.py +44 -13
  96. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/base_handler.py +2 -0
  97. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/api_register.py +3 -3
  98. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/hook_module.py +9 -9
  99. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/pt_hook_manager.py +7 -7
  100. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/csv2tb.py +3 -10
  101. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/features.py +5 -0
  102. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/module_hook.py +6 -7
  103. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/module_metric.py +0 -3
  104. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/optimizer_collect.py +5 -2
  105. mindstudio_probe-8.1.2/msprobe/pytorch/monitor/utils.py +50 -0
  106. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/dispatch.py +1 -1
  107. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/dump_compare.py +7 -1
  108. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/utils.py +2 -4
  109. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/pytorch_service.py +3 -0
  110. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/compare/mode_adapter.py +9 -0
  111. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/graph_service.py +1 -1
  112. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/utils.py +3 -0
  113. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/setup.py +4 -3
  114. mindstudio_probe-8.1.0/msprobe/docs/25.tool_function_introduction.md +0 -30
  115. mindstudio_probe-8.1.0/msprobe/docs/img/ms_layer.png +0 -0
  116. mindstudio_probe-8.1.0/msprobe/mindspore/api_accuracy_checker/generate_op_script/config_op.json +0 -9
  117. mindstudio_probe-8.1.0/msprobe/mindspore/monitor/utils.py +0 -329
  118. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/LICENSE +0 -0
  119. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/MANIFEST.in +0 -0
  120. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/dependency_links.txt +0 -0
  121. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/entry_points.txt +0 -0
  122. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/not-zip-safe +0 -0
  123. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/mindstudio_probe.egg-info/top_level.txt +0 -0
  124. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/CMakeLists.txt +0 -0
  125. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/README.md +0 -0
  126. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/__init__.py +0 -0
  127. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/config.json +0 -0
  128. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/__init__.py +0 -0
  129. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/advisor/advisor.py +0 -0
  130. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/advisor/advisor_const.py +0 -0
  131. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/advisor/advisor_result.py +0 -0
  132. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common/decorator.py +0 -0
  133. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common/exceptions.py +0 -0
  134. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common/framework_adapter.py +0 -0
  135. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common/global_lock.py +0 -0
  136. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common/inplace_op_checker.py +0 -0
  137. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common/inplace_ops.yaml +0 -0
  138. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common/log.py +0 -0
  139. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/common/runtime.py +0 -0
  140. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/check.py +0 -0
  141. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/config.py +0 -0
  142. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/highlight.py +0 -0
  143. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/layer_mapping/__init__.py +0 -0
  144. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/layer_mapping/data_scope_parser.py +0 -0
  145. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/layer_mapping/layer_mapping.py +0 -0
  146. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/layer_mapping/postprocess_pass.py +0 -0
  147. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/merge_result/merge_result_cli.py +0 -0
  148. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/merge_result/utils.py +0 -0
  149. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/ms_to_pt_api.yaml +0 -0
  150. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/multiprocessing_compute.py +0 -0
  151. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/compare/npy_compare.py +0 -0
  152. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/__init__.py +0 -0
  153. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/__init__.py +0 -0
  154. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/dataset_checker.py +0 -0
  155. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/env_args_checker.py +0 -0
  156. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/pip_checker.py +0 -0
  157. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/random_checker.py +0 -0
  158. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/checkers/weights_checker.py +0 -0
  159. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/ckpt_compare/megatron_loader.py +0 -0
  160. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/ckpt_compare/metrics.py +0 -0
  161. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/ckpt_compare/name_mapping.yaml +0 -0
  162. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/resource/dependency.yaml +0 -0
  163. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/resource/env.yaml +0 -0
  164. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/resource/hyperparameter.yaml +0 -0
  165. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/utils/hyperparameter_parser.py +0 -0
  166. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/config_check/utils/utils.py +0 -0
  167. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/api_registry.py +0 -0
  168. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/data_processor/base.py +0 -0
  169. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/data_processor/factory.py +0 -0
  170. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/data_dump/scope.py +0 -0
  171. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/grad_probe/__init__.py +0 -0
  172. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/grad_probe/constant.py +0 -0
  173. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/grad_probe/grad_compare.py +0 -0
  174. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/grad_probe/utils.py +0 -0
  175. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/kernel_dump/kernel_config.py +0 -0
  176. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/monitor/__init__.py +0 -0
  177. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/monitor/anomaly_processor.py +0 -0
  178. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/abnormal_scene.py +0 -0
  179. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/api_info.py +0 -0
  180. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/checker.py +0 -0
  181. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/filter.py +0 -0
  182. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/ignore_rules.yaml +0 -0
  183. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/level.py +0 -0
  184. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/overflow_check/utils.py +0 -0
  185. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/core/single_save/__init__.py +0 -0
  186. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/02.config_introduction.md +0 -0
  187. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/03.config_examples.md +0 -0
  188. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/04.kernel_dump_PyTorch.md +0 -0
  189. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/15.free_benchmarking_PyTorch.md +0 -0
  190. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/16.free_benchmarking_MindSpore.md +0 -0
  191. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/17.grad_probe.md +0 -0
  192. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/18.online_dispatch.md +0 -0
  193. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/19.monitor.md +0 -0
  194. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/20.monitor_performance_baseline.md +0 -0
  195. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/26.data_dump_PyTorch_baseline.md +0 -0
  196. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/27.dump_json_instruction.md +0 -0
  197. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/28.debugger_save_instruction.md +0 -0
  198. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/28.kernel_dump_MindSpore.md +0 -0
  199. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/29.data_dump_MSAdapter.md +0 -0
  200. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/30.overflow_check_MSAdapter.md +0 -0
  201. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/32.ckpt_compare.md +0 -0
  202. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/S02.report_free_benchmarking_validation_performance_baseline.md +0 -0
  203. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/accuracy_checker_MindSpore/accuracy_checker_MindSpore_baseline.md +0 -0
  204. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/data_dump_MindSpore/data_dump_MindSpore_baseline.md +0 -0
  205. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/data_dump_MindSpore/dynamic_graph_quick_start_example.md +0 -0
  206. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/BLOOM-7B_1.png +0 -0
  207. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/BLOOM-7B_2.png +0 -0
  208. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/BLOOM-7B_3.png +0 -0
  209. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/BLOOM-7B_4.png +0 -0
  210. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_1.png +0 -0
  211. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_2.png +0 -0
  212. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_3.png +0 -0
  213. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_4.png +0 -0
  214. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_5.png +0 -0
  215. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_6.png +0 -0
  216. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_7.png +0 -0
  217. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/GPT-3_8.png +0 -0
  218. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/YOLOV5S_1.png +0 -0
  219. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/YOLOV5S_2.png +0 -0
  220. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/accuracy_checking_details.png +0 -0
  221. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/accuracy_checking_result.png +0 -0
  222. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/api_precision_compare_details.png +0 -0
  223. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/api_precision_compare_result.png +0 -0
  224. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/auto_analyze_log.png +0 -0
  225. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/compare_result.png +0 -0
  226. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/compare_result_pkl.png +0 -0
  227. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/compare_result_pkl_md5.png.png +0 -0
  228. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/cpu_info.png +0 -0
  229. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/free_benchmark.png +0 -0
  230. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/free_benchmark_framework.png +0 -0
  231. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/grad_probe_image-1.png +0 -0
  232. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/grad_probe_image-2.png +0 -0
  233. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/grad_probe_image-3.png +0 -0
  234. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/grad_probe_image-4.png +0 -0
  235. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/grad_probe_image.png +0 -0
  236. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/merge_result.png +0 -0
  237. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/module_compare.png +0 -0
  238. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/monitor/cpu_info.png +0 -0
  239. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/monitor/step_count_per_record.png +0 -0
  240. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/ms_dump.png +0 -0
  241. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/pt_dump.png +0 -0
  242. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/save_compare_result_sample.png +0 -0
  243. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/fuzzy_match_ms.png +0 -0
  244. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/fuzzy_match_pt.png +0 -0
  245. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/proxy.png +0 -0
  246. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/tensorboard_1.png +0 -0
  247. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/tensorboard_2.png +0 -0
  248. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_browser_1.png +0 -0
  249. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_browser_2.png +0 -0
  250. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_match_info.png +0 -0
  251. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_precision_info.png +0 -0
  252. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_search_info.png +0 -0
  253. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_show_info.png +0 -0
  254. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_showcase.png +0 -0
  255. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/img/visualization/vis_unmatch_info.png +0 -0
  256. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/GPTModel.png +0 -0
  257. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/ParallelMLP.png +0 -0
  258. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/layer_mapping_example.md +0 -0
  259. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/mapping.png +0 -0
  260. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/mapping1.png +0 -0
  261. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/module_name.png +0 -0
  262. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/module_name1.png +0 -0
  263. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/no_mapping.png +0 -0
  264. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/no_mapping1.png +0 -0
  265. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/no_mapping_analyze.png +0 -0
  266. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/docs/visualization/top_layer.png +0 -0
  267. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/__init__.py +0 -0
  268. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/__init__.py +0 -0
  269. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/api_info.py +0 -0
  270. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/base_compare_algorithm.py +0 -0
  271. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py +0 -0
  272. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py +0 -0
  273. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/checker_support_api.yaml +0 -0
  274. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/cmd_parser.py +0 -0
  275. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/data_manager.py +0 -0
  276. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
  277. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/main.py +0 -0
  278. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/multi_api_accuracy_checker.py +0 -0
  279. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/multi_data_manager.py +0 -0
  280. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/type_mapping.py +0 -0
  281. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/api_accuracy_checker/utils.py +0 -0
  282. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/__init__.py +0 -0
  283. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/cmd_parser.py +0 -0
  284. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/graph.py +0 -0
  285. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/main.py +0 -0
  286. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/code_mapping/processor.py +0 -0
  287. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/common/const.py +0 -0
  288. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/common/log.py +0 -0
  289. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/compare/distributed_compare.py +0 -0
  290. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/compare/ms_compare.py +0 -0
  291. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/debugger/__init__.py +0 -0
  292. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/__init__.py +0 -0
  293. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/graph_mode_cell_dump.py +0 -0
  294. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/graph_tensor_dump.py +0 -0
  295. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/hook_cell/support_wrap_ops.yaml +0 -0
  296. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/dump/kernel_graph_dump.py +0 -0
  297. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/__init__.py +0 -0
  298. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/api_pynative_self_check.py +0 -0
  299. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/common/__init__.py +0 -0
  300. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/common/config.py +0 -0
  301. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/common/handler_params.py +0 -0
  302. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/common/utils.py +0 -0
  303. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/data/support_wrap_ops.yaml +0 -0
  304. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/handler/__init__.py +0 -0
  305. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/handler/base_handler.py +0 -0
  306. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/handler/check_handler.py +0 -0
  307. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/handler/fix_handler.py +0 -0
  308. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/handler/handler_factory.py +0 -0
  309. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/add_noise.py +0 -0
  310. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/base_perturbation.py +0 -0
  311. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/bit_noise.py +0 -0
  312. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/exchange_value.py +0 -0
  313. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/improve_precision.py +0 -0
  314. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/no_change.py +0 -0
  315. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/perturbation/perturbation_factory.py +0 -0
  316. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/free_benchmark/self_check_tool_factory.py +0 -0
  317. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/__init__.py +0 -0
  318. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/global_context.py +0 -0
  319. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/grad_monitor.py +0 -0
  320. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/grad_stat_csv.py +0 -0
  321. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/hook.py +0 -0
  322. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/grad_probe/utils.py +0 -0
  323. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/mindtorch/__init__.py +0 -0
  324. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/mindtorch/mindtorch_adaptor.py +0 -0
  325. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/data_writers.py +0 -0
  326. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/distributed/__init__.py +0 -0
  327. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/distributed/distributed_ops.yaml +0 -0
  328. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/distributed/stack_blacklist.yaml +0 -0
  329. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/monitor/distributed/wrap_distributed.py +0 -0
  330. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/overflow_check/__init__.py +0 -0
  331. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/overflow_check/kernel_graph_overflow_check.py +0 -0
  332. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/mindspore/task_handler_factory.py +0 -0
  333. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/msprobe.py +0 -0
  334. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/nan_analyze/__init__.py +0 -0
  335. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/nan_analyze/analyzer.py +0 -0
  336. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/nan_analyze/utils.py +0 -0
  337. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/__init__.py +0 -0
  338. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/.keep +0 -0
  339. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/__init__.py +0 -0
  340. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/common/.keep +0 -0
  341. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/common/__init__.py +0 -0
  342. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/common/config.py +0 -0
  343. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/common/utils.py +0 -0
  344. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/__init__.py +0 -0
  345. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/algorithm.py +0 -0
  346. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_compare.py +0 -0
  347. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_standard.yaml +0 -0
  348. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/api_precision_threshold.yaml +0 -0
  349. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/compare.py +0 -0
  350. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/compare_column.py +0 -0
  351. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/compare/compare_input.py +0 -0
  352. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/config.yaml +0 -0
  353. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/generate_op_script/config_op.json +0 -0
  354. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/generate_op_script/op_generator.py +0 -0
  355. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/generate_op_script/operator_replication.template +0 -0
  356. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/absolute_threshold.py +0 -0
  357. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/accumulative_error_compare.py +0 -0
  358. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/base_standard.py +0 -0
  359. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/benchmark_compare.py +0 -0
  360. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/binary_consistency.py +0 -0
  361. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_config.py +0 -0
  362. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/standard_register.py +0 -0
  363. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/thousandth_standard.py +0 -0
  364. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/precision_standard/ulp_compare.py +0 -0
  365. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/.keep +0 -0
  366. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/__init__.py +0 -0
  367. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/data_generate.py +0 -0
  368. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/run_overflow_check.py +0 -0
  369. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/run_ut_utils.py +0 -0
  370. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/run_ut/torch_ut_setting.json +0 -0
  371. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/__init__.py +0 -0
  372. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/attl.py +0 -0
  373. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/client.py +0 -0
  374. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/dump_dispatch.py +0 -0
  375. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/server.py +0 -0
  376. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/api_accuracy_checker/tensor_transport_layer/torch_ops_config.yaml +0 -0
  377. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/attl_manager.py +0 -0
  378. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/__init__.py +0 -0
  379. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/apply_adam.py +0 -0
  380. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/apply_adam_w.py +0 -0
  381. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/confusion_transpose.py +0 -0
  382. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/fast_gelu.py +0 -0
  383. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/group_norm_silu.py +0 -0
  384. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/layer_norm_eval.py +0 -0
  385. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/linear.py +0 -0
  386. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/matmul_backward.py +0 -0
  387. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/mish.py +0 -0
  388. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/moe_gating_top_k_softmax.py +0 -0
  389. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/npu_fusion_attention.py +0 -0
  390. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/rms_norm.py +0 -0
  391. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/rotary_mul.py +0 -0
  392. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/scaled_mask_softmax.py +0 -0
  393. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/sort_v2.py +0 -0
  394. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/bench_functions/swiglu.py +0 -0
  395. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/common/__init__.py +0 -0
  396. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/common/compare_script.template +0 -0
  397. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/common/log.py +0 -0
  398. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/common/parse_json.py +0 -0
  399. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/compare/distributed_compare.py +0 -0
  400. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/compare/mapping.yaml +0 -0
  401. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/compare/match.py +0 -0
  402. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/compare/utils.py +0 -0
  403. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/debugger/__init__.py +0 -0
  404. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/dump/module_dump/__init__.py +0 -0
  405. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/dump/module_dump/module_dump.py +0 -0
  406. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/__init__.py +0 -0
  407. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/__init__.py +0 -0
  408. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/constant.py +0 -0
  409. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/counter.py +0 -0
  410. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/enums.py +0 -0
  411. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/params.py +0 -0
  412. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/common/utils.py +0 -0
  413. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/compare/grad_saver.py +0 -0
  414. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/compare/single_benchmark.py +0 -0
  415. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/main.py +0 -0
  416. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/__init__.py +0 -0
  417. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/base_layer.py +0 -0
  418. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/layer_factory.py +0 -0
  419. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/__init__.py +0 -0
  420. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/add_noise.py +0 -0
  421. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/bit_noise.py +0 -0
  422. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/change_value.py +0 -0
  423. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/improve_precision.py +0 -0
  424. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/no_change.py +0 -0
  425. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/npu/npu_base_layser.py +0 -0
  426. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/perturbed_layers/run_cpu.py +0 -0
  427. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/__init__.py +0 -0
  428. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/check_handler.py +0 -0
  429. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/fix_handler.py +0 -0
  430. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/handler_factory.py +0 -0
  431. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/free_benchmark/result_handlers/preheat_handler.py +0 -0
  432. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/function_factory.py +0 -0
  433. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/grad_probe/__init__.py +0 -0
  434. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/grad_probe/grad_monitor.py +0 -0
  435. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/grad_probe/grad_stat_csv.py +0 -0
  436. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/__init__.py +0 -0
  437. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/jit_script_wrapper.py +0 -0
  438. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/register_optimizer_hook.py +0 -0
  439. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/support_wrap_ops.yaml +0 -0
  440. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/utils.py +0 -0
  441. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/hook_module/wrap_aten.py +0 -0
  442. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/__init__.py +0 -0
  443. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/data_writers.py +0 -0
  444. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/distributed/__init__.py +0 -0
  445. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/distributed/distributed_ops.yaml +0 -0
  446. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/distributed/stack_blacklist.yaml +0 -0
  447. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/distributed/wrap_distributed.py +0 -0
  448. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/monitor/visualizer.py +0 -0
  449. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/__init__.py +0 -0
  450. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/compare.py +0 -0
  451. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/single_compare.py +0 -0
  452. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/torch_ops_config.yaml +0 -0
  453. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/online_dispatch/utils.py +0 -0
  454. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/__init__.py +0 -0
  455. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/cli.py +0 -0
  456. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/__init__.py +0 -0
  457. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/compare.py +0 -0
  458. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/config.py +0 -0
  459. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/file_desc.py +0 -0
  460. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/interactive_cli.py +0 -0
  461. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/parse_exception.py +0 -0
  462. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/parse_tool.py +0 -0
  463. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/parse_tool/lib/visualization.py +0 -0
  464. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/pytorch/pt_config.py +0 -0
  465. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/__init__.py +0 -0
  466. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/builder/__init__.py +0 -0
  467. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/builder/graph_builder.py +0 -0
  468. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/builder/msprobe_adapter.py +0 -0
  469. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/compare/__init__.py +0 -0
  470. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/compare/graph_comparator.py +0 -0
  471. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/__init__.py +0 -0
  472. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/base_node.py +0 -0
  473. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/distributed_analyzer.py +0 -0
  474. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/graph.py +0 -0
  475. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/node_colors.py +0 -0
  476. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/msprobe/visualization/graph/node_op.py +0 -0
  477. {mindstudio_probe-8.1.0 → mindstudio_probe-8.1.2}/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.2
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.2
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.
@@ -83,6 +83,7 @@ msprobe/core/grad_probe/utils.py
83
83
  msprobe/core/kernel_dump/kernel_config.py
84
84
  msprobe/core/monitor/__init__.py
85
85
  msprobe/core/monitor/anomaly_processor.py
86
+ msprobe/core/monitor/utils.py
86
87
  msprobe/core/overflow_check/abnormal_scene.py
87
88
  msprobe/core/overflow_check/api_info.py
88
89
  msprobe/core/overflow_check/checker.py
@@ -218,7 +219,6 @@ msprobe/mindspore/api_accuracy_checker/type_mapping.py
218
219
  msprobe/mindspore/api_accuracy_checker/utils.py
219
220
  msprobe/mindspore/api_accuracy_checker/bench_functions/flash_attention_score.py
220
221
  msprobe/mindspore/api_accuracy_checker/bench_functions/fusion_operator.py
221
- msprobe/mindspore/api_accuracy_checker/generate_op_script/config_op.json
222
222
  msprobe/mindspore/api_accuracy_checker/generate_op_script/op_generator.py
223
223
  msprobe/mindspore/api_accuracy_checker/generate_op_script/operator_replication.template
224
224
  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
@@ -56,6 +56,9 @@ class Const:
56
56
  CPU_QUARTER = 4
57
57
  DUMP_MAX_DEPTH = 50
58
58
 
59
+ EXTERN_INPUT_LIST_MAX_LEN = 100
60
+ MAX_PROCESS_NUM = 128
61
+
59
62
  # dump mode
60
63
  ALL = "all"
61
64
  LIST = "list"
@@ -681,6 +684,7 @@ class FileCheckConst:
681
684
  MAX_IR_SIZE = 1073741824 # 1 * 1024 * 1024 * 1024
682
685
  MAX_ZIP_SIZE = 10737418240 # 10 * 1024 * 1024 * 1024
683
686
  MAX_FILE_IN_ZIP_SIZE = 1073741824 # 1 * 1024 * 1024 * 1024
687
+ MAX_FILE_SIZE = 1073741824 # 1 * 1024 * 1024 * 1024
684
688
  COMMOM_FILE_SIZE = 1048576 # 1 * 1024 * 1024
685
689
  DIR = "dir"
686
690
  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()
@@ -384,7 +384,7 @@ def check_file_type(path):
384
384
  elif os.path.isfile(path):
385
385
  return FileCheckConst.FILE
386
386
  else:
387
- logger.error(f'{path} does not exist, please check!')
387
+ logger.error(f'path does not exist, please check!')
388
388
  raise FileCheckException(FileCheckException.INVALID_FILE_ERROR)
389
389
 
390
390
 
@@ -460,6 +460,43 @@ def save_excel(path, data):
460
460
  return "list"
461
461
  raise ValueError("Data must be a DataFrame or a list of (DataFrame, sheet_name) pairs.")
462
462
 
463
+ def check_value_is_valid(value: str) -> bool:
464
+ if not isinstance(value, str):
465
+ return True
466
+ try:
467
+ # -1.00 or +1.00 should be considered as digit numbers
468
+ float(value)
469
+ except ValueError:
470
+ # otherwise, they will be considered as formular injections
471
+ return not bool(re.compile(FileCheckConst.CSV_BLACK_LIST).search(value))
472
+ return True
473
+
474
+ def malicious_check(df):
475
+ for row_name in df.index:
476
+ if not check_value_is_valid(row_name):
477
+ raise RuntimeError(f"Malicious value [{row_name}] not allowed to be written into the excel: {path}.")
478
+
479
+ for col_name in df.columns:
480
+ if not check_value_is_valid(col_name):
481
+ raise RuntimeError(f"Malicious value [{col_name}] not allowed to be written into the excel: {path}.")
482
+
483
+ for _, row in df.iterrows():
484
+ for _, value in row.items():
485
+ if not check_value_is_valid(value):
486
+ raise RuntimeError(f"Malicious value [{value}] not allowed to be written into the excel: {path}.")
487
+
488
+ def save_in_slice(df, base_name):
489
+ malicious_check(df)
490
+ df_length = len(df)
491
+ if df_length < CompareConst.MAX_EXCEL_LENGTH:
492
+ df.to_excel(writer, sheet_name=base_name if base_name else 'Sheet1', index=False)
493
+ else:
494
+ slice_num = (df_length + CompareConst.MAX_EXCEL_LENGTH - 1) // CompareConst.MAX_EXCEL_LENGTH
495
+ slice_size = (df_length + slice_num - 1) // slice_num
496
+ for i in range(slice_num):
497
+ df.iloc[i * slice_size: min((i + 1) * slice_size, df_length)] \
498
+ .to_excel(writer, sheet_name=f'{base_name}_part_{i}' if base_name else f'part_{i}', index=False)
499
+
463
500
  check_path_before_create(path)
464
501
  path = os.path.realpath(path)
465
502
 
@@ -467,12 +504,12 @@ def save_excel(path, data):
467
504
  data_type = validate_data(data)
468
505
 
469
506
  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:
507
+ with pd.ExcelWriter(path) as writer:
508
+ if data_type == "single":
509
+ save_in_slice(data, None)
510
+ elif data_type == "list":
474
511
  for data_df, sheet_name in data:
475
- data_df.to_excel(writer, sheet_name=sheet_name, index=False)
512
+ save_in_slice(data_df, sheet_name)
476
513
  except Exception as e:
477
514
  logger.error(f'Save excel file "{os.path.basename(path)}" failed.')
478
515
  raise RuntimeError(f"Save excel file {path} failed.") from e
@@ -677,8 +714,23 @@ def os_walk_for_files(path, depth):
677
714
  return res
678
715
 
679
716
 
717
+ def check_zip_file(zip_file_path):
718
+ with zipfile.ZipFile(zip_file_path, 'r') as zip_file:
719
+ total_size = 0
720
+ if len(zip_file.infolist()) > FileCheckConst.MAX_FILE_IN_ZIP_SIZE:
721
+ raise ValueError(f"Too many files in {os.path.basename(zip_file_path)}")
722
+ for file_info in zip_file.infolist():
723
+ if file_info.file_size > FileCheckConst.MAX_FILE_SIZE:
724
+ raise ValueError(f"File {file_info.filename} is too large to extract")
725
+
726
+ total_size += file_info.file_size
727
+ if total_size > FileCheckConst.MAX_ZIP_SIZE:
728
+ raise ValueError(f"Total extracted size exceeds the limit of {FileCheckConst.MAX_ZIP_SIZE} bytes")
729
+
730
+
680
731
  def read_xlsx(file_path, sheet_name=None):
681
732
  check_file_or_directory_path(file_path)
733
+ check_zip_file(file_path)
682
734
  try:
683
735
  if sheet_name:
684
736
  result_df = pd.read_excel(file_path, keep_default_na=False, sheet_name=sheet_name)
@@ -719,6 +771,13 @@ def create_file_with_content(data, filepath):
719
771
  change_mode(filepath, FileCheckConst.DATA_FILE_AUTHORITY)
720
772
 
721
773
 
774
+ def check_file_whether_exist_or_not(filepath):
775
+ if os.path.exists(filepath):
776
+ check_file_or_directory_path(filepath)
777
+ else:
778
+ check_path_before_create(filepath)
779
+
780
+
722
781
  def add_file_to_zip(zip_file_path, file_path, arc_path=None):
723
782
  """
724
783
  Add a file to a ZIP archive, if zip does not exist, create one.
@@ -727,12 +786,13 @@ def add_file_to_zip(zip_file_path, file_path, arc_path=None):
727
786
  :param file_path: Path to the file to add
728
787
  :param arc_path: Optional path inside the ZIP archive where the file should be added
729
788
  """
789
+ check_file_or_directory_path(file_path)
730
790
  check_file_suffix(zip_file_path, FileCheckConst.ZIP_SUFFIX)
791
+ check_file_whether_exist_or_not(zip_file_path)
731
792
  check_file_size(file_path, FileCheckConst.MAX_FILE_IN_ZIP_SIZE)
732
793
  zip_size = os.path.getsize(zip_file_path) if os.path.exists(zip_file_path) else 0
733
794
  if zip_size + os.path.getsize(file_path) > FileCheckConst.MAX_ZIP_SIZE:
734
795
  raise RuntimeError(f"ZIP file size exceeds the limit of {FileCheckConst.MAX_ZIP_SIZE} bytes")
735
- check_path_before_create(zip_file_path)
736
796
  try:
737
797
  proc_lock.acquire()
738
798
  with zipfile.ZipFile(zip_file_path, 'a') as zip_file:
@@ -754,7 +814,7 @@ def create_file_in_zip(zip_file_path, file_name, content):
754
814
  :param content: Content to write to the file
755
815
  """
756
816
  check_file_suffix(zip_file_path, FileCheckConst.ZIP_SUFFIX)
757
- check_path_before_create(zip_file_path)
817
+ check_file_whether_exist_or_not(zip_file_path)
758
818
  zip_size = os.path.getsize(zip_file_path) if os.path.exists(zip_file_path) else 0
759
819
  if zip_size + sys.getsizeof(content) > FileCheckConst.MAX_ZIP_SIZE:
760
820
  raise RuntimeError(f"ZIP file size exceeds the limit of {FileCheckConst.MAX_ZIP_SIZE} bytes")
@@ -781,26 +841,22 @@ def extract_zip(zip_file_path, extract_dir):
781
841
  :param extract_dir: Directory to extract the contents to
782
842
  """
783
843
  check_file_suffix(zip_file_path, FileCheckConst.ZIP_SUFFIX)
844
+ check_file_or_directory_path(zip_file_path)
845
+ create_directory(extract_dir)
784
846
  try:
785
847
  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")
848
+ check_zip_file(zip_file_path)
797
849
  except Exception as e:
798
850
  logger.error(f'Save content to file "{os.path.basename(zip_file_path)}" failed.')
799
851
  raise RuntimeError(f"Save content to file {os.path.basename(zip_file_path)} failed.") from e
800
852
  finally:
801
853
  proc_lock.release()
802
- with zipfile.ZipFile(zip_file_path, 'r') as zip_file:
803
- zip_file.extractall(extract_dir)
854
+ try:
855
+ with zipfile.ZipFile(zip_file_path, 'r') as zip_file:
856
+ zip_file.extractall(extract_dir)
857
+ except Exception as e:
858
+ raise RuntimeError(f"extract zip file {os.path.basename(zip_file_path)} failed") from e
859
+ recursive_chmod(extract_dir)
804
860
 
805
861
 
806
862
  def split_zip_file_path(zip_file_path):
@@ -877,7 +933,8 @@ class SharedDict:
877
933
  self._shm = shared_memory.SharedMemory(create=False, name=name)
878
934
  except FileNotFoundError:
879
935
  try:
880
- self._shm = shared_memory.SharedMemory(create=True, name=name, size=1024 * 1024)
936
+ # 共享内存空间增加至5M
937
+ self._shm = shared_memory.SharedMemory(create=True, name=name, size=1024 * 1024 * 5)
881
938
  data = pickle.dumps({})
882
939
  self._shm.buf[0:len(data)] = bytearray(data)
883
940
  logger.debug(f'create shared memory, name: {name}')
@@ -892,6 +949,7 @@ class SharedDict:
892
949
  except Exception as e:
893
950
  logger.debug(f'shared dict is unreadable, reason: {e}, create new dict.')
894
951
  self._dict = {}
952
+ self._shm.buf[:] = bytearray(b'\x00' * len(self._shm.buf)) # 清空内存
895
953
  self._changed = True
896
954
 
897
955
 
@@ -14,21 +14,22 @@
14
14
  # limitations under the License.
15
15
 
16
16
  import collections
17
+ import functools
18
+ import inspect
17
19
  import os
18
20
  import re
19
- import subprocess
21
+ import threading
20
22
  import time
21
- import inspect
23
+ from collections import OrderedDict
22
24
  from datetime import datetime, timezone
23
25
 
24
26
  import numpy as np
25
27
 
26
- from msprobe.core.common.file_utils import (FileOpen, check_file_or_directory_path, load_json)
27
28
  from msprobe.core.common.const import Const, CompareConst
28
- from msprobe.core.common.log import logger
29
- from msprobe.core.common.exceptions import MsprobeException
30
29
  from msprobe.core.common.decorator import recursion_depth_decorator
31
-
30
+ from msprobe.core.common.exceptions import MsprobeException
31
+ from msprobe.core.common.file_utils import (FileOpen, check_file_or_directory_path, load_json)
32
+ from msprobe.core.common.log import logger
32
33
 
33
34
  device = collections.namedtuple('device', ['type', 'index'])
34
35
  prefixes = ['api_stack', 'list', 'range', 'acl']
@@ -112,6 +113,82 @@ class DumpException(MsprobeBaseException):
112
113
  return f"Dump Error Code {self.code}: {self.error_info}"
113
114
 
114
115
 
116
+ class ThreadSafe:
117
+ """
118
+ 线程安全控制工具类,提供三种使用方式:
119
+ 1.上下文管理器:with ThreadSafe()
120
+ 2.主动加锁与释放锁:ThreadSafe.acquire()/ThreadSafe.release()
121
+ 3.方法装饰器:@ThreadSafe.synchronized
122
+ """
123
+ _lock = threading.RLock()
124
+
125
+ def __enter__(self):
126
+ self.__class__._lock.acquire()
127
+
128
+ def __exit__(self, exc_type, exc_val, exc_tb):
129
+ self.__class__._lock.release()
130
+
131
+ @classmethod
132
+ def acquire(cls):
133
+ cls._lock.acquire()
134
+
135
+ @classmethod
136
+ def release(cls):
137
+ cls._lock.release()
138
+
139
+ @classmethod
140
+ def synchronized(cls, func):
141
+ @functools.wraps(func)
142
+ def wrapper(*args, **kwargs):
143
+ with cls._lock:
144
+ return func(*args, **kwargs)
145
+
146
+ return wrapper
147
+
148
+
149
+ class ModuleQueue:
150
+ def __init__(self):
151
+ self.queue = OrderedDict()
152
+
153
+ def add_name(self, name):
154
+ self.queue[name] = True
155
+
156
+ def remove_name(self, name):
157
+ if name in self.queue:
158
+ del self.queue[name]
159
+
160
+ def find_last(self, name):
161
+ """
162
+ 在队列中找到当前 Module/Cell 的父节点名称并返回,若找不到则返回None
163
+
164
+ Args:
165
+ name: 需要寻找父节点的 Module/Cell 的名称
166
+
167
+ Returns:
168
+ 返回父节点名称,找不到则返回None
169
+
170
+ Examples:
171
+ 父节点名称格式: Module.module1.module1.forward.0
172
+ 子节点名称格式: Module.module1.module2.Module2.forward.0
173
+ 匹配关系: Module/Cell 的名称总能被点(.)分割符分成5个部分及以上,子节点截断后4个点和父节点截断后3个点的前缀名称是匹配的
174
+ """
175
+ child_parts = name.split('.')
176
+ if len(child_parts) < 5:
177
+ return None
178
+ child_name_prefix = '.'.join(child_parts[:-4])
179
+ if child_name_prefix in Const.MODULE_PREFIX:
180
+ return None
181
+
182
+ for parent_name in reversed(self.queue):
183
+ parent_parts = parent_name.split('.')
184
+ if len(parent_parts) < 5:
185
+ return None
186
+ parent_name_prefix = '.'.join(parent_parts[:-3])
187
+ if parent_name_prefix == child_name_prefix:
188
+ return parent_name
189
+ return None
190
+
191
+
115
192
  def is_json_file(file_path):
116
193
  if isinstance(file_path, str) and file_path.lower().endswith('.json'):
117
194
  return True
@@ -156,9 +233,10 @@ def check_compare_param(input_param, output_path, dump_mode, stack_mode):
156
233
 
157
234
  def check_configuration_param(stack_mode=False, auto_analyze=True, fuzzy_match=False, is_print_compare_log=True):
158
235
  arg_list = [stack_mode, auto_analyze, fuzzy_match, is_print_compare_log]
159
- for arg in arg_list:
236
+ arg_names = ['stack_mode', 'auto_analyze', 'fuzzy_match', 'is_print_compare_log']
237
+ for arg, name in zip(arg_list, arg_names):
160
238
  if not isinstance(arg, bool):
161
- logger.error(f"Invalid input parameter, {arg} which should be only bool type.")
239
+ logger.error(f"Invalid input parameter, {name} which should be only bool type.")
162
240
  raise CompareException(CompareException.INVALID_PARAM_ERROR)
163
241
 
164
242
 
@@ -282,9 +360,9 @@ def set_dump_path(input_param):
282
360
  npu_path = input_param.get("npu_json_path", None)
283
361
  bench_path = input_param.get("bench_json_path", None)
284
362
  dump_json_path_valid = npu_path is not None and npu_path.endswith("dump.json") and \
285
- bench_path is not None and bench_path.endswith("dump.json")
363
+ bench_path is not None and bench_path.endswith("dump.json")
286
364
  debug_json_path_valid = npu_path is not None and npu_path.endswith("debug.json") and \
287
- bench_path is not None and bench_path.endswith("debug.json")
365
+ bench_path is not None and bench_path.endswith("debug.json")
288
366
  if not dump_json_path_valid and not debug_json_path_valid:
289
367
  logger.error(f"Please check the json path is valid and ensure that neither npu_path nor bench_path is None.")
290
368
  raise CompareException(CompareException.INVALID_PATH_ERROR)
@@ -303,6 +381,21 @@ def get_file_type(file_path):
303
381
  return file_type
304
382
 
305
383
 
384
+ def check_dump_json_key(json_data, device_type):
385
+ task = json_data.get('task', None)
386
+ if not task:
387
+ logger.error(f"Task for {device_type} is empty, please check.")
388
+ raise CompareException(CompareException.INVALID_TASK_ERROR)
389
+ if 'data' not in json_data:
390
+ logger.error(f"Missing 'data' in dump.json, please check dump.json of {device_type}.")
391
+ raise CompareException(CompareException.INVALID_DATA_ERROR)
392
+ api_data = json_data.get('data')
393
+ if not isinstance(api_data, dict):
394
+ logger.error(f"Invalid type for 'data': expected a dict. Please check dump.json of {device_type}.")
395
+ raise CompareException(CompareException.INVALID_DATA_ERROR)
396
+ return task, api_data
397
+
398
+
306
399
  def get_dump_mode(input_param):
307
400
  npu_path = input_param.get("npu_json_path", None)
308
401
  bench_path = input_param.get("bench_json_path", None)
@@ -310,12 +403,8 @@ def get_dump_mode(input_param):
310
403
  bench_json_data = load_json(bench_path)
311
404
  json_type = get_file_type(file_path=npu_path)
312
405
 
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)
406
+ npu_task, npu_api_data = check_dump_json_key(npu_json_data, 'npu')
407
+ bench_task, bench_api_data = check_dump_json_key(bench_json_data, 'bench')
319
408
 
320
409
  if npu_task != bench_task:
321
410
  logger.error(f"Please check the dump task is consistent.")
@@ -328,8 +417,8 @@ def get_dump_mode(input_param):
328
417
  return Const.STRUCTURE
329
418
 
330
419
  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)
420
+ npu_md5_compare = md5_find(npu_api_data, json_type)
421
+ bench_md5_compare = md5_find(bench_api_data, json_type)
333
422
  if npu_md5_compare == bench_md5_compare:
334
423
  return Const.MD5 if npu_md5_compare else Const.SUMMARY
335
424
  else:
@@ -446,10 +535,10 @@ def get_real_step_or_rank(step_or_rank_input, obj):
446
535
  def check_init_step(step):
447
536
  if not is_int(step):
448
537
  raise MsprobeException(MsprobeException.INVALID_PARAM_ERROR,
449
- f"{step} must be an integer")
538
+ f"{step} must be an integer")
450
539
  if not step >= 0:
451
540
  raise MsprobeException(MsprobeException.INVALID_PARAM_ERROR,
452
- f"{step} must be greater than or equal to 0")
541
+ f"{step} must be greater than or equal to 0")
453
542
 
454
543
 
455
544
  def check_token_range(token_range):
@@ -557,14 +646,25 @@ def replace_last_occurrence(text, old, new):
557
646
 
558
647
  def load_stack_json(stack_path):
559
648
  stack_dict = load_json(stack_path)
649
+
650
+ if not isinstance(stack_dict, dict):
651
+ raise MsprobeException(
652
+ MsprobeException.INVALID_PARAM_ERROR,
653
+ "The format of the stack.json is incorrect, the outermost layer of stack.json should be a dict type."
654
+ )
655
+
560
656
  if not stack_dict.get(Const.NEW_STACK_FLAG):
561
657
  return stack_dict
562
658
 
563
659
  new_stack_dict = {}
564
660
  for stack_info in stack_dict.values():
565
- if len(stack_info) != 2:
661
+ if not isinstance(stack_info, list) or len(stack_info) != 2:
566
662
  continue
663
+
567
664
  api_list, stack_str = stack_info
665
+ if not isinstance(api_list, list):
666
+ continue
667
+
568
668
  for api_name in api_list:
569
669
  new_stack_dict.update({api_name: stack_str})
570
670
  return new_stack_dict
@@ -586,3 +686,18 @@ def analyze_api_call_stack(name):
586
686
  else:
587
687
  stack_str.append(Const.WITHOUT_CALL_STACK)
588
688
  return "".join(stack_str)
689
+
690
+
691
+ def check_extern_input_list(input_list):
692
+ if not isinstance(input_list, list):
693
+ raise Exception("input is not a list")
694
+ if len(input_list) > Const.EXTERN_INPUT_LIST_MAX_LEN:
695
+ raise Exception(f"input list exceed max length {Const.EXTERN_INPUT_LIST_MAX_LEN}")
696
+
697
+
698
+ def check_process_num(process_num):
699
+ if not is_int(process_num) or process_num <= 0:
700
+ raise ValueError(f"process_num({process_num}) is not a positive integer")
701
+ if process_num > Const.MAX_PROCESS_NUM:
702
+ raise ValueError(f"The maximum supported process_num is {Const.MAX_PROCESS_NUM}, current value: {process_num}.")
703
+
@@ -13,7 +13,9 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- from msprobe.core.common.const import Const, FileCheckConst
16
+ import re
17
+
18
+ from msprobe.core.common.const import Const
17
19
  from msprobe.core.common.log import logger
18
20
  from msprobe.core.common.exceptions import MsprobeException
19
21
  from msprobe.core.common.utils import get_real_step_or_rank
@@ -67,6 +69,7 @@ class BaseConfig:
67
69
  self.if_preheat = json_config.get("if_preheat")
68
70
  self.preheat_step = json_config.get("preheat_step")
69
71
  self.max_sample = json_config.get("max_sample")
72
+ self.is_regex_valid = True
70
73
 
71
74
  @staticmethod
72
75
  def _check_str_list_config(config_item, config_name):
@@ -83,6 +86,7 @@ class BaseConfig:
83
86
  self._check_str_list_config(self.scope, "scope")
84
87
  self._check_str_list_config(self.list, "list")
85
88
  self._check_data_mode()
89
+ self._check_regex_in_list()
86
90
 
87
91
  def _check_data_mode(self):
88
92
  if self.data_mode is not None:
@@ -118,3 +122,13 @@ class BaseConfig:
118
122
  f"summary_mode is invalid, summary_mode is not in {Const.SUMMARY_MODE}.",
119
123
  MsprobeException(MsprobeException.INVALID_PARAM_ERROR)
120
124
  )
125
+
126
+ def _check_regex_in_list(self):
127
+ if self.list:
128
+ for name in self.list:
129
+ if name.startswith('name-regex(') and name.endswith(')'):
130
+ try:
131
+ re.compile(name[len('name-regex('):-1])
132
+ except re.error:
133
+ self.is_regex_valid = False
134
+ break
@@ -31,7 +31,7 @@ from msprobe.core.common.utils import CompareException, add_time_with_xlsx, chec
31
31
  set_dump_path, get_dump_mode, check_compare_param, check_configuration_param, load_stack_json, get_file_type
32
32
  from msprobe.core.compare.check import check_dump_json_str, check_stack_json_str, cross_dtype_mapping
33
33
  from msprobe.core.compare.utils import merge_tensor, print_compare_ends_info, read_op, \
34
- reorder_op_x_list, set_stack_json_path
34
+ reorder_op_x_list, set_stack_json_path, check_api_info_len
35
35
  from msprobe.core.compare.config import ModeConfig, MappingConfig, MappingDict
36
36
  from msprobe.core.compare.multiprocessing_compute import CompareRealData
37
37
  from msprobe.core.compare.highlight import HighLight
@@ -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:
@@ -206,25 +211,37 @@ class ParseData:
206
211
  for index, op_name in enumerate(op_name_reorder):
207
212
  result[CompareConst.OP_NAME].append(op_name)
208
213
  if (CompareConst.INPUT_PATTERN in op_name) or (CompareConst.KWARGS_PATTERN in op_name):
209
- struct = merge_list[CompareConst.INPUT_STRUCT].pop(0)
214
+ info_list = merge_list[CompareConst.INPUT_STRUCT]
210
215
  elif CompareConst.OUTPUT_PATTERN in op_name:
211
- struct = merge_list[CompareConst.OUTPUT_STRUCT].pop(0)
216
+ info_list = merge_list[CompareConst.OUTPUT_STRUCT]
212
217
  elif CompareConst.PARAMS_PATTERN in op_name:
213
- struct = merge_list[CompareConst.PARAMS_STRUCT].pop(0)
218
+ info_list = merge_list[CompareConst.PARAMS_STRUCT]
214
219
  elif CompareConst.PARAMS_GRAD_PATTERN in op_name:
215
- struct = merge_list[CompareConst.PARAMS_GRAD_STRUCT].pop(0)
220
+ info_list = merge_list[CompareConst.PARAMS_GRAD_STRUCT]
216
221
  else:
217
- struct = merge_list[CompareConst.DEBUG_STRUCT].pop(0)
222
+ info_list = merge_list[CompareConst.DEBUG_STRUCT]
223
+ check_api_info_len(op_name, info_list, 1)
224
+ struct = info_list.pop(0)
225
+
226
+ check_api_info_len(op_name, struct, 2)
218
227
  result[Const.DTYPE].append(struct[0])
219
228
  result[Const.SHAPE].append(struct[1])
220
229
  if self.mode_config.dump_mode == Const.MD5:
230
+ check_api_info_len(op_name, struct, 3)
221
231
  result[Const.MD5].append(struct[2])
232
+
233
+ check_api_info_len(op_name, summary_reorder, 1)
222
234
  result[Const.SUMMARY].append(summary_reorder.pop(0))
223
- result[Const.STACK_INFO].append(
224
- merge_list[Const.STACK_INFO][0] if index == 0 and self.mode_config.stack_mode else None)
235
+
236
+ if index == 0 and self.mode_config.stack_mode:
237
+ check_api_info_len(op_name, merge_list[Const.STACK_INFO], 1)
238
+ result[Const.STACK_INFO].append(merge_list[Const.STACK_INFO][0])
239
+ else:
240
+ result[Const.STACK_INFO].append(None)
241
+
225
242
  if self.mode_config.dump_mode == Const.ALL:
243
+ check_api_info_len(op_name, data_name_reorder, 1)
226
244
  result['data_name'].append(data_name_reorder.pop(0))
227
-
228
245
  progress_bar.update(1)
229
246
  progress_bar.close()
230
247
  return pd.DataFrame(result)
@@ -599,8 +616,12 @@ class CreateTable:
599
616
  npu_summary = [CompareConst.NPU_MAX, CompareConst.NPU_MIN, CompareConst.NPU_MEAN, CompareConst.NPU_NORM]
600
617
  bench_summary = [CompareConst.BENCH_MAX, CompareConst.BENCH_MIN, CompareConst.BENCH_MEAN,
601
618
  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()
619
+ if result.empty:
620
+ result[npu_summary] = pd.DataFrame(columns=npu_summary)
621
+ result[bench_summary] = pd.DataFrame(columns=bench_summary)
622
+ else:
623
+ result[npu_summary] = result['summary_x'].apply(self.set_summary).tolist()
624
+ result[bench_summary] = result['summary_y'].apply(self.set_summary).tolist()
604
625
 
605
626
  result_df = pd.DataFrame(columns=header)
606
627
  for h in header: