首页
›
嵌入式边缘AI与TinyML
›
026-ONNX模型转换与边缘推理兼容性
›
《ONNX图结构可视化与模型诊断》
VIP20
本课程属于:026-ONNX模型转换与边缘推理兼容性
嵌入式边缘AI与TinyML · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
📘
3. ONNX模型结构检查:Graph、Node与Initializer阅读方法
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导入
学习目标 · 适用人群 · ONNX模型结构检查在AI部署中的重…
课程导入
学习目标
02
ONNX基础
ONNX格式概述 · 模型文件组成(.onnx) · protobuf序列化原理
ONNX
格式概述
03
环境准备
安装onnx · onnxruntime · netron等工具
环境准备
onnx
04
读取ONNX模型
使用onnx.load()加载模型 · 理解ModelProto对象结构
ONNX
读取
05
Graph概览
理解GraphProto的组成(no… · initializer · input
Graph
概览
06
Node详解
NodeProto的字段(op_ty… · name · inputs
Node
NodeProto
07
Initializer详解
InitializerProto的字… · data_type · dims
Initializer
InitializerP…
08
输入输出解析
模型输入输出的名称 · 形状 · 数据类型
输入输出解析
模型输入输出的名…
09
属性(Attribute)阅读
常见属性类型(int · float · tensor
Attribute
属性
10
数据流分析
通过节点连接关系追踪张量流动 · 理解模型计算图
数据流分析
通过节点连接关系…
11
使用Python遍历Graph
编写脚本遍历所有节点和初始化器 · 打印关键信息
Python
Graph
12
使用Netron可视化
Netron界面操作 · 查看节点详情 · 导出结构图
Netron
使用
13
使用onnxruntime检查
通过session获取输入输出信息 · 验证模型可执行性
onnxruntime
使用
14
案例实战1
读取一个ResNet50 ONNX模… · 分析其整体结构(层数 · 参数数量)
案例实战1
ResNet50
15
案例实战2
提取模型中所有卷积层的参数(权重和偏… · 并分析其形状
案例实战2
提取模型
16
案例实战3
检查模型中的BatchNorm层 · 理解其缩放因子和偏移量
案例实战3
BatchNorm
17
案例实战4
分析一个包含动态形状的模型 · 识别动态轴并处理
案例实战4
分析一个包含动态…
18
常见问题1
模型加载失败(版本不兼容 · 文件损坏)的排查方法
常见问题1
模型加载失败
19
常见问题2
节点输入输出名称不一致导致的误解 · 如何正确追踪
常见问题2
节点输入输出名称…
20
常见问题3
Initializer与Consta… · 以及如何区分
常见问题3
Initializer
21
常见问题4
模型过大导致内存不足 · 如何流式读取或使用工具优化
常见问题4
模型过大导致内存…
22
高级技巧
使用onnx.helper模块创建和… · 辅助理解结构
高级技巧
onnx.helper
23
高级技巧
使用onnx.shape_infer… · 补全value_info
高级技巧
onnx.shape
24
高级技巧
使用onnx.external_da… · 理解大模型存储
高级技巧
onnx.externa…
25
模型优化初步
通过结构检查识别冗余节点 · 为剪枝和量化做准备
模型优化初步
通过结构检查识别…
26
与框架对比
将ONNX结构与PyTorch/Te… · 加深理解
框架对比
ONNX
27
工具链整合
结合onnxgraph · onnxoptimizer等工具进行…
工具链整合
onnxgraph
28
实战项目
编写一个通用ONNX结构检查器 · 输出模型报告(节点统计 · 参数统计)
实战项目
ONNX
29
综合提升
从结构检查到模型调试 · 如何定位推理错误和性能瓶颈
综合提升
从结构检查到模型…
30
课程总结
回顾核心知识点 · 推荐学习资源 · 展望ONNX生态发展
课程总结
回顾核心知识点
所属VIP或分类
同VIP:ONNX-Runtime验证:导出后推理结果和训练框架对齐
同VIP:ONNX不兼容算子改造与引擎部署验证
同VIP:ONNX到OpenVINO:IR转换与精度验证流程