Edgboard:
PaddleLite进行推理,支持Paddle模型的推理部署(不需要模型转化过程)
支持c++和hpyton的接口,提供ZU3,ZU5,ZU9
推荐使用Paddlx进行模型训练,其训练出的模型会有API进行模型导出
# 图像前处理
from paddlex.cls import transforms
trans = transforms.Compose([
在数组中输入想要的数据前处理方式,比如归一化,随机裁剪等。
])
# 数据加载
# 图像分类可以使用
pdx.datasets.ImageNet
# 目标检测模型可以使用
pdx.datasets.VOCDetection
# 或者这两个API,主要是根据数据集不同的标注格式进行选择
pdx.datasets.COCODetection
# 模型选择
# 图像分类
pdx.cls库中选择对应的模型
# 目标检测
pdx.det
# 这里一定要写好num_classes参数,不然会出大问题
# 训练很简单
对刚刚选择的模型使用train就行,还有一些参数需要设置,可以查看文档
https://paddlex.readthedocs.io/zh_CN/release-1.3/apis/transforms/det_transforms.html
使用
paddlex --export_inference --model_dir=模型路径 --save_dir=导出模型路径 --fixed_input_shape=网络输入的维度
这个指令1就可以导出适用与Edgeboard的模型了
使用RPN连接上Edgeborad的操作系统,并将模型h传入到板子中,板子会有初始ip,通过初始ip可以对Edgeboard进行设置
这里input,output的数据类型是Tnesor,预测都是事先写好config文件,然后在使用时直接加载config文件。
图像前处理的配置文件:
python接口代码
安卓端
使用paddlelite准备部署的模型
使用下面的指令生成nbn问夹
paddle_lite_opt --model_file=.pdmodel文件的路径 --parm_file=.pdiparmas文件的路径 --optimize_out=输出路径 --optimize_out_type=naive_buffer --valid_targets=arm
在andoird studio中设置里的android SDK 选择cmake,和NDK。并在file->project Stucture中选择NDK的路径
将nb文件放置到assets/modeles文件夹下,assets/labels中有一个.txt文件,表示标签名称,顺序一定要对
使用Build->generate signed bundle/apk即可打包成apk文件,第一次打包需要设置密钥文件