地平线与jetson nano部署

地平线

基本流程就是

飞桨模型训练->使用paddle2onnx转化成onnx模型->进行模型推理->模型量化->板子上测试

假设,我们已经训练好了一个paddle的模型,现在使用

pip install paddle2onnx onnx

安装paddle2onnx和onnx两个包,在进行模型转化的时候一定要把BCHW的B设置为1

# 定义输入数据
input_spec = paddle.static.InputSpec(shape=[1, 3, 224, 224], dtype='float32', name='image')

# ONNX模型导出
# enable_onnx_checker设置为True,表示使用官方ONNX工具包来check模型的正确性,需要安装ONNX(pip install onnx)
paddle.onnx.export(net, 'mobilenet_v2', input_spec=[input_spec], opset_version=10, enable_onnx_checker=True)

设置好对应的输入维度,以及类型,然后使用paddle.onnx.export导出onnx模型

转化结束后需要使用地平线提供的天工开物工具链对onnx进行模型校验与转化,获得bin文件

然后使用天公开物工具链,调用上板测试模块,进行应用构建,数据处理,通过scp指令发送到开发板下,执行评测脚本即可完成推理过程。

参考项目:https://aistudio.baidu.com/aistudio/projectdetail/1818294?channelType=0&channel=0

Jetson nano

先下载官方编译好的Jetson nano预测库:https://paddleinference.paddlepaddle.org.cn/user_guides/download_lib.html#python

使用pip3 install paddlepaddle_gpu-2.1.1-cp36-cp36m-linux_aarch64.whl 进行安装

使用!git clone https://github.com/PaddlePaddle/Paddle-Inference-Demo.git拉取paddle-inference-demo

修改run.sh文件中的python为python3

运行内存尽量给大。

在demo中主要由以下几步重要的部署步骤

从infer_cfg.yml文件中读取label信息

配置.pdmodel和.pdiparams文件路径,并放入到Paddle.inference的Config类的实例对象中

如果可以使用GPU则需要手动分配GPU显存和对应的GPU号,开启IR优化和内存优化

使用create_predictor这个API构建预测器

使用cv2对图片进行加载和前处理

使用预测器的get_input_names的方法,获取输入层的名字,将图片设置到预测器中,启用predictor.run()即可完成推理过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值