paddle在Edgeboard与安卓上部署

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文件,第一次打包需要设置密钥文件

### PaddleDetection 在 VSCode 上的部署教程和配置方法 要在 Visual Studio Code (VSCode) 中成功部署 PaddleDetection,需要完成以下几个方面的准备工作: #### 1. 环境准备 确保已安装 Python 并配置好虚拟环境。推荐使用 `conda` 或者 `venv` 创建独立的开发环境[^1]。 ```bash # 使用 conda 创建虚拟环境 conda create -n paddle_env python=3.7 conda activate paddle_env # 或者使用 venv python -m venv paddle_env source paddle_env/bin/activate ``` #### 2. 安装依赖库 下载并克隆 PaddleDetection 的官方仓库,并按照其文档中的说明安装必要的依赖包。 ```bash git clone https://github.com/PaddlePaddle/PaddleDetection.git cd PaddleDetection pip install -r requirements.txt ``` 如果遇到 CUDA 版本兼容问题,可以参考官方文档调整对应的版本需求[^4]。 #### 3. 数据集准备验证 在本地准备好用于训练的数据集,并将其转换为支持的格式(如 COCO 格式)。可以通过运行以下命令来验证数据集是否正确加载。 ```bash python tools/check_data.py --dataset_dir ./data/coco --image_set train ``` 此过程会读取指定路径下的标注文件以及图像列表,确认无误后再继续后续操作。 #### 4. 配置模型参数 编辑配置文件以适配自己的硬件资源情况及具体应用场景的需求。通常情况下,这些配置会被存储在一个 YAML 文件中,例如 `configs/mask_rcnn_r50_1x.yml`。 以下是部分常见选项解释: - **architecture**: 指定使用的检测框架名称。 - **pretrain_weights**: 提供预训练权重地址或者设置为空字符串表示随机初始化。 - **learning_rate**: 学习率调节策略及其超参设定。 示例代码片段展示如何修改默认的学习速率调度器: ```yaml LearningRate: base_lr: 0.02 schedulers: - !CosineAnnealingDecay {} ``` #### 5. 启动训练流程 利用 `run_paddlex.py` 脚本来启动完整的生命周期管理功能,包括但不限于数据增强处理、网络结构定义直至最终性能评测阶段。 ```bash python run_paddlex.py --config configs/mask_rcnn_r50_1x.yml \ --exec_mode=train \ --device=gpu ``` 注意这里传递给脚本的关键字参数决定了当前动作类别以及其他细粒度控制逻辑。 --- ### 注意事项 对于 Windows 用户而言,还需额外关注动态链接库(DLLs)的位置关系,类似于 ONNX Runtime 场景下提到的做法,即把缺失的核心组件拷贝至目标可执行程序所在的工作区根目录或是全局系统级共享区域。 另外值得注意的一点是,尽管提供了图形界面集成方案的可能性,但从稳定性角度出发并不鼓励随意改动核心业务模块内部实现细节。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值