文档简介:
本文档介绍如何通过进程模式下发easyedge的linux-python-sdk。
本文档使用了easyedge开源的sdk做验证
依赖环境安装
参考 easyedge linux-python-sdk 使用指南
(1) 安装paddle环境 x86用paddlepaddle,arm可以安装paddlelite。
(2) 安装easyedge python wheel包 在下载的sdk中包含了对应的wheel包。安装版本需要与python版本对应。
(3)环境依赖检查。安装完成后,检查是否安装成功
pip3 list --format=columns | grep paddlelite
paddlelite 2.11
pip3 list --format=columns | grep BaiduAI-EasyEdge-SDK
BaiduAI-EasyEdge-SDK 1.3.1
部署准备
(1)模型SDK处理 修改demo_serving.py文件 arm环境使用的paddle-lite,engine使用edge.Engine.PADDLE_LITE。 x86换使用的是edge.Engine.PADDLE_FLUID server.run(host=host, port=port,device=edge.Device.CPU, engine=edge.Engine.PADDLE_LITE)
(2)运行脚本 不通过BIE直接本地编译运行截图如下:
因为BIE进程模式只支持运行sh脚本,不支持python。所以当以进程模式下发时,我们需要通过sh脚本来运行python脚本 示例bootstrap脚本:
#! /bin/bash
export OPENBLAS_CORETYPE=ARMV8
# 在armv8 CPU上运行,需要添加环境变量
IFS=$'\n'
folders=($(find mnt/easyedge/ -type d -name "EasyEdge-Linux-*" -maxdepth 1))
unset IFS
model_folder=${folders[0]
# 选择{工作路径}/mnt/easyedge下以EasyEdge-Linux开头的folder
python3 "${model_folder}/python/infer_demo/demo_serving.py" "${model_folder}/RES/"
(3)创建程序包 整理程序入口配置文件:
- 文件名:program.yml
- 文件内容:entry: "bootstrap.sh" 将program.yml压缩为zip文件 zip program.yml.zip program.yml
创建应用和配置项
(1)创建程序包配置项,同时引入program.yml.zip 和 bootstrap.sh.zip
(2)创建配置项,引入模型sdk,是否解压选择“是”
(3)创建进程应用 引入程序包配置项; 引入模型配置项,目录填写/mnt/easyedge。
(4)将应用部署至边缘节点