离线推理全流程&模型调优
【摘要】 整体概述ModelZoo-PyTorch指导文档:https://gitee.com/ascend/ModelZoo-PyTorch/blob/master/ACL_PyTorch/docs/README.md 模型推理 离线推理 导出Onnx参考链接:ONNX的导出 Onnx转om参考链接1:Onnx转Om参考链接2:ATC工具介绍 离线推理参考链接:离线推理 Chinese_CLIP上...
整体概述
ModelZoo-PyTorch指导文档:https://gitee.com/ascend/ModelZoo-PyTorch/blob/master/ACL_PyTorch/docs/README.md
模型推理
离线推理
导出Onnx
参考链接:ONNX的导出
Onnx转om
离线推理
参考链接:离线推理
Chinese_CLIP上机操作
传统模型基于昇腾迁移适配全流程
模型支持度分析
- 安装msit: https://gitee.com/ascend/msit/blob/master/msit/docs/install/README.md
- 模型转换:pt->onnx:参考链接
- 执行分析命令:
msit analyze -gm ./resnet.onnx -o ./out
查看results.csv可以看到哪些算子在昇腾支不支持。
使用onnx-sim对onnx模型进行简化
export bs=24
onnxsim models/vit-b-16.txt.fp32.onnx models/vit-b-16.txt.fp32.bs${bs}.sim.onnx --overwrite-input-shape "text:${bs},512"
Simplifying...
Finish! Here is the difference:
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ ┃ Original Model ┃ Simplified Model ┃
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ Add │ 122 │ 122 │
│ Cast │ 4 │ 1 │
│ Concat │ 48 │ 0 │
│ Constant │ 532 │ 207 │
│ ConstantOfShape │ 1 │ 0 │
│ Div │ 24 │ 24 │
│ Equal │ 1 │ 1 │
│ Erf │ 12 │ 12 │
│ Expand │ 1 │ 0 │
│ Gather │ 101 │ 2 │
│ LayerNormalization │ 25 │ 25 │
│ MatMul │ 97 │ 97 │
│ Mul │ 25 │ 25 │
│ Not │ 1 │ 1 │
│ Range │ 1 │ 0 │
│ Reshape │ 48 │ 48 │
│ Shape │ 99 │ 0 │
│ Softmax │ 12 │ 12 │
│ Sub │ 1 │ 1 │
│ Transpose │ 48 │ 48 │
│ Unsqueeze │ 99 │ 1 │
│ Model Size │ 392.3MiB │ 461.4MiB │
└────────────────────┴────────────────┴──────────────────┘
使用msit surgeon使能onnx模型基于昇腾芯片的优化(onnx->onnx)
msit surgeon功能指导:链接
- msit surgeon安装
# 安装
msit install surgeon
# 检查安装是否成功
msit surgeon check
- 了解什么是知识库:链接
模型转换(onnx->om)
atc工具使用指导:链接
AOE自动调优(onnx->om)
使用指导:链接
模型压缩:
官方指导文档:链接
离线推理
ais_bench使用安装:链接
在线推理
-
torch_npu单算子推理:
开源样例 vs torch_npu适配版本 -
torchair图模式推理:
参考modelzoo适配:链接
报错整理
-
git clone 报错
解决方案:export GIT_SSL_NO_VERIFY=1 -
安装onnxsim报错
cmake版本问题,导致onnxsim编译一直报错,cmake版本太高或者太低都不行。
wget https://github.com/Kitware/CMake/releases/download/v3.27.4/cmake-3.27.4.tar.gz
tar -xzf cmake-3.27.4.tar.gz
cd cmake-3.27.4
./bootstrap && make -j$(nproc) && make install
-
No module named ‘auto_optimizer’
auto_optimizer是昇腾基于onnx的改图工具,需要安装msit install surgeon即可。 -
执行msit debug compare报错
比对结果输出路径要先创建出来
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)