ONNX 模型转换 · 完全解决指南
📚 30 章
完整目录
01
基础认知
ONNX 是什么?
生态与核心价值 · 为什么需要 ONNX
02
环境工具
安装与版本冲突
ONNX Runtime · protobuf 冲突解决
03
PyTorch
torch.onnx.export
核心参数详解 · 常见报错修复
04
TensorFlow
tf2onnx 与 Keras
工具使用 · Keras 模型转换陷阱
05
动态轴
Batch & 动态尺寸
动态 Batch Size · 输入尺寸设定
06
算子兼容(上)
PyTorch 映射
算子映射表 · 不支持算子排查
07
算子兼容(下)
TF & 自定义
TensorFlow 映射 · 自定义算子注册
08
折叠错误
Constant Folding
常量折叠失败原因与修复方法
09
Shape问题
动态Shape与Reshape
转换失败 · 推理结果错误
10
数据类型
float16/32/int64
精度与类型错误 · 转换异常
11
控制流
torch.where/if/for
条件与循环在 ONNX 中的处理
12
自定义Op
编写与注册
扩展 ONNX 算子 · 自定义实现
13
验证比对
ONNX Runtime 精度
原始模型 vs ONNX 输出对比
14
简化优化
onnx-simplifier
模型瘦身 · 冗余消除
15
量化(上)
动态/静态量化
ONNX 量化实现与注意事项
16
量化(下)
QAT 与精度修复
QAT 模型转换 · 精度损失修复
17
多IO模型
多输入/输出/序列
可变长度序列 · 多输出处理
18
Runtime部署
C++/Python 推理
接口使用 · 性能调优
19
TensorRT
引擎转换与优化
常见错误 · 集成调优
20
OpenVINO
IR 转换兼容
兼容性问题 · 算子映射
21
CoreML
算子支持与技巧
ONNX → CoreML 转换细节
22
TFLite
量化与映射
ONNX → TFLite 算子问题
23
版本兼容
框架/ONNX/Runtime
版本匹配矩阵 · 避坑指南
24
调试工具
日志 & Netron
ONNX 转换日志 · 模型可视化
25
内存性能
OOM & 显存泄漏
转换/推理内存问题排查
26
图优化
Level/融合/提供者
算子融合 · 执行提供者配置
27
安全合规
加密与签名
模型加密 · ONNX 安全风险
28
实战·图像
ResNet/MobileNet
分类模型转换全流程排错
29
实战·检测
YOLOv8/SSD
目标检测转换 · 后处理适配
30
实战·NLP
BERT/GPT
动态序列长度 · 转换处理