MindStudio模型训练场景精度比对全流程和结果分析( 四 )


MindStudio模型训练场景精度比对全流程和结果分析

文章插图
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
环境变量的解释如下表所示:
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
步骤四 执行训练生成dump数据 。
点击按钮开始训练
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
训练时控制台输出如下所示:
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
resnet目录下生成的数据文件展示如下:
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
在所有以“_Build.txt”为结尾的dump图文件中,查找“Iterator”这个关键词 。记住查找出的计算图文件名称,用于后续精度比对 。
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
如上图所示,“ge_proto_00000343_Build.txt”文件即是我们需要找到的计算图文件 。将此文件拷贝至用户家目录下,便于在执行比对操作时选择 。
打开上面找到的计算图文件,记录下第一个graph中的name字段值 。如下示例中 , 记录下“ge_default_20220926160231_NPU_61” 。
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
进入以时间戳命名的dump文件存放路径下,找到刚记录的名称为name值的文件夹 , 例如ge_default_20220926160231_NPU_61,则下图目录下的文件即为需要的dump数据文件:
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
五 比对操作在MindStudio菜单栏选择“Ascend > Model Accuracy Analyzer > New Task”,进入精度比对参数配置界面 。
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
配置tookit path,点击文件标识,如下图所示:
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
选择对应的版本,如5.1.RC2版本,单击ok:
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
单击next进入参数配置页面:
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
接着填写gpu和npu的数据的相关信息,如下图所示:
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
参数解释如下所示:
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
点击start:
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
结果展示:
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
如上图所示将Vector比对结果界面分为四个区域分别进行介绍 。
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
表1 精度比对分析界面字段说明
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
表2 散点分布图字段说明
MindStudio模型训练场景精度比对全流程和结果分析

文章插图
六、常见问题 & 解决方案汇总Q:tfdbg复制pt命令时执行出错
A:由于tfdbg将多行的pt命令识别为了单个命令,使得命令执行失败 。解决办法如下:
  1. 先退出tfdbg命令行
  2. 安装pexpect库 , 命令为 pip install pexpect --user(--user只针对普通用户,root用户是没有的)
  3. 进入resnet所在的目录 , cd ~/models/official/resnet
  4. 确保目录下有dump.txt文件,即生成的pt命令
  5. 编写下述代码,vim auto_run.py
import pexpectimport syscmd_line = 'python3 -u ./cifar10_main.py'tfdbg = pexpect.spawn(cmd_line)tfdbg.logfile = sys.stdout.buffertfdbg.expect('tfdbg>')tfdbg.sendline('run')pt_list = []with open('dump.txt', 'r') as f:for line in f:pt_list.append(line.strip('\n'))for pt in pt_list:tfdbg.expect('tfdbg>')tfdbg.sendline(pt)tfdbg.expect('tfdbg>')tfdbg.sendline('exit')6.保存退出vim , 执行python auto_run.py
七、从昇腾官方体验更多内容更多的疑问和信息可以在昇腾论坛进行讨论和交流:https://bbs.huaweicloud.com/forum/forum-726-1.html

推荐阅读