AI 模型部署体系全景:从 PyTorch 到 RKNN 的嵌入式类比解析

📘 AI 模型部署体系全景:从 PyTorch 到 RKNN 的嵌入式类比解析


🧠 一、AI 模型部署的整体流程

AI 模型的部署流程可以类比嵌入式系统的启动流程:

阶段 嵌入式系统 AI 模型部署
源码定义 DTS + SPL + U-Boot PyTorch / TensorFlow 模型结构
编译构建 U-Boot.img ONNX / TFLite / RKNN / TensorRT
烧录部署 烧录到 eMMC / SPI 推理引擎加载模型
执行运行 SPL/U-Boot 启动 GPU/NPU 执行推理逻辑

🧩 二、主流 AI 框架与模型格式对照表

框架 常见模型 原始格式 可导出格式 推理引擎 典型后缀
PyTorch YOLO, LLM, Qwen .pt, .pth .onnx TensorRT, ONNX Runtime .pt, .onnx, .engine
TensorFlow SSD, MobileNet .pb, .ckpt .tflite, .onnx TFLite, TensorRT .pb, .tflite, .onnx
Caffe AlexNet, VGG .caffemodel, .prototxt .onnx Caffe, TensorRT .caffemodel, .prototxt, .onnx
Darknet YOLOv3/v4 .weights, .cfg .onnx TensorRT, OpenCV DNN .weights, .cfg, .onnx
PaddlePaddle PP-YOLO, ERNIE .pdmodel, .pdparams .onnx Paddle Lite, ONNX Runtime .pdmodel, .onnx
Keras 简化版 TF 模型 .h5 .tflite, .onnx TFLite, ONNX Runtime .h5, .tflite, .onnx
RKNN Toolkit 任意模型转 Rockchip 格式 .onnx, .tflite, .pb.rknn .rknn RKNN Lite, RKNN API .rknn

📦 三、模型文件后缀详解

后缀 来源 含义 特点
.pt / .pth PyTorch 原始模型文件 包含结构和权重,训练环境使用
.onnx 通用 中间交换格式 跨框架部署,支持多平台
.pb TensorFlow Protocol Buffer 格式 TF 原始模型,适合服务器部署
.tflite TensorFlow Lite 轻量模型 适合移动端和嵌入式设备
.caffemodel Caffe 权重文件 .prototxt 配合使用
.prototxt Caffe 网络结构定义 类似设备树结构定义
.weights Darknet 权重文件 YOLOv3/v4 原始格式
.cfg Darknet 网络结构定义 配合 .weights 使用
.h5 Keras 模型结构 + 权重 可导出为 .tflite.onnx
.rknn Rockchip Rockchip 专用格式 用于 RK3588/NPU 推理
.engine TensorRT 编译后的推理引擎 高速执行,适合 Jetson
.pdmodel / .pdparams PaddlePaddle Paddle 模型结构与参数 Paddle 专用格式

🔄 四、ONNX 的核心作用与转换流程

ONNX 是 AI 模型部署中的"中间格式",类似于嵌入式系统中的 .dtb

  • 跨平台兼容:支持 PyTorch、TensorFlow、Caffe、Keras 等框架导出
  • 部署灵活:可用于 TensorRT、ONNX Runtime、RKNN Toolkit 等推理引擎
  • 便于优化:支持量化、剪枝、融合等模型优化操作

示例转换流程(YOLOv8)

复制代码
YOLOv8.pt → YOLOv8.onnx → YOLOv8.engine(Jetson)
                     ↓
               YOLOv8.rknn(RK3588)

🚀 五、典型平台部署路径

Jetson 平台(NVIDIA)

步骤 工具 文件
模型训练 PyTorch .pt
导出中间格式 ONNX .onnx
编译推理引擎 TensorRT .engine
推理执行 C++/Python + TensorRT 实时目标检测

RK3588 平台(Rockchip)

步骤 工具 文件
模型准备 ONNX / TFLite .onnx / .tflite
转换为 RKNN RKNN Toolkit .rknn
推理执行 RKNN API / Lite NPU 加速推理

Android 平台

步骤 工具 文件
模型训练 TensorFlow / Keras .pb / .h5
导出轻量模型 TFLite Converter .tflite
推理执行 TFLite Runtime 手机端部署推理

🧠 六、LLM 与 Qwen 的位置

名称 类型 说明
LLM(Large Language Model) 模型类型 用于自然语言理解与生成,参数量巨大
Qwen(通义千问) 模型实例 阿里巴巴推出的 LLM,支持中文、代码、多模态输入
部署方式 推理引擎 可导出为 ONNX,部署到服务器或边缘设备
类比嵌入式 脚本解释器 类似复杂 shell 脚本系统,支持上下文理解与生成

📘 七、嵌入式类比总结表

AI 概念 嵌入式类比 说明
PyTorch 模型(.pt) U-Boot 源码 原始模型定义
ONNX 模型(.onnx) 编译后的设备树(.dtb) 中间格式,跨平台
TensorRT 引擎(.engine) 烧录后的 U-Boot 镜像 高速执行体
推理执行 SPL/U-Boot 启动 实际运行逻辑
模型结构定义(cfg, prototxt) DTS 网络结构描述
模型转换工具链 编译器 模型构建与优化流程

🛠️ 八、推荐工具链与脚本模板

平台 工具链 推荐脚本
Jetson PyTorch → ONNX → TensorRT trtexec, torch.onnx.export
RK3588 ONNX → RKNN rknn_toolkit, rknn_convert.py
Android TF → TFLite tflite_convert, FlatBuffer
通用服务器 ONNX → ONNX Runtime onnxruntime.InferenceSession

相关推荐
MOMO陌染5 分钟前
Python 饼图入门:3 行代码展示数据占比
后端·python
vvoennvv41 分钟前
【Python TensorFlow】 TCN-GRU时间序列卷积门控循环神经网络时序预测算法(附代码)
python·rnn·神经网络·机器学习·gru·tensorflow·tcn
YJlio1 小时前
[编程达人挑战赛] 用 PowerShell 写了一个“电脑一键初始化脚本”:从混乱到可复制的开发环境
数据库·人工智能·电脑
RoboWizard1 小时前
PCIe 5.0 SSD有无独立缓存对性能影响大吗?Kingston FURY Renegade G5!
人工智能·缓存·电脑·金士顿
自学互联网1 小时前
使用Python构建钢铁行业生产监控系统:从理论到实践
开发语言·python
无心水1 小时前
【Python实战进阶】7、Python条件与循环实战详解:从基础语法到高级技巧
android·java·python·python列表推导式·python条件语句·python循环语句·python实战案例
霍格沃兹测试开发学社-小明1 小时前
测试左移2.0:在开发周期前端筑起质量防线
前端·javascript·网络·人工智能·测试工具·easyui
懒麻蛇1 小时前
从矩阵相关到矩阵回归:曼特尔检验与 MRQAP
人工智能·线性代数·矩阵·数据挖掘·回归
xwill*2 小时前
RDT-1B: A DIFFUSION FOUNDATION MODEL FOR BIMANUAL MANIPULATION
人工智能·pytorch·python·深度学习
网安INF2 小时前
机器学习入门:深入理解线性回归
人工智能·机器学习·线性回归