大数跨境
0
0

手把手教你在Arm边缘AI计算平台上部署飞桨模型

手把手教你在Arm边缘AI计算平台上部署飞桨模型 飞桨PaddlePaddle
2025-09-12
32
导读:当Arm与领先的开源深度学习平台强强联合会带来什么?

Arm携手百度加速边缘AI创新,OCR模型成功部署于Ethos-U85平台

Arm与百度达成合作,结合双方在高能效计算平台与AI模型技术方面的优势,推动边缘AI解决方案的快速开发与部署。此次合作重点在于将飞桨(PaddleLite)视觉模型成功部署于Arm Ethos-U85处理器,涵盖图像分类、目标检测、人脸检测、姿势估计、图像分割及光学字符识别(OCR)六大典型应用场景。

相关示例代码已开源至Arm-Examples GitHub公共仓库,开发者可获取完整开发环境,快速开展边缘AI应用开发。本文聚焦OCR场景中识别模型在Ethos-U85上的部署流程,并提供关键注意事项。

部署环境准备

部署前需确保运行环境满足以下软件配置要求:

  • Python 3.9版本
  • Cmake 3.21或3.22版本
  • 支持虚拟环境创建工具(如venv、Anaconda等)
  • 测试系统环境:Ubuntu 20.04或22.04

部署流程详解

步骤1:创建虚拟运行环境

# create virtual environment with Python 3.9
python3.9 -m venv ppocr_rec
source ppocr_rec/bin/activate

注:部分模型因涉及微调,训练与部署环境可能存在差异,请参考代码仓库中的具体指南。

步骤2:下载示例代码并安装依赖

# Download example source code
git clone https://github.com/Arm-Examples/Paddle-on-Ethos-U.git
cd Paddle-on-Ethos-U
git lfs pull
# Configure inference environment
bash install.sh

步骤3:下载飞桨OCR模型

# Download ppocr_rec model
wget -O ./model_zoo/PpocrRec_infer_int8/ch_ppocr_mobile_v2.0_rec_slim_opt.nb \
https://paddleocr.bj.bcebos.com/dygraph_v2.0/lite/ch_ppocr_mobile_v2.0_rec_slim_opt.nb

步骤4:模型转换

模型转换主要包括以下三个步骤:

  1. 生成中间表示(IR)文件:将飞桨格式模型(.nb)转换为JSON格式的IR文件。
# Convert .nb model into IR file (.json)
python ./readnb/write_model.py \
--model_path ./model_zoo/PpocrRec_infer_int8/ch_ppocr_mobile_v2.0_rec_slim_opt.nb \
--out_dir .
  1. 手动调整IR模型:通过补丁包快速完成模型结构调整。
# Modify the IR file with patch
patch -p0 model_zoo/PpocrRec_infer_int8/g_ch_ppocr_mobile_v2.0_rec_slim_opt.json \
< readnb/test_asset/ppocr_rec/g_ch_ppocr_rec.patch
  1. 编译为TOSA图并使用Vela编译器处理:可选操作,也可在下一步中自动完成。
# Final conversion and compilation with Vela
python write_model.py \
--model_path ../model_zoo/PpocrRec_infer_int8/g_ch_ppocr_mobile_v2.0_rec_slim_opt.json \
--out_dir ../model_zoo/PpocrRec_infer_int8 --do_vela

Ethos-U Vela编译器详情可参考PyPI社区或Arm开发者官网技术文档。

步骤5:构建OCR应用并验证结果

bash paddle_verify.sh -m ppocr_rec -p ./model_zoo/PpocrRec_infer_int8/test.jpg

测试输出示例如下:

Rec Reuslut: 纯臻营养护发素
Confidence: 0.966813
============ NPU Inferences : 1 ============
Profiler report, CPU cycles per operator:
ethos-u : cycle_cnt : 2083105832 cycles
Operator(s) total: 574619648 CPU cycles
Inference runtime: -987073648 CPU cycles total
... [其余日志省略]
Running Model Exit Successfully

总结

在基于Arm架构的边缘AI设备上部署飞桨模型,通常涉及模型优化、软件准备和硬件适配等环节。通过本次提供的标准化流程,开发者可高效完成AI模型在边缘端的部署,实现低延迟、高能效的本地推理。该方案为嵌入式AI应用提供了可复用的技术路径,助力开发者加速产品落地。

【声明】内容源于网络
0
0
飞桨PaddlePaddle
1234
内容 1696
粉丝 0
飞桨PaddlePaddle 1234
总阅读9.8k
粉丝0
内容1.7k