介绍
百度 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
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即
,将当前目录下的Paddle-Lite文件夹挂载到容器中的/Paddle-Lite这个根目录下,并进入容器中。
到此已经可以成功进入 Docker 环境了
编译 demo
1. 首先你需要在 PaddleLite 官方下载性能测试 demo,
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
Top0 Egyptian cat - 0.497230
Top1 tabby, tabby cat - 0.409483
Top2 tiger cat - 0.081897
Preprocess time: 3.432000 ms
Prediction time: 9.780700 ms
Postprocess time: 0.610000 ms
4. 到此完成了 PaddleLite 功能和性能验证了,你可以开始参照官方 API 文档进行开发了。需要注意的是模型训练转换还是需要用 PaddlePaddle 在电脑上完成,PaddleLite 是裁剪版只能在设备端进行推理使用。
原作者:板蓝根