开发者指南

本文面向 MindStudio Probe 的开发和维护人员,介绍源码目录、构建方式、功能开发流程、功能改动后的验证方法,以及资料联动更新要求。本文重点结合 MindStudio Probe 当前仓库和现有文档内容编写,适用于新增命令参数、扩展工具能力、增加交付件或维护软件包安装方式等场景。

1. MindStudio Probe 开发概述

MindStudio Probe 提供 AI 任务运行精度数据的采集、预检与比对等能力。围绕开发工作,通常可以分为以下几类:

开发对象

典型内容

采集能力

包括训练和推理模块的精度数据采集能力

预检能力

msprobe acc_checkmsprobe multi_acc_check

比对能力

msprobe compare、msprobe compare -m atb/offline_modelmsprobe graph_visualize

溢出检测

msprobe overflow_check

扩展功能

训练前配置检查、训练状态监测、 checkpoint比对、趋势可视化等

文档资料

安装指南、快速入门、功能说明、数据文件参考、扩展功能

2. 代码目录

根据当前仓库资料,msProbe 项目主要目录如下:

目录

说明

ccsrc

C/C++源码目录

cmake

存放解析C化部分cmake文件

docs

文档目录

examples

工具配置样例存放目录

output

交付件生成目录

plugins

插件类代码总入口

python/msprobe/core

工具核心功能模块

python/msprobe/infer

推理工具模块

python/msprobe/mindspore

MindSpore工具模块

python/msprobe/msaccucmp

msaccucmp工具模块

python/msprobe/overflow_check

溢出检测模块

python/msprobe/pytorch

PyTorch工具模块

python/msprobe/visualization

可视化模块

scripts

存放安装卸载升级脚本

test

测试代码目录

docs/zh

中文文档

3. 开发环境配置

3.1 基础软件

软件名

版本要求

用途

PyCharm(推荐)/ VS Code

无硬性要求

编写和调试 Python 代码

Python

3.8 及以上

主开发环境

pip

与 Python 配套

安装依赖和本地包

conda

无硬性要求

隔离开发依赖

wheel

最新稳定版

构建 whl 包

Git

无硬性要求

拉取、管理和提交代码

3.2 开发依赖

基础依赖定义在 docs/requirements.txt

其中核心运行依赖包括:

  • einops

  • matplotlib

  • numpy

  • onnx

  • onnxruntime

  • openpyxl

  • pandas

  • protobuf

  • pyyaml

  • rich

  • setuptools

  • skl2onnx

  • tensorboard

  • tqdm

  • wheel

3.3 推荐环境准备

建议在仓库根目录下使用虚拟环境进行开发:

conda create -n msprobe python=3.10
conda activate msprobe

4. 获取代码与构建

4.1 获取代码

git clone https://gitcode.com/Ascend/msprobe.git
cd msprobe

4.2 编译安装基础工具包

pip install setuptools wheel

python3 setup.py bdist_wheel
cd ./dist
pip install ./mindstudio_probe*.whl

编译工具包时还可以选择编译的功能模块,通过–include-mod参数配置,详见《msProbe工具安装指南

安装完成后,建议立即校验:

which msprobe
msprobe --help

5. 测试与验证

仓库提供了统一的单元测试入口:

cd test/msprobe_test
bash run_test.sh
  • 测试数据应该放在test/目录下的相应位置。

  • 运行测试后,代码覆盖率报告生成在./report目录下。

6. 文档联动更新

功能开发完成后,若改动影响用户使用方式或输出结果,需要同步更新文档。

改动类型

需同步更新的文档

安装、编译、升级方式

docs/zh/msprobe_install_guide.md

快速体验流程

docs/zh/quick_start

dump 功能

docs/zh/dump

精度预检功能

docs/zh/accuracy_checker

精度比对功能

docs/zh/accuracy_compare

溢出检测功能

docs/zh/overflow_check

性能基线文档

docs/zh/baseline

扩展功能或其他文档

docs/zh

若新增文档、截图或示意图:

  1. 图片统一放在 zh/figures

  2. 文件名应与功能语义对应。

  3. 正文中的图标题、路径、说明文字要同步更新。

7. 提交流程建议

  1. 在功能开发完成后,先执行本地安装验证。

  2. 至少完成一轮 UT,必要时补充 ST

  3. 若涉及用户可见行为变化,同步补充文档和示例命令。

  4. 若新增分析能力,说明其输入数据要求、输出文件和适用场景。