From 11cb2b75529d603f6e9c3ee98d25fe247d96c766 Mon Sep 17 00:00:00 2001 From: pengyeqing Date: Sat, 17 Jul 2021 16:57:35 +0800 Subject: [PATCH] update --- ...73\347\272\277\346\216\250\347\220\206.md" | 56 ++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git "a/AscendPyTorch\346\250\241\345\236\213\344\274\227\346\231\272\346\226\207\346\241\243-\347\246\273\347\272\277\346\216\250\347\220\206.md" "b/AscendPyTorch\346\250\241\345\236\213\344\274\227\346\231\272\346\226\207\346\241\243-\347\246\273\347\272\277\346\216\250\347\220\206.md" index 9856b56..a42fec4 100644 --- "a/AscendPyTorch\346\250\241\345\236\213\344\274\227\346\231\272\346\226\207\346\241\243-\347\246\273\347\272\277\346\216\250\347\220\206.md" +++ "b/AscendPyTorch\346\250\241\345\236\213\344\274\227\346\231\272\346\226\207\346\241\243-\347\246\273\347\272\277\346\216\250\347\220\206.md" @@ -692,6 +692,8 @@ cd /usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/toolkit/tools/profiler/b cd /usr/local/Ascend/ascend-toolkit/latest/x86_64-linux/toolkit/tools/profiler/profiler_tool/analysis/msprof/ python3.7 msprof.py import -dir /home/HwHiAiUser/test/生成的profiling目录 python3.7 msprof.py export summary -dir /home/HwHiAiUser/test/生成的profiling目录 +python3.7 msprof.py export timeline -dir /home/HwHiAiUser/test/生成的profiling目录 --iteration-id 1 +在chrome的地址栏输入chrome://tracing/加载打点数据查看打点图 ``` 其中op_statistic_0_1.csv文件统计了模型中每类算子总体耗时与百分比,op_summary_0_1.csv中包含了模型每个算子的耗时 profiling工具使用详情请参考[CANN 5.0.1 开发辅助工具指南 (推理) 01](https://support.huawei.com/enterprise/zh/doc/EDOC1100191944?idPath=23710424%7C251366513%7C22892968%7C251168373) @@ -1352,6 +1354,58 @@ python3 ssd_pth_postprocess.py /root/dataset/VOCdevkit/VOC2007/ ./voc-model-labe 模型命名风格为大驼峰,模型名含多个字符串时使用横杠或下划线连接,当上下文用横杠时模型名用下划线连接,否则用横杠连接 对于batch1与batch16,npu性能均高于T4性能1.2倍的模型,放在Benchmark目录下,1-1.2倍对应Official目录,低于1倍放在Research目录,目前都放在contrib/ACL_PyTorch/Research下即可 +- 交付件参考 + 代码交付件checklist参考: + ``` + Nested_UNet #模型名称命名的文件夹 + ├── env.sh #环境变量 + ├── gen_dataset_info.py #生成数据集info文件 + ├── LICENSE #选用Apache LICENCE + ├── nested_unet.diff #以补丁形式修改开源模型代码 + ├── nested_unet_pth2onnx.py #模型转换脚本,避免脚本下载权重加载模型时有pretrained参数的话设置为False,通常通过sys.path.append(r"./pytorch-nested-unet") from archs import NestedUNet的方式引用开源模型代码,如果开源模型代码仓提供了pth2onnx脚本,则不需要提交该文件 + ├── nested_unet_postprocess.py #模型后处理脚本,尽量不import开源模型代码,但是如果脚本直接复制了大量开源模型代码的函数而不是自己写的,为求精简,也可以import开源模型代码的类或函数 + ├── nested_unet_preprocess.py #模型前处理脚本,不要import该脚本没有用到的库,类或函数,数据集路径要通过输入参数传递给脚本而不是直接写在脚本里 + ├── README.md #模型离线推理说明README + ├── requirements.txt #模型离线推理用到的所有依赖库与版本,不要写入实际没有依赖的库,pytorch版本优先1.5.0,特殊情况选用1.8.0,其它库具体版本是离线推理时使用的具体版本 + └── test + ├── eval_acc_perf.sh + ├── parse.py + ├── perf_g.sh + ├── pth2om.sh + └── README.md + ``` + + 模型目录结构与pth2onnx基本操作: + ``` + cd Nested_UNet + git clone https://github.com/4uiiurz1/pytorch-nested-unet + cd pytorch-nested-unet + patch -p1 < ../nested_unet.diff #以补丁形式修改模型代码,其中补丁是通过git diff > ./nested_unet.diff生成的 + cd .. + python3.7 nested_unet_pth2onnx.py nested_unet.pth nested_unet.onnx #pth2onnx脚本sys.path.append(r"./pytorch-nested-unet") from archs import NestedUNet加载NestedUNet模型结构 + 注意目录结构,模型转换与前后处理脚本和开源模型代码尽量处于同一层,执行脚本命令时要依据目录结构确定路径 + ``` + + 性能不达标的模型非代码交付件: + ``` + icnet性能不达标初步优化 + ├── icnet_bs16.om + ├── icnet.onnx + ├── icnet模型性能不达标测试报告.docx + ├── 优化前的profiling + └── 优化后的profiling + [xxx模型性能不达标测试报告.docx](https://gitee.com/pengyeqing/ascend-pytorch-crowdintelligence-doc/blob/master/docs/PyTorch%E7%A6%BB%E7%BA%BF%E6%8E%A8%E7%90%86-xxx%E6%A8%A1%E5%9E%8B%E6%80%A7%E8%83%BD%E4%B8%8D%E8%BE%BE%E6%A0%87%E6%B5%8B%E8%AF%95%E6%8A%A5%E5%91%8A.docx) + ``` + + + 如果使用补丁文件修改了模型代码则将补丁打入模型代码,如果需要引用模型代码仓的类或函数通过sys.path.append(r"./pytorch-nested-unet")添加搜索路径 + 参见https://gitee.com/ascend/modelzoo/pulls/2309 + 参见https://gitee.com/ascend/modelzoo/pulls/2585 + + 模型不支持动态onnx,性能不达标等特殊情况需要在pr备注与README性能优化里说明 + 参见https://gitee.com/ascend/modelzoo/pulls/2122 + 参见https://gitee.com/ascend/modelzoo/pulls/2328 + - gitee仓PR贡献流程 - fork [modelzoo](https://gitee.com/ascend/modelzoo) 到个人仓 - 提交代码到个人仓 @@ -1401,7 +1455,7 @@ python3 ssd_pth_postprocess.py /root/dataset/VOCdevkit/VOC2007/ ./voc-model-labe **What does this PR do / why do we need it**: # 简述你这次的PR的详情 - | 模型 | 官网精度 | 310精度 | t4性能 | 310性能 | + | 模型 | 官网精度 | 310精度 | gpu性能 | 310性能 | | :------: | :------: | :------: | :------: | :------: | | ResNeXt50 bs1 | top1:77.62% top5:93.70% | top1:77.62% top5:93.69% | 763.044fps | 1497.252fps | | ResNeXt50 bs16 | top1:77.62% top5:93.70% | top1:77.62% top5:93.69% | 1234.940fps | 2096.376fps | -- Gitee