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

相关推荐
水上冰石8 小时前
【MHS协议】第四章:ESP32 接入 MHS 协议实战:从零构建一个 MHS 兼容设备
人工智能·架构·机器人
知了一笑9 小时前
个体看衰AI,企业加速转型
人工智能·ai
飞哥数智坊10 小时前
一只虾到多只虾:先聊聊我为什么要“拆虾”
人工智能
飞哥数智坊10 小时前
架构图 SKILL 封装好了,顺便做了虾的适配
人工智能
冬奇Lab10 小时前
Code Agent 解剖(16):AgentTeams——为什么一个 agent 不够用?
人工智能
东风破_10 小时前
聊天记录越来越长怎么办?从消息数量截断到 Token 截断
人工智能
冬奇Lab10 小时前
开源项目第204期:LoopX — 长周期 Agent 控制平面,跑在 Codex/Claude Code 之上的状态管理层
人工智能·开源
ZGIAI11 小时前
旧模型下线前,客服 Agent 怎么迁移
人工智能·架构
东风破_11 小时前
程序重启后,AI 为什么把你忘了?从 InMemory 到持久化 Memory
人工智能
ZGIAI11 小时前
客服知识库更新后,怎么批量验收
人工智能·架构