精度预检
前提条件
完成精度数据采集,得到MindSpore或PyTorch场景NPU环境的精度数据。
执行预检
- 数据准备。
- PyTorch场景将NPU环境下dump的精度数据拷贝至GPU环境。(用于保证预检执行的精度数据一致)
- MindSpore场景无需执行此步骤。
- 启动预检。
- MindSpore场景直接在NPU环境下执行预检。
msprobe -f mindspore run_ut -api_info ./dump_data/step0/rank/dump.json -o ./checker_result
- PyTorch场景分别在GPU和NPU环境下使用run_ut命令执行预检操作。(预检场景GPU环境需要使用NPU环境拷贝的精度数据)
msprobe -f pytorch run_ut -api_info ./dump_data/step0/rank/dump.json -o ./checker_result
出现Successfully completed run_ut/multi_run_ut日志表示预检完成,此时-o参数指定的路径下会生成两个csv文件,分别为accuracy_checking_details_{timestamp}.csv和accuracy_checking_result_{timestamp}.csv。
- MindSpore场景直接在NPU环境下执行预检。
- 预检结果比对。(仅PyTorch场景支持)
将NPU和GPU的预检结果进行比对,查看NPU中是否存在精度问题的API。
可以将GPU上的accuracy_checking_details_{timestamp}.csv文件传到NPU环境,执行如下命令。msprobe -f pytorch api_precision_compare -npu ./npu/accuracy_checking_details_{timestamp}.csv -gpu ./gpu/accuracy_checking_details_{timestamp}.csv -o ./compare_result/accuracy_checking
- 预检结果分析。(仅PyTorch场景支持)
api_precision_compare会在./compare_result/accuracy_checking目录下生成两个csv文件。
父主题: 模型精度调试