首页
›
AI智能与边缘计算工程
›
146-MLIR与LLVM编译器开发
›
《PyTorch_ONNX到MLIR转换实战》
VIP6
本课程属于:146-MLIR与LLVM编译器开发
AI智能与边缘计算工程 · 共 6 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
📘
前端框架PyTorch ONNX到MLIR转换实战
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导入
学习目标 · 课程结构 · 前置知识要求
课程导入
学习目标
02
PyTorch模型基础
张量操作 · 自动求导 · nn.Module
PyTorch
模型基础
03
ONNX格式详解
ONNX的模型结构(Graph · Node · Initializer
ONNX
格式详解
04
PyTorch导出ONNX
使用torch.onnx.expor… · input_names · output_names
PyTorch
ONNX
05
ONNX模型检查与调试
使用onnx.checker · onnx.shape_inferen… · onnxruntime推理验证
ONNX
模型检查
06
ONNX算子兼容性
PyTorch算子到ONNX的映射表 · 自定义算子导出(register_c… · 处理不支持的算子(如某些高级索引
ONNX
算子兼容性
07
ONNX模型优化
使用onnx-simplifier · onnxoptimizer进行图优化… · 冗余消除
ONNX
模型优化
08
MLIR基础概念
MLIR的Dialect · Operation · Type
MLIR
基础概念
09
MLIR环境搭建与工具链
安装LLVM/MLIR · 构建ONNX-MLIR项目 · 熟悉mlir-opt
MLIR
环境搭建
10
ONNX-MLIR项目架构
ONNX-MLIR的目录结构 · 主要组件(Import · Conversion
ONNX-MLIR
项目架构
11
ONNX到MLIR的导入流程
使用ONNX-MLIR将ONNX模型… · 理解ImportONNXPass · ONNXOps的生成与验证
ONNX
MLIR
12
ONNX Dialect详解
ONNX Dialect中的算子表示… · MatMul · Relu)
ONNX
Dialect
13
MLIR的Pass机制
Pass的编写与注册(Operati… · AnalysisPass) · PassManager的使用
MLIR
Pass
14
ONNX到MLIR的Lowering策略
将ONNX Dialect转换为其他… · Linalg · Affine)的通用方法
ONNX
MLIR
15
ONNX算子到Linalg的转换
以Conv · MatMul · ElementWise为例
ONNX
Linalg
16
ONNX算子到Standard/SCF的转换
处理控制流(If · Loop) · 动态形状(DynamicTensor…
ONNX
Standard/SCF
17
MLIR类型转换与形状推断
在转换过程中处理静态形状与动态形状 · 使用Shape Dialect进行形… · 以及类型转换(Tensor到MemR…
MLIR
类型转换
18
MLIR的Bufferization
将Tensor类型转换为MemRef… · 理解One-Shot Bufferi… · 内存分配与复用
MLIR
Bufferizatio…
19
MLIR的Lowering到LLVM
将Linalg/SCF等Dialec… · 最终生成LLVM IR · 涉及向量化
MLIR
Lowering
20
ONNX-MLIR的端到端流程
从ONNX模型到可执行代码的完整流程… · 使用onnx-mlir命令生成可执行…
ONNX-MLIR
的端到端流程
21
案例实战
导出ResNet-18为ONNX · 使用ONNX-MLIR转换为MLIR… · 验证推理结果与PyTorch一致
案例实战
ResNet-18
22
案例实战
导出BERT模型为ONNX · 处理动态序列长度 · 转换到MLIR并优化
案例实战
BERT
23
案例实战
YOLOv5目标检测模型从PyTor… · 处理多输出 · NMS等特殊算子
案例实战
YOLOv5
24
MLIR的优化Pass实战
编写自定义Pass(如算子融合 · 常量传播) · 在ONNX-MLIR中应用并评估性能…
MLIR
Pass
25
MLIR的Dialect扩展
自定义一个简单的Dialect · 实现从ONNX到自定义Dialect… · 理解MLIR的扩展机制
MLIR
Dialect
26
常见问题与调试技巧
转换过程中的常见错误(类型不匹配 · 形状未知 · 算子不支持)
常见问题
调试技巧
27
性能分析与优化
使用MLIR的profiling工具… · 对比PyTorch/ONNX Run… · 进行算子级优化(如向量化
性能分析
优化
28
与LLVM/CPU后端集成
将MLIR生成的LLVM IR编译为… · 集成到C++/Python应用中 · 实现部署
LLVM/CPU
后端集成
29
与GPU后端集成
探索MLIR的GPU支持(如NVVM… · 将ONNX模型转换到GPU可执行代码 · 处理GPU内存管理与并行化
GPU
后端集成
30
综合项目与未来展望
设计一个完整的转换项目(从PyTor… · 总结课程要点 · 讨论MLIR在AI编译器中的发展趋势…
综合项目
未来展望
所属VIP或分类
同VIP:LLVM与TVM深度学习编译优化
同VIP:LLVM中间表示与Pass编写实战
同VIP:MLIR中间表示与AI编译器优化