在 React Native 与移动应用中使用 ONNX 模型的方法
ONNX(Open Neural Network Exchange)是一种通用的机器学习模型格式,支持 一次训练,多端部署。通过 ONNX,可以将使用 PyTorch、TensorFlow 训练的模型,高效地运行在 Android、iOS 以及 React Native、Flutter 等跨平台移动框架 上。
本文以 React Native 为核心,系统性介绍如何在移动端使用 ONNX,并进一步说明 端侧 AI(On-device AI) 与 本地大模型(Local LLM) 在实际业务中的价值。
为什么 ONNX 适合移动应用
ONNX 在移动端广泛应用,主要原因包括:
- 不绑定特定训练框架,技术路线灵活
- 支持 CPU 及移动端加速器(NNAPI / CoreML)
- 无需 Python 运行环境
- 非常适合离线推理与低延迟场景
在注重 稳定性、数据安全与用户体验 的场景中,ONNX 是移动 AI 的理想选择。
移动端 ONNX Runtime 选择
| 平台 | 推荐 Runtime |
|---|---|
| React Native | onnxruntime-react-native |
| Android(原生) | ONNX Runtime Android |
| iOS(原生) | ONNX Runtime iOS |
| Flutter | 通过 Platform Channel 调用 ONNX Runtime |
| Ionic / Capacitor | 原生插件封装 ONNX Runtime |
⚠️ 纯 JavaScript 方式运行 ONNX 并不适合生产环境。
在 React Native 中使用 ONNX(推荐方案)
1. 安装 ONNX Runtime
为了获得更好的稳定性,建议使用 React Native CLI:
yarn add onnxruntime-react-native
cd ios && pod install && cd ..
Expo 用户需要使用 prebuild 与 custom dev client。
2. 将 ONNX 模型集成到应用中
常见方式包括:
- 将模型直接打包进应用(assets/models/model.onnx)
- 应用首次启动时下载模型并缓存到本地
在早期阶段,推荐 直接随应用打包。
3. 创建推理 Session
import * as ort from "onnxruntime-react-native";
export async function loadModel(modelPath: string) {
return await ort.InferenceSession.create(modelPath, {
executionProviders: ["cpu"],
});
}
4. 执行推理
export async function runInference(session, inputName, data, dims) {
const tensor = new ort.Tensor("float32", data, dims);
const feeds = { [inputName]: tensor };
return await session.run(feeds);
}
请务必确认模型的 输入名称与维度 完全一致。
图像预处理:最容易出错的环节
大多数视觉模型通常要求:
- Tensor 形状为
[1, 3, H, W]或[1, H, W, 3] - 像素值归一化
- 正确的 RGB / BGR 顺序
任何细微的预处理错误,都会直接影响推理结果。
在移动端使用 Local LLM 的优势
核心价值
- 用户与业务数据不出设备,安全性高
- 无网络环境下仍可正常工作
- 推理延迟稳定,提升交互体验
- 大幅降低云端推理与 API 成本
这在 政务、工业、企业级应用 中尤为重要。
Local LLM 在移动端的典型应用场景
政务 / GovTech
- 表单填写辅助与政策解释
- 本地文档与规章制度总结
智慧农业
- 作物病害识别结果解释
- 传感器数据的智能总结与决策建议
制造业 / 企业应用
- 设备告警说明
- 运维与巡检报告自动总结
消费级应用
- 笔记、邮件摘要
- 不依赖云端的个人 AI 助手
需要注意的限制条件
- 模型规模需受控(通常 1–4B 参数以内)
- 必须进行量化(INT8 / INT4)
- 性能不及云端 GPU
选择 合适的业务场景 是成功落地的关键。
总结
通过 ONNX 与 Local LLM 的结合,可以在移动端构建 高安全性、低延迟、支持离线运行 的 AI 应用。
React Native + ONNX Runtime 在开发效率与工程稳定性之间取得了良好平衡,非常适合政务、工业、企业级以及智慧农业等实际场景。
Get in Touch with us
Related Posts
- The ROI of Smart Energy: How Software Is Cutting Costs for Forward-Thinking Businesses
- How to Build a Lightweight SOC Using Wazuh + Open Source
- How to Connect Your Ecommerce Store to Your ERP: A Practical Guide (2026)
- What Tools Do AI Coding Assistants Actually Use? (Claude Code, Codex CLI, Aider)
- How to Improve Fuel Economy: The Physics of High Load, Low RPM Driving
- 泰国榴莲仓储管理系统 — 批次追溯、冷链监控、GMP合规、ERP对接一体化
- Durian & Fruit Depot Management Software — WMS, ERP Integration & Export Automation
- 现代榴莲集散中心:告别手写账本,用系统掌控你的生意
- The Modern Durian Depot: Stop Counting Stock on Paper. Start Running a Real Business.
- AI System Reverse Engineering:用 AI 理解企业遗留软件系统(架构、代码与数据)
- AI System Reverse Engineering: How AI Can Understand Legacy Software Systems (Architecture, Code, and Data)
- 人类的优势:AI无法替代的软件开发服务
- The Human Edge: Software Dev Services AI Cannot Replace
- From Zero to OCPP: Launching a White-Label EV Charging Platform
- How to Build an EV Charging Network Using OCPP Architecture, Technology Stack, and Cost Breakdown
- Wazuh 解码器与规则:缺失的思维模型
- Wazuh Decoders & Rules: The Missing Mental Model
- 为制造工厂构建实时OEE追踪系统
- Building a Real-Time OEE Tracking System for Manufacturing Plants
- The $1M Enterprise Software Myth: How Open‑Source + AI Are Replacing Expensive Corporate Platforms













