From 96f7e5f03f9dff79487ca76d6ed2c20f7dff4312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Tue, 26 Oct 2021 06:28:51 +0000 Subject: [PATCH 01/36] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86-=E7=A6=BB=E7=BA=BF=E6=8E=A8=E7=90=86?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...50\347\220\206\346\214\207\345\257\274.md" | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" index 8b03184..4d41321 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" @@ -635,25 +635,25 @@ bs16: 310/t4=2078.536/1234.940=1.68倍 ### 2.3 精度调试指导 -1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 + 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 -2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 + 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 -3.注意如果使用的是910权重需要把训练适配的影响精度的代码移植到开源模型代码,因为是基于开源模型代码加910权重做推理 + 3.注意如果使用的是910权重需要把训练适配的影响精度的代码移植到开源模型代码,因为是基于开源模型代码加910权重做推理 -4.如果修改了开源模型代码,优先排查修改的代码或关键算子参数是否有问题或与训练使用的不一致 + 4.如果修改了开源模型代码,优先排查修改的代码或关键算子参数是否有问题或与训练使用的不一致 -5.如果导出的onnx可以推理,确定onnx精度是否达标 + 5.如果导出的onnx可以推理,确定onnx精度是否达标 -6.如果是om算子缺陷导致精度下降,则指定算子为om的输出节点,然后与在线推理时该算子(使用开源netron工具查看onnx模型算子,开启verbose导出onnx时会打印算子对应的py文件代码行)的输出对比,查看是否一致。二分法排查对比pytorch或onnx与om哪个算子输出不一致,需要保证条件是输入一样 + 6.如果是om算子缺陷导致精度下降,则指定算子为om的输出节点,然后与在线推理时该算子(使用开源netron工具查看onnx模型算子,开启verbose导出onnx时会打印算子对应的py文件代码行)的输出对比,查看是否一致。二分法排查对比pytorch或onnx与om哪个算子输出不一致,需要保证条件是输入一样 -7.pytorch模型在线推理支持模型输入的hw维是变化的,而om模型由于不支持动态算子暂需要固定输入的hw维,即每个预处理后输入样本的hw都是一样的。为了验证预处理等比例缩放加pad固定样本的hw维对精度的影响,可以修改开源模型代码评测脚本,加载预处理后的样本,然后替换掉model的输入再评测精度,后处理需要做相应适配恢复到原图,查看精度是否下降。同样为了验om模型输出的结果与后处理,可以修改开源模型代码评测脚本,加载om模型输出的结果,然后替换掉model的输出再评测精度,查看精度是否下降。 + 7.pytorch模型在线推理支持模型输入的hw维是变化的,而om模型由于不支持动态算子暂需要固定输入的hw维,即每个预处理后输入样本的hw都是一样的。为了验证预处理等比例缩放加pad固定样本的hw维对精度的影响,可以修改开源模型代码评测脚本,加载预处理后的样本,然后替换掉model的输入再评测精度,后处理需要做相应适配恢复到原图,查看精度是否下降。同样为了验om模型输出的结果与后处理,可以修改开源模型代码评测脚本,加载om模型输出的结果,然后替换掉model的输出再评测精度,查看精度是否下降。 -8.用替换法对比输入输出排查某个修改的或自定义或关键算子的影响,如果某算子导致精度下降问题,尝试是否可以修改模型使用其它方法替换掉该算子。 + 8.用替换法对比输入输出排查某个修改的或自定义或关键算子的影响,如果某算子导致精度下降问题,尝试是否可以修改模型使用其它方法替换掉该算子。 -[精度对比工具](https://gitee.com/ascend/tools/tree/master/msquickcmp) -[精度对比工具简洁版](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7/one_step_accuracy_cmp) -[精度调试专题](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%B2%BE%E5%BA%A6%E8%B0%83%E8%AF%95) + [精度对比工具](https://gitee.com/ascend/tools/tree/master/msquickcmp) + [精度对比工具简洁版](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7/one_step_accuracy_cmp) + [精度调试专题](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%B2%BE%E5%BA%A6%E8%B0%83%E8%AF%95) ### 2.4 性能优化指导 -- Gitee From bad03ea7b51f55697490b6b4b4bbb54fb70037df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Tue, 26 Oct 2021 06:29:53 +0000 Subject: [PATCH 02/36] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86-=E7=A6=BB=E7=BA=BF=E6=8E=A8=E7=90=86?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" index 4d41321..5aa05b9 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" @@ -635,7 +635,7 @@ bs16: 310/t4=2078.536/1234.940=1.68倍 ### 2.3 精度调试指导 - 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 + - 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 -- Gitee From 0312b8f018bc10335eeec2120b2840d212a27f20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Tue, 26 Oct 2021 06:30:50 +0000 Subject: [PATCH 03/36] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86-=E7=A6=BB=E7=BA=BF=E6=8E=A8=E7=90=86?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" index 5aa05b9..81cef92 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" @@ -634,8 +634,7 @@ bs16: 310/t4=2078.536/1234.940=1.68倍 [MindStudio可视化om模型](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/blob/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7/MindStudio%E5%B7%A5%E5%85%B7%E5%8F%AF%E8%A7%86%E5%8C%96om%E6%A8%A1%E5%9E%8B%E6%95%99%E7%A8%8B.docx) ### 2.3 精度调试指导 - - - 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 + 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 -- Gitee From 66ee4a9da2773a87f0f702696066faf6469a3577 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 07:59:22 +0000 Subject: [PATCH 04/36] add tmp. --- tmp | 1 + 1 file changed, 1 insertion(+) create mode 100644 tmp diff --git a/tmp b/tmp new file mode 100644 index 0000000..9808493 --- /dev/null +++ b/tmp @@ -0,0 +1 @@ +https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/Deit.zip/acl?prefix=model%2FATC%20Deit(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F \ No newline at end of file -- Gitee From afd7016fbf8a66486880ba9e987873b834b9674e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 08:03:09 +0000 Subject: [PATCH 05/36] update tmp. --- tmp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmp b/tmp index 9808493..9622f54 100644 --- a/tmp +++ b/tmp @@ -1 +1 @@ -https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/Deit.zip/acl?prefix=model%2FATC%20Deit(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F \ No newline at end of file +https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20Deit(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F \ No newline at end of file -- Gitee From 3f02a08b819329f5865d32a7aeb2d9d549d1e275 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 08:06:45 +0000 Subject: [PATCH 06/36] update tmp. --- tmp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tmp b/tmp index 9622f54..4aad0dc 100644 --- a/tmp +++ b/tmp @@ -1 +1,4 @@ -https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20Deit(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F \ No newline at end of file +https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20Deit(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F + +https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20FCN-8s(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F + -- Gitee From 6a81d579b6b07ff1ef3775c5392ec3947770dbc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 08:08:54 +0000 Subject: [PATCH 07/36] update tmp. --- tmp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tmp b/tmp index 4aad0dc..ccff0e6 100644 --- a/tmp +++ b/tmp @@ -2,3 +2,5 @@ https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/asc https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20FCN-8s(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F +https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20GhostNet1.0x(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F + -- Gitee From c623d25c4b667e02f8f437ff2418ebfb6d93fa5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 08:11:12 +0000 Subject: [PATCH 08/36] update tmp. --- tmp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tmp b/tmp index ccff0e6..7afc857 100644 --- a/tmp +++ b/tmp @@ -4,3 +4,5 @@ https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/asc https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20GhostNet1.0x(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F +https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20ICNet%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20ICNet(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F + -- Gitee From 202ffcf35bc0eac761d52b2592fbf5871080c215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 08:17:37 +0000 Subject: [PATCH 09/36] update tmp. --- tmp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tmp b/tmp index 7afc857..9b170b4 100644 --- a/tmp +++ b/tmp @@ -1,5 +1,4 @@ -https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20Deit(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F - +https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20FCN-8s(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20GhostNet1.0x(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F -- Gitee From 18f6e2ee46e81dc042ec0737e1a4d79784bc55cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 08:18:09 +0000 Subject: [PATCH 10/36] update tmp. --- tmp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tmp b/tmp index 9b170b4..cfe2000 100644 --- a/tmp +++ b/tmp @@ -1,6 +1,5 @@ https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip -https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20FCN-8s(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F - +https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20GhostNet1.0x(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20ICNet%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20ICNet(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F -- Gitee From 18b2d3ce0dbc431e5e7b13bb2cccbda3f206130a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 08:18:44 +0000 Subject: [PATCH 11/36] update tmp. --- tmp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tmp b/tmp index cfe2000..af05198 100644 --- a/tmp +++ b/tmp @@ -1,6 +1,5 @@ https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip -https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20GhostNet1.0x(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F - +https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20ICNet%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20ICNet(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F -- Gitee From 7ee2599794d1bdb9f1ccc36c1305e39dd5ae6705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 08:19:22 +0000 Subject: [PATCH 12/36] update tmp. --- tmp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tmp b/tmp index af05198..40859aa 100644 --- a/tmp +++ b/tmp @@ -1,5 +1,4 @@ https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip -https://console.huaweicloud.com/console/?region=MOS&locale=zh-cn#/obs/manage/ascend-repo-modelzoo/object/list/ATC%20ICNet%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip/acl?prefix=model%2FATC%20ICNet(FP16)%20from%20Pytorch%20-%20Ascend310%2Fzh%2F1.1%2F - +https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20ICNet%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20ICNet%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip -- Gitee From cb7b5638b2d25572bb97557d06f952190f64e51d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 08:28:53 +0000 Subject: [PATCH 13/36] update tmp. --- tmp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tmp b/tmp index 40859aa..f549f31 100644 --- a/tmp +++ b/tmp @@ -1,4 +1,7 @@ https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip + https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip + https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip + https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20ICNet%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20ICNet%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip -- Gitee From c8ac65663f973a9e52c9cc0b10ee8bc14787f3e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 08:36:01 +0000 Subject: [PATCH 14/36] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20tm?= =?UTF-8?q?p?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tmp | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 tmp diff --git a/tmp b/tmp deleted file mode 100644 index f549f31..0000000 --- a/tmp +++ /dev/null @@ -1,7 +0,0 @@ -https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20Deit%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip - -https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20FCN-8s%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip - -https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20GhostNet1.0x%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip - -https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20ICNet%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20ICNet%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip -- Gitee From 72315a055d70b1771105892f6b8274ec31cdb04d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 09:08:09 +0000 Subject: [PATCH 15/36] add tmp. --- tmp | 1 + 1 file changed, 1 insertion(+) create mode 100644 tmp diff --git a/tmp b/tmp new file mode 100644 index 0000000..02a546f --- /dev/null +++ b/tmp @@ -0,0 +1 @@ +https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20ViLBERT%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20ViLBERT%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip -- Gitee From 568fc93399da61dc398c4e04410dfa1923431a99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 09:34:19 +0000 Subject: [PATCH 16/36] update tmp. --- tmp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmp b/tmp index 02a546f..f4803c1 100644 --- a/tmp +++ b/tmp @@ -1 +1 @@ -https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20ViLBERT%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20ViLBERT%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip +https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20Jasper%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20Jasper%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip \ No newline at end of file -- Gitee From d2d1884dbcb28ac268d55eb91327a5bddd057595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 09:35:38 +0000 Subject: [PATCH 17/36] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20tm?= =?UTF-8?q?p?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tmp | 1 - 1 file changed, 1 deletion(-) delete mode 100644 tmp diff --git a/tmp b/tmp deleted file mode 100644 index f4803c1..0000000 --- a/tmp +++ /dev/null @@ -1 +0,0 @@ -https://ascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com/model/ATC%20Jasper%28FP16%29%20from%20Pytorch%20-%20Ascend310/zh/1.1/ATC%20Jasper%28FP16%29%20from%20Pytorch%20-%20Ascend310.zip \ No newline at end of file -- Gitee From 630781a7073fec94fab557e9c9f4f1b8c815b2f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:09:12 +0000 Subject: [PATCH 18/36] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86-=E7=A6=BB=E7=BA=BF=E6=8E=A8=E7=90=86?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\277\346\216\250\347\220\206\346\214\207\345\257\274.md" | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" index 81cef92..c2f2a42 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" @@ -633,10 +633,10 @@ bs16: 310/t4=2078.536/1234.940=1.68倍 [模型转换专题](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E5%8A%9F%E8%83%BD%E6%89%93%E9%80%9A) [MindStudio可视化om模型](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/blob/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7/MindStudio%E5%B7%A5%E5%85%B7%E5%8F%AF%E8%A7%86%E5%8C%96om%E6%A8%A1%E5%9E%8B%E6%95%99%E7%A8%8B.docx) -### 2.3 精度调试指导 - 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 +### 2.3 精度调试指导 + 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 - 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 + 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 3.注意如果使用的是910权重需要把训练适配的影响精度的代码移植到开源模型代码,因为是基于开源模型代码加910权重做推理 -- Gitee From 8eb356d3b10d178f8d13939e0d3c2066d18d587a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:11:11 +0000 Subject: [PATCH 19/36] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86-=E7=A6=BB=E7=BA=BF=E6=8E=A8=E7=90=86?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...72\277\346\216\250\347\220\206\346\214\207\345\257\274.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" index c2f2a42..2465628 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" @@ -636,7 +636,7 @@ bs16: 310/t4=2078.536/1234.940=1.68倍 ### 2.3 精度调试指导 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 - 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 + ```2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 3.注意如果使用的是910权重需要把训练适配的影响精度的代码移植到开源模型代码,因为是基于开源模型代码加910权重做推理 @@ -652,7 +652,7 @@ bs16: 310/t4=2078.536/1234.940=1.68倍 [精度对比工具](https://gitee.com/ascend/tools/tree/master/msquickcmp) [精度对比工具简洁版](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7/one_step_accuracy_cmp) - [精度调试专题](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%B2%BE%E5%BA%A6%E8%B0%83%E8%AF%95) + [精度调试专题](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%B2%BE%E5%BA%A6%E8%B0%83%E8%AF%95)``` ### 2.4 性能优化指导 -- Gitee From 3dd5dc43414b70a08f784655563581cc24e0204d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:13:14 +0000 Subject: [PATCH 20/36] add tmp.md. --- tmp.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 tmp.md diff --git a/tmp.md b/tmp.md new file mode 100644 index 0000000..58539e1 --- /dev/null +++ b/tmp.md @@ -0,0 +1,4 @@ +### 2.3 精度调试指导 + 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 + + 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From eec1dba47eb55392cd04315052018f89da5f39a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:13:28 +0000 Subject: [PATCH 21/36] update tmp.md. --- tmp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tmp.md b/tmp.md index 58539e1..febc834 100644 --- a/tmp.md +++ b/tmp.md @@ -1,4 +1,4 @@ ### 2.3 精度调试指导 - 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 +1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 - 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file +2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From 258d005256da256fe21c203b8f3277c22461ae9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:13:37 +0000 Subject: [PATCH 22/36] update tmp.md. --- tmp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tmp.md b/tmp.md index febc834..36ac081 100644 --- a/tmp.md +++ b/tmp.md @@ -1,4 +1,4 @@ ### 2.3 精度调试指导 -1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 + 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 -2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file + 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From 67b481fe06e01999a716cd11cdade2c4fbdfec9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:13:46 +0000 Subject: [PATCH 23/36] update tmp.md. --- tmp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmp.md b/tmp.md index 36ac081..2cdb630 100644 --- a/tmp.md +++ b/tmp.md @@ -1,4 +1,4 @@ ### 2.3 精度调试指导 - 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 + 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From f0979d12e5e3140e7bb75bcf138254867c1fab05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:13:56 +0000 Subject: [PATCH 24/36] update tmp.md. --- tmp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmp.md b/tmp.md index 2cdb630..bb90b29 100644 --- a/tmp.md +++ b/tmp.md @@ -1,4 +1,4 @@ ### 2.3 精度调试指导 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 - 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file + 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From 8bec0f2c5166ebf1386081e8dd432400ee81b61b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:14:08 +0000 Subject: [PATCH 25/36] update tmp.md. --- tmp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmp.md b/tmp.md index bb90b29..747a62c 100644 --- a/tmp.md +++ b/tmp.md @@ -1,4 +1,4 @@ ### 2.3 精度调试指导 - 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 + 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From 2777f9ddc7c8f39b25975bdc2778a71a774b07cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:14:21 +0000 Subject: [PATCH 26/36] update tmp.md. --- tmp.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tmp.md b/tmp.md index 747a62c..4073d70 100644 --- a/tmp.md +++ b/tmp.md @@ -1,4 +1,6 @@ ### 2.3 精度调试指导 + 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 - 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file + + 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From d210f85dfa0880edfa4f33fac09c364e556615f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:14:32 +0000 Subject: [PATCH 27/36] update tmp.md. --- tmp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmp.md b/tmp.md index 4073d70..ce97ef4 100644 --- a/tmp.md +++ b/tmp.md @@ -1,6 +1,6 @@ ### 2.3 精度调试指导 - 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 + - 据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From cfd6c7f6c02cb60dc0ff2500ae7f9204e7d9abb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:14:41 +0000 Subject: [PATCH 28/36] update tmp.md. --- tmp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tmp.md b/tmp.md index ce97ef4..8769799 100644 --- a/tmp.md +++ b/tmp.md @@ -3,4 +3,4 @@ - 据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 - 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file + - 以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From 2fca7d061092d2f8da3e73dcafc887d70aef360d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:15:07 +0000 Subject: [PATCH 29/36] update tmp.md. --- tmp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tmp.md b/tmp.md index 8769799..78b54a6 100644 --- a/tmp.md +++ b/tmp.md @@ -1,6 +1,6 @@ ### 2.3 精度调试指导 - - 据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 +- 据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 - - 以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file +- 以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From 6c02e9bf9a8a5bd4a466b6dd575915d56ece4c5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:15:19 +0000 Subject: [PATCH 30/36] update tmp.md. --- tmp.md | 1 + 1 file changed, 1 insertion(+) diff --git a/tmp.md b/tmp.md index 78b54a6..e02ab0e 100644 --- a/tmp.md +++ b/tmp.md @@ -1,6 +1,7 @@ ### 2.3 精度调试指导 - 据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 + fd - 以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From e42f763232df19a0e2118ce001d9a60ddfa221f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:16:13 +0000 Subject: [PATCH 31/36] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86-=E7=A6=BB=E7=BA=BF=E6=8E=A8=E7=90=86?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...50\347\220\206\346\214\207\345\257\274.md" | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" index 2465628..8c68306 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" @@ -633,26 +633,26 @@ bs16: 310/t4=2078.536/1234.940=1.68倍 [模型转换专题](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E5%8A%9F%E8%83%BD%E6%89%93%E9%80%9A) [MindStudio可视化om模型](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/blob/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7/MindStudio%E5%B7%A5%E5%85%B7%E5%8F%AF%E8%A7%86%E5%8C%96om%E6%A8%A1%E5%9E%8B%E6%95%99%E7%A8%8B.docx) -### 2.3 精度调试指导 - 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 +### 2.3 精度调试指导 +- 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 - ```2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 +- 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 - 3.注意如果使用的是910权重需要把训练适配的影响精度的代码移植到开源模型代码,因为是基于开源模型代码加910权重做推理 +- 3.注意如果使用的是910权重需要把训练适配的影响精度的代码移植到开源模型代码,因为是基于开源模型代码加910权重做推理 - 4.如果修改了开源模型代码,优先排查修改的代码或关键算子参数是否有问题或与训练使用的不一致 +- 4.如果修改了开源模型代码,优先排查修改的代码或关键算子参数是否有问题或与训练使用的不一致 - 5.如果导出的onnx可以推理,确定onnx精度是否达标 +- 5.如果导出的onnx可以推理,确定onnx精度是否达标 - 6.如果是om算子缺陷导致精度下降,则指定算子为om的输出节点,然后与在线推理时该算子(使用开源netron工具查看onnx模型算子,开启verbose导出onnx时会打印算子对应的py文件代码行)的输出对比,查看是否一致。二分法排查对比pytorch或onnx与om哪个算子输出不一致,需要保证条件是输入一样 +- 6.如果是om算子缺陷导致精度下降,则指定算子为om的输出节点,然后与在线推理时该算子(使用开源netron工具查看onnx模型算子,开启verbose导出onnx时会打印算子对应的py文件代码行)的输出对比,查看是否一致。二分法排查对比pytorch或onnx与om哪个算子输出不一致,需要保证条件是输入一样 - 7.pytorch模型在线推理支持模型输入的hw维是变化的,而om模型由于不支持动态算子暂需要固定输入的hw维,即每个预处理后输入样本的hw都是一样的。为了验证预处理等比例缩放加pad固定样本的hw维对精度的影响,可以修改开源模型代码评测脚本,加载预处理后的样本,然后替换掉model的输入再评测精度,后处理需要做相应适配恢复到原图,查看精度是否下降。同样为了验om模型输出的结果与后处理,可以修改开源模型代码评测脚本,加载om模型输出的结果,然后替换掉model的输出再评测精度,查看精度是否下降。 +- 7.pytorch模型在线推理支持模型输入的hw维是变化的,而om模型由于不支持动态算子暂需要固定输入的hw维,即每个预处理后输入样本的hw都是一样的。为了验证预处理等比例缩放加pad固定样本的hw维对精度的影响,可以修改开源模型代码评测脚本,加载预处理后的样本,然后替换掉model的输入再评测精度,后处理需要做相应适配恢复到原图,查看精度是否下降。同样为了验om模型输出的结果与后处理,可以修改开源模型代码评测脚本,加载om模型输出的结果,然后替换掉model的输出再评测精度,查看精度是否下降。 - 8.用替换法对比输入输出排查某个修改的或自定义或关键算子的影响,如果某算子导致精度下降问题,尝试是否可以修改模型使用其它方法替换掉该算子。 +- 8.用替换法对比输入输出排查某个修改的或自定义或关键算子的影响,如果某算子导致精度下降问题,尝试是否可以修改模型使用其它方法替换掉该算子。 [精度对比工具](https://gitee.com/ascend/tools/tree/master/msquickcmp) [精度对比工具简洁版](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7/one_step_accuracy_cmp) - [精度调试专题](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%B2%BE%E5%BA%A6%E8%B0%83%E8%AF%95)``` + [精度调试专题](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%B2%BE%E5%BA%A6%E8%B0%83%E8%AF%95) ### 2.4 性能优化指导 -- Gitee From a4f6e65eaa5a783c1118436f7268ce629c3a7a64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:16:47 +0000 Subject: [PATCH 32/36] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20tm?= =?UTF-8?q?p.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tmp.md | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 tmp.md diff --git a/tmp.md b/tmp.md deleted file mode 100644 index e02ab0e..0000000 --- a/tmp.md +++ /dev/null @@ -1,7 +0,0 @@ -### 2.3 精度调试指导 - -- 据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 - fd - - -- 以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 \ No newline at end of file -- Gitee From 4170090121244447870ce6ec36fb02317f80d7cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:20:01 +0000 Subject: [PATCH 33/36] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86-=E7=A6=BB=E7=BA=BF=E6=8E=A8=E7=90=86?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...50\347\220\206\346\214\207\345\257\274.md" | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" index 8c68306..9a15581 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" @@ -634,22 +634,26 @@ bs16: 310/t4=2078.536/1234.940=1.68倍 [MindStudio可视化om模型](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/blob/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7/MindStudio%E5%B7%A5%E5%85%B7%E5%8F%AF%E8%A7%86%E5%8C%96om%E6%A8%A1%E5%9E%8B%E6%95%99%E7%A8%8B.docx) ### 2.3 精度调试指导 -- 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 -- 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 +- 精度调试基本思路 -- 3.注意如果使用的是910权重需要把训练适配的影响精度的代码移植到开源模型代码,因为是基于开源模型代码加910权重做推理 + - 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 -- 4.如果修改了开源模型代码,优先排查修改的代码或关键算子参数是否有问题或与训练使用的不一致 + - 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 -- 5.如果导出的onnx可以推理,确定onnx精度是否达标 + - 3.注意如果使用的是910权重需要把训练适配的影响精度的代码移植到开源模型代码,因为是基于开源模型代码加910权重做推理 -- 6.如果是om算子缺陷导致精度下降,则指定算子为om的输出节点,然后与在线推理时该算子(使用开源netron工具查看onnx模型算子,开启verbose导出onnx时会打印算子对应的py文件代码行)的输出对比,查看是否一致。二分法排查对比pytorch或onnx与om哪个算子输出不一致,需要保证条件是输入一样 + - 4.如果修改了开源模型代码,优先排查修改的代码或关键算子参数是否有问题或与训练使用的不一致 -- 7.pytorch模型在线推理支持模型输入的hw维是变化的,而om模型由于不支持动态算子暂需要固定输入的hw维,即每个预处理后输入样本的hw都是一样的。为了验证预处理等比例缩放加pad固定样本的hw维对精度的影响,可以修改开源模型代码评测脚本,加载预处理后的样本,然后替换掉model的输入再评测精度,后处理需要做相应适配恢复到原图,查看精度是否下降。同样为了验om模型输出的结果与后处理,可以修改开源模型代码评测脚本,加载om模型输出的结果,然后替换掉model的输出再评测精度,查看精度是否下降。 + - 5.如果导出的onnx可以推理,确定onnx精度是否达标 -- 8.用替换法对比输入输出排查某个修改的或自定义或关键算子的影响,如果某算子导致精度下降问题,尝试是否可以修改模型使用其它方法替换掉该算子。 + - 6.如果是om算子缺陷导致精度下降,则指定算子为om的输出节点,然后与在线推理时该算子(使用开源netron工具查看onnx模型算子,开启verbose导出onnx时会打印算子对应的py文件代码行)的输出对比,查看是否一致。二分法排查对比pytorch或onnx与om哪个算子输出不一致,需要保证条件是输入一样 + - 7.pytorch模型在线推理支持模型输入的hw维是变化的,而om模型由于不支持动态算子暂需要固定输入的hw维,即每个预处理后输入样本的hw都是一样的。为了验证预处理等比例缩放加pad固定样本的hw维对精度的影响,可以修改开源模型代码评测脚本,加载预处理后的样本,然后替换掉model的输入再评测精度,后处理需要做相应适配恢复到原图,查看精度是否下降。同样为了验om模型输出的结果与后处理,可以修改开源模型代码评测脚本,加载om模型输出的结果,然后替换掉model的输出再评测精度,查看精度是否下降。 + + - 8.用替换法对比输入输出排查某个修改的或自定义或关键算子的影响,如果某算子导致精度下降问题,尝试是否可以修改模型使用其它方法替换掉该算子。 + +- 精度调试工具与案例 [精度对比工具](https://gitee.com/ascend/tools/tree/master/msquickcmp) [精度对比工具简洁版](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7/one_step_accuracy_cmp) [精度调试专题](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%B2%BE%E5%BA%A6%E8%B0%83%E8%AF%95) -- Gitee From e2660650a7feac693399cc2b2592b911d5643b65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:20:55 +0000 Subject: [PATCH 34/36] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86-=E7=A6=BB=E7=BA=BF=E6=8E=A8=E7=90=86?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" index 9a15581..9ebc3aa 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" @@ -653,7 +653,7 @@ bs16: 310/t4=2078.536/1234.940=1.68倍 - 8.用替换法对比输入输出排查某个修改的或自定义或关键算子的影响,如果某算子导致精度下降问题,尝试是否可以修改模型使用其它方法替换掉该算子。 -- 精度调试工具与案例 +- 精度调试工具与案例 [精度对比工具](https://gitee.com/ascend/tools/tree/master/msquickcmp) [精度对比工具简洁版](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7/one_step_accuracy_cmp) [精度调试专题](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%B2%BE%E5%BA%A6%E8%B0%83%E8%AF%95) -- Gitee From 38d1b2605ab5977f4e160451acbfa1d254cb6e98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:22:15 +0000 Subject: [PATCH 35/36] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86-=E7=A6=BB=E7=BA=BF=E6=8E=A8=E7=90=86?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6\250\347\220\206\346\214\207\345\257\274.md" | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" index 9ebc3aa..38cfbe8 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" @@ -637,21 +637,21 @@ bs16: 310/t4=2078.536/1234.940=1.68倍 - 精度调试基本思路 - - 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 + 1.根据推理流程逐步排查引起精度下降的问题点,先粗调确认是哪个流程的问题再微调 - - 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 + 2.以开源模型代码在线推理为基准,在gpu上加载pth权重运行评测脚本,查看pth在线推理精度是否达标。可以添加打印熟悉模型结构,前后处理与算子的输出,通过制作异常产生的调用栈查看函数调用关系。使用控制变量替换法将自己预处理代码或om结果或算子参数等替换掉在线推理的相应变量,同时后处理需要做与预处理相应的适配,看自己的结果是否精度不达标。确保前后处理,模型参数与算子参数与开源模型代码在线推理使用的完全一致 - - 3.注意如果使用的是910权重需要把训练适配的影响精度的代码移植到开源模型代码,因为是基于开源模型代码加910权重做推理 + 3.注意如果使用的是910权重需要把训练适配的影响精度的代码移植到开源模型代码,因为是基于开源模型代码加910权重做推理 - - 4.如果修改了开源模型代码,优先排查修改的代码或关键算子参数是否有问题或与训练使用的不一致 + 4.如果修改了开源模型代码,优先排查修改的代码或关键算子参数是否有问题或与训练使用的不一致 - - 5.如果导出的onnx可以推理,确定onnx精度是否达标 + 5.如果导出的onnx可以推理,确定onnx精度是否达标 - - 6.如果是om算子缺陷导致精度下降,则指定算子为om的输出节点,然后与在线推理时该算子(使用开源netron工具查看onnx模型算子,开启verbose导出onnx时会打印算子对应的py文件代码行)的输出对比,查看是否一致。二分法排查对比pytorch或onnx与om哪个算子输出不一致,需要保证条件是输入一样 + 6.如果是om算子缺陷导致精度下降,则指定算子为om的输出节点,然后与在线推理时该算子(使用开源netron工具查看onnx模型算子,开启verbose导出onnx时会打印算子对应的py文件代码行)的输出对比,查看是否一致。二分法排查对比pytorch或onnx与om哪个算子输出不一致,需要保证条件是输入一样 - - 7.pytorch模型在线推理支持模型输入的hw维是变化的,而om模型由于不支持动态算子暂需要固定输入的hw维,即每个预处理后输入样本的hw都是一样的。为了验证预处理等比例缩放加pad固定样本的hw维对精度的影响,可以修改开源模型代码评测脚本,加载预处理后的样本,然后替换掉model的输入再评测精度,后处理需要做相应适配恢复到原图,查看精度是否下降。同样为了验om模型输出的结果与后处理,可以修改开源模型代码评测脚本,加载om模型输出的结果,然后替换掉model的输出再评测精度,查看精度是否下降。 + 7.pytorch模型在线推理支持模型输入的hw维是变化的,而om模型由于不支持动态算子暂需要固定输入的hw维,即每个预处理后输入样本的hw都是一样的。为了验证预处理等比例缩放加pad固定样本的hw维对精度的影响,可以修改开源模型代码评测脚本,加载预处理后的样本,然后替换掉model的输入再评测精度,后处理需要做相应适配恢复到原图,查看精度是否下降。同样为了验om模型输出的结果与后处理,可以修改开源模型代码评测脚本,加载om模型输出的结果,然后替换掉model的输出再评测精度,查看精度是否下降。 - - 8.用替换法对比输入输出排查某个修改的或自定义或关键算子的影响,如果某算子导致精度下降问题,尝试是否可以修改模型使用其它方法替换掉该算子。 + 8.用替换法对比输入输出排查某个修改的或自定义或关键算子的影响,如果某算子导致精度下降问题,尝试是否可以修改模型使用其它方法替换掉该算子。 - 精度调试工具与案例 [精度对比工具](https://gitee.com/ascend/tools/tree/master/msquickcmp) -- Gitee From d070ebf1ff151468e16aeeaf63cc186bbc56e4ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=AD=E4=B8=9A=E5=BA=86?= Date: Wed, 27 Oct 2021 12:23:22 +0000 Subject: [PATCH 36/36] =?UTF-8?q?update=20Ascend-PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86=E6=8C=87=E5=AF=BC/PyTorch=E7=A6=BB=E7=BA=BF?= =?UTF-8?q?=E6=8E=A8=E7=90=86-=E7=A6=BB=E7=BA=BF=E6=8E=A8=E7=90=86?= =?UTF-8?q?=E6=8C=87=E5=AF=BC.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...7\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" | 1 + 1 file changed, 1 insertion(+) diff --git "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" index 38cfbe8..ad9cb7c 100644 --- "a/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" +++ "b/Ascend-PyTorch\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274/PyTorch\347\246\273\347\272\277\346\216\250\347\220\206-\347\246\273\347\272\277\346\216\250\347\220\206\346\214\207\345\257\274.md" @@ -654,6 +654,7 @@ bs16: 310/t4=2078.536/1234.940=1.68倍 8.用替换法对比输入输出排查某个修改的或自定义或关键算子的影响,如果某算子导致精度下降问题,尝试是否可以修改模型使用其它方法替换掉该算子。 - 精度调试工具与案例 + [精度对比工具](https://gitee.com/ascend/tools/tree/master/msquickcmp) [精度对比工具简洁版](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%9B%B8%E5%85%B3%E5%B7%A5%E5%85%B7/one_step_accuracy_cmp) [精度调试专题](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/tree/master/Ascend-PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86%E6%8C%87%E5%AF%BC/%E4%B8%93%E9%A2%98%E6%A1%88%E4%BE%8B/%E7%B2%BE%E5%BA%A6%E8%B0%83%E8%AF%95) -- Gitee