🧠 从零搭建深度学习推理引擎
30章 · 完全实战
🚀 友好色系
01
推理引擎概述
推理引擎 vs 训练框架 · TensorRT / ONNX Runtime / OpenVINO
02
计算图基础
计算图概念 · 静态/动态图 · 拓扑排序与执行
03
模型解析与加载
ONNX格式 · Protobuf序列化 · 元数据读取
04
张量系统设计
张量数据结构 · 内存管理 · NHWC vs NCHW
05
算子注册与管理
算子抽象接口 · 注册表模式 · 工厂模式
06
内存池与分配器
内存对齐 · 内存池设计 · 缓存友好分配
07
图优化技术
常量折叠 · 算子融合 · 死代码消除 · 表达式化简
08
算子实现 (一)
基础数学算子 Add/Sub/Mul/Div · 向量化
09
算子实现 (二)
激活函数 ReLU / Sigmoid / Tanh · 近似计算
10
算子实现 (三)
矩阵运算 MatMul / Gemm · BLAS集成
11
算子实现 (四)
卷积 Conv2D · im2col / Winograd
12
算子实现 (五)
池化 MaxPool/AvgPool · 归一化 BatchNorm/LayerNorm
13
算子实现 (六)
张量操作 Reshape/Transpose/Concat/Split
14
执行引擎设计
同步/异步执行 · 任务调度器
15
内存复用策略
生命周期分析 · 复用图 · 最佳适配分配
16
量化基础
对称/非对称量化 · 参数计算 · QAT与PTQ
17
INT8量化实现
量化算子 · 反量化/再量化 · 校准数据集
18
图分割与异构计算
算子划分 · CPU/GPU异构 · 跨设备传输
19
动态形状支持
动态形状挑战 · 形状推断 · 内存预留
20
性能剖析与调优
Profiling工具 · 瓶颈分析 · 算子耗时统计
21
多线程与并行优化
线程池 · 任务并行 · 数据/流水线并行
22
缓存优化
CPU缓存层级 · 命中率优化 · 数据预取
23
SIMD指令集优化
SSE/AVX · 向量化编程 · 自动向量化
24
自定义算子开发
注册流程 · C++扩展 · Python绑定
25
调试与验证
数值精度 · 逐算子比对 · 梯度检查
26
模型转换与兼容性
PyTorch/TF转换 · 算子映射表维护
27
部署与集成
C++ SDK · Python API · RESTful服务
28
安全与稳定性
内存安全 · 异常处理 · 模型文件校验
29
实战案例 (一)
简化版TensorRT · 支持ResNet-50推理
30
实战案例 (二)
轻量MobileNet引擎 · 部署到ARM设备