离线推理全流程&模型调优

举报
yd_294961020 发表于 2025/06/20 16:50:53 2025/06/20
【摘要】 整体概述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

参考链接1:Onnx转Om
参考链接2:ATC工具介绍

离线推理

参考链接:离线推理

Chinese_CLIP上机操作

传统模型基于昇腾迁移适配全流程

模型支持度分析

msit analyze

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                │ 122122              │
│ Cast               │ 41                │
│ Concat             │ 480                │
│ Constant           │ 532207              │
│ ConstantOfShape    │ 10                │
│ Div                │ 2424               │
│ Equal              │ 11                │
│ Erf                │ 1212               │
│ Expand             │ 10                │
│ Gather             │ 1012                │
│ LayerNormalization │ 2525               │
│ MatMul             │ 9797               │
│ Mul                │ 2525               │
│ Not                │ 11                │
│ Range              │ 10                │
│ Reshape            │ 4848               │
│ Shape              │ 990                │
│ Softmax            │ 1212               │
│ Sub                │ 11                │
│ Transpose          │ 4848               │
│ Unsqueeze          │ 991                │
│ 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)

使用指导:链接

模型压缩:

官方指导文档:链接

离线推理

Chinese_CLIP模型推理指导

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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。