首页
›
嵌入式边缘AI与TinyML
›
026-ONNX模型转换与边缘推理兼容性
›
《ONNX图简化与推理兼容性优化》
VIP20
本课程属于:026-ONNX模型转换与边缘推理兼容性
嵌入式边缘AI与TinyML · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
📘
6. ONNX模型简化:onnx-simplifier与常量折叠实践
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导入
学习目标 · 适用人群 · 课程整体框架与前置知识要求
课程导入
学习目标
02
ONNX基础回顾
ONNX格式 · 计算图 · 节点与张量
ONNX
基础回顾
03
模型冗余的来源
训练后导出 · 动态形状 · 未优化的算子
模型冗余的来源
训练后导出
04
模型简化的意义
推理性能提升 · 内存占用降低 · 部署兼容性增强
模型简化的意义
推理性能提升
05
onnx-simplifier工具介绍
功能定位 · 安装方法 · 命令行与Python API
onnx-simplif…
工具介绍
06
常量折叠原理
什么是常量折叠 · 如何识别可折叠子图 · 折叠的数学基础
常量折叠原理
什么是常量折叠
07
onnx-simplifier的简化流程
图解析 · 常量提取 · 折叠执行
onnx-simplif…
的简化流程
08
使用onnx-simplifier命令行
基本用法 · 常用参数(--input-shape · --overwrite-input-…
onnx-simplif…
使用
09
使用Python API简化模型
onnxsim.simplify函数 · 输入样例 · 返回结果处理
Python
API
10
动态形状处理
如何指定静态输入形状 · 动态轴的处理策略 · 对简化效果的影响
动态形状处理
如何指定静态输入…
11
常量折叠实战
一个简单模型(如线性层+激活)的简化…
常量折叠实战
一个简单模型
12
复杂模型简化实战
包含卷积 · BN · 残差连接的CNN模型简化
复杂模型简化实战
包含卷积
13
Transformer模型简化
注意力机制中的常量折叠 · LayerNorm的简化
Transformer
模型简化
14
简化前后模型验证
使用onnxruntime比较输出 · 精度误差分析
简化前后模型验证
onnxruntime
15
简化后模型推理性能测试
延迟 · 吞吐量 · 内存占用对比
简化后模型推理性…
延迟
16
onnx-simplifier的局限性
无法折叠动态输入 · 某些自定义算子 · 循环结构
onnx-simplif…
的局限性
17
手动常量折叠方法
使用onnx.helper和onnx…
手动常量折叠方法
onnx.helper
18
使用onnxruntime进行常量折叠
利用推理结果替换子图
onnxruntime
使用
19
结合onnx-graphsurgeon进行高级简化
节点删除 · 合并 · 自定义优化
onnx-graphsu…
结合
20
常见问题1
简化后模型输出不一致 · 原因分析与排查方法
常见问题1
简化后模型输出不…
21
常见问题2
简化过程中内存溢出或耗时过长 · 优化策略
常见问题2
简化过程
22
常见问题3
模型包含动态维度导致简化失败 · 解决方案
常见问题3
模型包含动态维度…
23
常见问题4
简化后模型在特定推理引擎上不兼容 · 如何处理
常见问题4
简化后模型
24
模型量化与简化的关系
量化前的简化必要性 · 量化后是否还需简化
模型量化
简化的关系
25
模型部署流程中的简化环节
从训练到部署的完整pipeline
模型部署流程
简化环节
26
案例实战
将PyTorch导出的ResNet5…
案例实战
PyTorch
27
案例实战
将YOLOv5导出的ONNX模型简化…
案例实战
YOLOv5
28
案例实战
将BERT模型简化并用于Tensor…
案例实战
BERT
29
综合提升
设计一个自动化模型简化脚本 · 支持批量处理与验证
综合提升
设计一个自动化模…
30
课程总结
核心要点回顾 · 最佳实践 · 进一步学习资源与社区
课程总结
核心要点回顾
所属VIP或分类
同VIP:ONNX-Runtime验证:导出后推理结果和训练框架对齐
同VIP:ONNX不兼容算子改造与引擎部署验证
同VIP:ONNX到OpenVINO:IR转换与精度验证流程