Firefly开源社区

打印 上一主题 下一主题

1126/1109 PaddleLite 适配

1万

积分

14

威望

13

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
11182

优秀版主

1126/1109 PaddleLite 适配

发表于 2021-5-31 12:03:41      浏览:3257 | 回复:3        打印      只看该作者   [复制链接] 楼主
本帖最后由 板蓝根 于 2021-5-31 16:20 编辑

介绍
百度 PaddlePaddle(飞桨) 是国内首个开源的深度学习框架。PaddlePaddle 官网自身包含非常丰富的文档,其中有对几款主流的国外框架 API 接口一对一的对比解释,所以非常易用和方便框架转移。由于是国产的深度学习框架,所以丰富的中文文档也对初学者来说非常友好,文档中甚至还包括了高等数学、线性代数、微积分等数学基础知识的复习可以说是非常贴心了



搭建编译环境
系统:Ubuntu 18.04
PaddlePaddle 官方提供了 PaddleLite 的 Docker 镜像,用户可以完全不用关心编译环境的搭建了。执行下面步骤前,请先自行为你的电脑安装 Docker。
1. 准备Docker镜像:有两种方式准备Docker镜像,推荐从Dockerhub直接拉取Docker镜像
  1. # 方式一:从Dockerhub直接拉取Docker镜像
  2. docker pull paddlepaddle/paddle-lite:2.0.0_beta

  3. # 方式二:本地源码编译Docker镜像
  4. git clone https://github.com/PaddlePaddle/Paddle-Lite.git
  5. cd Paddle-Lite/lite/tools
  6. mkdir mobile_image
  7. cp Dockerfile.mobile mobile_image/Dockerfile
  8. cd mobile_image
  9. docker build -t paddlepaddle/paddle-lite .
复制代码
2. 启动Docker容器:在拉取Paddle-Lite仓库代码的上层目录,执行如下代码,进入Docker容器
  1. mkdir Paddle-Lite
复制代码
该命令的含义:将容器命名为paddlelite_docker<container-name>,将当前目录下的Paddle-Lite文件夹挂载到容器中的/Paddle-Lite这个根目录下,并进入容器中。

到此已经可以成功进入 Docker 环境了



编译 demo
1. 首先你需要在 PaddleLite 官方下载性能测试 demo,https://paddlelite-demo.bj.bcebos.com/devices/rockchip/PaddleLite-linux-demo_v2_9_0.tar.gz


2. 解压到刚刚创建了 Paddle-Lite 目录


3. 进入 Docker,运行命令完成编译
  1. cd /Paddle-Lite/PaddleLite-linux-demo/image_classification_demo/shell
  2. ./build.sh armhf
复制代码

4. 可执行文件输出到同级的 build 目录下
image_classification_demo


运行
根据你的环境选着 adb 或者 ssh 通信,这里以 CAM-CRV1109S2U 使用 ADB 为例。
1. 修改 run_with_adb.sh
  1. MODEL_NAME=mobilenet_v1_int8_224_for_rockchip_npu
复制代码
2. 确认 adb 能通信上后,执行 ./
run_with_adb.sh armhf


3. 查看结果,查看性能
  1. warmup: 5 repeat: 10, average: 9.780700 ms, max: 10.072000 ms, min: 9.034000 ms
  2. results: 3
  3. Top0  Egyptian cat - 0.497230
  4. Top1  tabby, tabby cat - 0.409483
  5. Top2  tiger cat - 0.081897
  6. Preprocess time: 3.432000 ms
  7. Prediction time: 9.780700 ms
  8. Postprocess time: 0.610000 ms
复制代码
4. 到此完成了 PaddleLite 功能和性能验证了,你可以开始参照官方 API 文档进行开发了。需要注意的是模型训练转换还是需要用 PaddlePaddle 在电脑上完成,PaddleLite 是裁剪版只能在设备端进行推理使用。


链接

Paddle-Lite wiki:https://paddle-lite.readthedocs.io/zh/latest/source_compile/compile_env.html#docker
PaddlePaddle 文档库:https://www.paddlepaddle.org.cn/ ... stall/index_cn.html
PaddlePaddle 官网:https://www.paddlepaddle.org.cn/
回复

使用道具 举报

18

积分

0

威望

0

贡献

技术小白

积分
18
发表于 2021-7-30 23:13:09        只看该作者  沙发
意思是直接用paddlelite部署到1126板子里就可以是吗?不用最后一定转换成rknn
回复

使用道具 举报

1万

积分

14

威望

13

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
11182

优秀版主

发表于 2021-8-2 09:13:04        只看该作者  板凳
星晴 发表于 2021-7-30 23:13
意思是直接用paddlelite部署到1126板子里就可以是吗?不用最后一定转换成rknn

bingo,因为是 paddlelite 主动支持 1126 而不是 1126 rknn 去适配。你可以到 paddlelite 官方看看,有介绍
回复

使用道具 举报

154

积分

0

威望

0

贡献

技术小白

积分
154
发表于 2022-6-7 16:27:18        只看该作者  地板
paddlelite rknn-toolkit-lite 的性能差距,以及其它潜在差别的对比有吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表