From 8c13f7a69023ca10e49590cfb79ca11df1015a0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=A4=A9?= Date: Wed, 9 Aug 2023 08:18:06 +0000 Subject: [PATCH 1/5] =?UTF-8?q?update=20debug/accuracy=5Ftools/api=5Faccur?= =?UTF-8?q?acy=5Fchecker/Ascend=E6=A8=A1=E5=9E=8B=E7=B2=BE=E5=BA=A6?= =?UTF-8?q?=E9=A2=84=E6=A3=80=E5=B7=A5=E5=85=B7=E4=BD=BF=E7=94=A8=E6=96=B9?= =?UTF-8?q?=E6=B3=95.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李天 --- ...\267\344\275\277\347\224\250\346\226\271\346\263\225.md" | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git "a/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" "b/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" index a72e23484c..928d8c1211 100644 --- "a/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" +++ "b/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" @@ -17,7 +17,7 @@ export PYTHONPATH=$PYTHONPATH:{att_root}/debug/accuracy_tools/ ``` -2. 在工具中加入以下代码使用工具dump模块,启动训练抓取网络所有API信息 +2. 在训练脚本(如main.py)中加入以下代码导入工具dump模块,启动训练即可自动抓取网络所有API信息 ``` import api_accuracy_checker.dump @@ -28,7 +28,7 @@ Exception: Model pretest: exit after iteration 1. ``` -​ dump信息默认会存盘到./路径下,包括前向API信息forward_info_{pid}.json, 反向API信息backward_info_{pid}.json, 调用栈信息stack_info_{pid}.json。真实数据模式下还有forward_real_data和backward_real_data文件夹,里面有每个api输入的具体数值。forward_info与stack_info中的key值一一对应,用户可根据forward_info中API的key在stack_info中查询到其调用栈及代码行位置。 +​ dump信息默认会存盘到'./'路径下(相对于启动训练的路径),包括前向API信息forward_info_{pid}.json, 反向API信息backward_info_{pid}.json, 调用栈信息stack_info_{pid}.json。真实数据模式下还有forward_real_data和backward_real_data文件夹,里面有每个api输入的具体数值。forward_info与stack_info中的key值一一对应,用户可根据forward_info中API的key在stack_info中查询到其调用栈及代码行位置。 有需要的话,用户可以通过msCheckerConfig.update_config来配置dump路径以及启用真实数据模式(默认为关)。注意启用真实数据模式目前仅支持单卡,且会存盘较多数据,可能对磁盘空间有较大冲击。 ``` @@ -43,7 +43,7 @@ python run_ut.py -forward ./forward_info_0.json -backward ./backward_info_0.json ``` - forward和backward两个命令行参数根据实际存盘的json文件名配置。比对结果存盘路径默认是'./',可以在运行run_ut.py时通过 --out_path命令行参数配置。结果包括pretest_result.csv和pretest_details.csv两个文件。前者是api粒度的,标明每个api是否通过测试。建议用户先查看前者,对于其中没有通过测试的或者特定感兴趣的api,根据其API name字段在pretest_details.csv中查询其各个输出的达标情况以及比较指标。 + forward和backward两个命令行参数根据实际存盘的json文件名配置。比对结果存盘路径默认是'./'(相对于run_ut的路径),可以在运行run_ut.py时通过 --out_path命令行参数配置。结果包括pretest_result.csv和pretest_details.csv两个文件。前者是api粒度的,标明每个api是否通过测试。建议用户先查看前者,对于其中没有通过测试的或者特定感兴趣的api,根据其API name字段在pretest_details.csv中查询其各个输出的达标情况以及比较指标。 注意:目前API通过测试的标准是每个输出与标杆比对的余弦相似度大于0.99,pretest_details.csv中的相对误差供用户分析时使用。 -- Gitee From cd137a9e4da337d94cc324d9e390454cc8076197 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=A4=A9?= Date: Wed, 9 Aug 2023 08:37:52 +0000 Subject: [PATCH 2/5] =?UTF-8?q?update=20debug/accuracy=5Ftools/api=5Faccur?= =?UTF-8?q?acy=5Fchecker/Ascend=E6=A8=A1=E5=9E=8B=E7=B2=BE=E5=BA=A6?= =?UTF-8?q?=E9=A2=84=E6=A3=80=E5=B7=A5=E5=85=B7=E4=BD=BF=E7=94=A8=E6=96=B9?= =?UTF-8?q?=E6=B3=95.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李天 --- ...344\275\277\347\224\250\346\226\271\346\263\225.md" | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git "a/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" "b/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" index 928d8c1211..d19f1027ac 100644 --- "a/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" +++ "b/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" @@ -11,10 +11,10 @@ 1. 安装预检工具 - 将att仓代码下载到本地,并配置环境变量。假设att仓本地路径为 {att_root},环境变量应配置为 + 将att仓代码下载到本地,并配置环境变量。假设下载后att仓路径为 $ATT_HOME,环境变量应配置为 ``` - export PYTHONPATH=$PYTHONPATH:{att_root}/debug/accuracy_tools/ + export PYTHONPATH=$PYTHONPATH:$ATT_HOME/debug/accuracy_tools/ ``` 2. 在训练脚本(如main.py)中加入以下代码导入工具dump模块,启动训练即可自动抓取网络所有API信息 @@ -33,13 +33,15 @@ 有需要的话,用户可以通过msCheckerConfig.update_config来配置dump路径以及启用真实数据模式(默认为关)。注意启用真实数据模式目前仅支持单卡,且会存盘较多数据,可能对磁盘空间有较大冲击。 ``` from api_accuracy_checker.dump import msCheckerConfig - msCheckerConfig.update_config(dump_path="my/dump/path", real_data=True) # my/dump/path需配置为用户想要的api信息存盘路径,并且需要提前创建好 + msCheckerConfig.update_config(dump_path="my/dump/path", real_data=True) ``` +"my/dump/path" 需配置为用户想要的api信息存盘路径,并且需要提前创建好 + 3. 将上述信息输入给run_ut模块运行精度检测并比对,运行如下命令: ``` - cd run_ut + cd $ATT_HOME/debug/accuracy_tools/api_accuracy_checker/run_ut python run_ut.py -forward ./forward_info_0.json -backward ./backward_info_0.json ``` -- Gitee From 1edb1129bcbf0b616c139da6bbe829d152642be8 Mon Sep 17 00:00:00 2001 From: litian_drinksnow Date: Thu, 10 Aug 2023 14:34:30 +0800 Subject: [PATCH 3/5] =?UTF-8?q?readme=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" "b/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" index a72e23484c..56dad429fc 100644 --- "a/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" +++ "b/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" @@ -1,5 +1,5 @@ # Ascend模型精度预检工具 -模型精度预检工具会提取模型中所有的API前反向的信息,构造相应的API单元测试,将NPU输出与标杆比对,从而检测出精度有问题的API。 +Ascend模型精度预检工具能在昇腾NPU上扫描用户训练模型中所有API,给出它们精度情况的诊断和分析。工具会提取模型中所有的API前反向的信息,构造相应的API单元测试,将NPU输出与标杆比对,从而检测出精度有问题的API。 ## 工具特性 1. 落盘数据小 -- Gitee From dd313e2eaa9a109cc37d69349c2bb0d5bf98a72f Mon Sep 17 00:00:00 2001 From: litian_drinksnow Date: Thu, 10 Aug 2023 14:40:14 +0800 Subject: [PATCH 4/5] =?UTF-8?q?readme=20=E6=96=87=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../accuracy_tools/api_accuracy_checker/README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" => debug/accuracy_tools/api_accuracy_checker/README.md (100%) diff --git "a/debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" b/debug/accuracy_tools/api_accuracy_checker/README.md similarity index 100% rename from "debug/accuracy_tools/api_accuracy_checker/Ascend\346\250\241\345\236\213\347\262\276\345\272\246\351\242\204\346\243\200\345\267\245\345\205\267\344\275\277\347\224\250\346\226\271\346\263\225.md" rename to debug/accuracy_tools/api_accuracy_checker/README.md -- Gitee From c688b2bf4f7b0a791f5234089a738a4eb65ad60f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=A4=A9?= Date: Thu, 10 Aug 2023 06:45:22 +0000 Subject: [PATCH 5/5] update debug/accuracy_tools/api_accuracy_checker/README.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李天 --- debug/accuracy_tools/api_accuracy_checker/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/debug/accuracy_tools/api_accuracy_checker/README.md b/debug/accuracy_tools/api_accuracy_checker/README.md index 1a7a874546..230661e176 100644 --- a/debug/accuracy_tools/api_accuracy_checker/README.md +++ b/debug/accuracy_tools/api_accuracy_checker/README.md @@ -16,6 +16,10 @@ Ascend模型精度预检工具能在昇腾NPU上扫描用户训练模型中所 ``` export PYTHONPATH=$PYTHONPATH:$ATT_HOME/debug/accuracy_tools/ ``` + 安装依赖tqdm + ``` + pip3 install tqdm + ``` 2. 在训练脚本(如main.py)中加入以下代码导入工具dump模块,启动训练即可自动抓取网络所有API信息 -- Gitee