训练前配置检查
根据本手册的样例,需要将工具接口添加到训练脚本中进行配置检查。

当前是以MindSpore不同版本在同一环境下进行精度比对的场景为例,因此两个场景检查出的结果只会有版本号的不同,所以可跳过此步骤。
前提条件
完成模型开发&迁移(MindSpore),确保在所有示例的环境可正常完成训练任务。
环境准备
在昇腾NPU环境下安装msprobe工具,执行如下命令:
pip install mindstudio-probe
执行检查
操作步骤如下:
- 获取两个环境的zip包(包含影响训练精度的环境配置:环境变量、三方库版本、训练超参、权重、数据集、随机操作)。
分别以MindSpore 2.6.0和MindSpore 2.7.0执行以下操作。需要注意给两个zip包不同的命名。
在MindSpore训练前配置检查代码样例中插入如下代码,样例中已插入下列代码,直接拷贝使用即可。
- 在训练流程执行到的第一个Python脚本开始处插入如下代码。
1 2
1 from msprobe.core.config_check import ConfigChecker 2 ConfigChecker.apply_patches(fmk)
fmk:训练框架,string类型,可选"pytorch"和"mindspore",这里配置为"mindspore"。
- 在模型初始化好之后插入如下代码。
1 2
49 from msprobe.core.config_check import ConfigChecker 50 ConfigChecker(model, output_zip_path, fmk)
- model:初始化好的模型,默认不会采集权重和数据集。
- output_zip_path:输出zip包的路径,string类型,需要指定zip包的名称,默认为"./config_check_pack.zip"。
- fmk:训练框架。可选"pytorch"和"mindspore",这里配置为"mindspore"。
- 执行训练脚本命令。
python mindspore_main.py
采集完成后会得到一个zip包,里面包括各项影响精度的配置。分rank和step存储,其中step为micro_step。
- 在训练流程执行到的第一个Python脚本开始处插入如下代码。
- 将两个zip包传到同一个环境下,使用如下命令进行比对。
msprobe -f mindspore config_check -c bench_zip_path cmp_zip_path -o output_path
其中bench_zip_path为标杆侧采集到的zip包名称,cmp_zip_path为待对比侧采集到的zip包名称。
output_path默认为"./config_check_result"。
执行以上命令后,在output_path里会生成如下数据:
- bench:bench_zip_path里打包的数据。
- cmp:cmp_zip_path里打包的数据。
- result.xlsx:比对结果。会有多个sheet页,其中summary总览通过情况,其余页是具体检查项的详情,其中step为micro_step。
- 检查通过情况。
如下所示:
1 2 3 4 5 6
filename ass_check env TRUE pip FALSE dataset TRUE weights TRUE random TRUE
父主题: 模型精度调试(MindSpore)