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:模型转换
模型转换主要包括以下三个步骤:
- 生成中间表示(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 .
- 手动调整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
- 编译为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应用提供了可复用的技术路径,助力开发者加速产品落地。

