1126/1109 PaddleLite 适配
本帖最后由 板蓝根 于 2021-5-31 16:20 编辑介绍
百度 PaddlePaddle(飞桨) 是国内首个开源的深度学习框架。PaddlePaddle 官网自身包含非常丰富的文档,其中有对几款主流的国外框架 API 接口一对一的对比解释,所以非常易用和方便框架转移。由于是国产的深度学习框架,所以丰富的中文文档也对初学者来说非常友好,文档中甚至还包括了高等数学、线性代数、微积分等数学基础知识的复习可以说是非常贴心了。
搭建编译环境
系统:Ubuntu 18.04
PaddlePaddle 官方提供了 PaddleLite 的 Docker 镜像,用户可以完全不用关心编译环境的搭建了。执行下面步骤前,请先自行为你的电脑安装 Docker。
1. 准备Docker镜像:有两种方式准备Docker镜像,推荐从Dockerhub直接拉取Docker镜像
# 方式一:从Dockerhub直接拉取Docker镜像
docker pull paddlepaddle/paddle-lite:2.0.0_beta
# 方式二:本地源码编译Docker镜像
git clone https://github.com/PaddlePaddle/Paddle-Lite.git
cd Paddle-Lite/lite/tools
mkdir mobile_image
cp Dockerfile.mobile mobile_image/Dockerfile
cd mobile_image
docker build -t paddlepaddle/paddle-lite .2. 启动Docker容器:在拉取Paddle-Lite仓库代码的上层目录,执行如下代码,进入Docker容器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,运行命令完成编译
cd /Paddle-Lite/PaddleLite-linux-demo/image_classification_demo/shell
./build.sh armhf
4. 可执行文件输出到同级的 build 目录下 image_classification_demo
运行
根据你的环境选着 adb 或者 ssh 通信,这里以 CAM-CRV1109S2U 使用 ADB 为例。
1. 修改 run_with_adb.sh
MODEL_NAME=mobilenet_v1_int8_224_for_rockchip_npu
2. 确认 adb 能通信上后,执行 ./run_with_adb.sh armhf
3. 查看结果,查看性能warmup: 5 repeat: 10, average: 9.780700 ms, max: 10.072000 ms, min: 9.034000 ms
results: 3
Top0Egyptian cat - 0.497230
Top1tabby, tabby cat - 0.409483
Top2tiger cat - 0.081897
Preprocess time: 3.432000 ms
Prediction time: 9.780700 ms
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/
意思是直接用paddlelite部署到1126板子里就可以是吗?不用最后一定转换成rknn 星晴 发表于 2021-7-30 23:13
意思是直接用paddlelite部署到1126板子里就可以是吗?不用最后一定转换成rknn
bingo,因为是 paddlelite 主动支持 1126 而不是 1126 rknn 去适配。你可以到 paddlelite 官方看看,有介绍 用 paddlelite 与 rknn-toolkit-lite 的性能差距,以及其它潜在差别的对比有吗?
页:
[1]