paddleLite初体验(环境问题)
Paddle Lite是百度开发的一种方便部署的深度学习推理框架,笔者最近想接触一些模型部署相关项目,就先接触了一下Paddle Lite,这篇文章主要是想记录一下运行例程的时候遇到的问题。
Paddle Lite是一个高性能、轻量级、灵活性强且易于扩展的深度学习推理框架,定位于支持包括移动端、嵌入式以及边缘端在内的多种硬件平台。
Paddle Lite Demo官方代码库:github
根据官方的介绍,我们在Android上进行模型部署需要具备以下环境条件:
Android Studio 4.2;
adb调试工具;
Android手机或开发版;
华为手机支持NPU的Demo(NPU的功能暂时只在nova5、mate30和mate30G上进行了测试,用户可自行尝试其它搭载了麒麟810和990芯片的华为手机(如nova5i pro、mate30 pro、荣耀v30,mate40或p40,且需要将系统更新到最新版)
Android Studio
在安装Android Studio之前先要安装JAVA环境,我这里安装的是JAVA17版本,jdk-17_windows-x64_bin.exe。
根据官方的推荐安装Android Studio4.2版本,特别注意不要安装过高版本,不要安装最新的,我就是开始装了2022版的后面与库不兼容,这里给出我下载的Android Studio文件名称:android-studio-ide-202.7322048-windows.exe,安装后的图标如下所示:
下载Paddle Lite Demo
在github下载Paddle Lite Demo的代码到本地:
git clone https://github.com/PaddlePaddle/Paddle-Lite-Demo.git
下载后的文件结构如下所示:
打开项目
使用Android Studio打开Paddle-Lite-Demo\object_detection\android\app\cxx\ssd_mobilenetv1_detection_demo项目,File->New->Import Project,打开上面对应的路径。一般情况下安卓项目前都有一个安卓机器人标志:
打开后会自动编译文件,可能会有超时的问题,等待一会即可,或者直接环境报错,这时进入下面步骤。
环境配置
更改build.gradle文件,在repositories前加入国内网址。
加入代码为:
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
然后按住Shift+Ctrl+Alt+S四个键,打开Project Structure配置Android Gradle Plugin、SDK等。
ndk的版本如果不能指定的话,建议自己去官网下载20.1.5948944版本,然后在local.properties里面手动给定路径:
sdk.dir=***
ndk.dir=***ndk\\20.1.5948944
强烈建议Android Gradle Plugin与我一致,如果软件自己下载超时的话,也是可以通过自己下载压缩包,放置到指定位置的,可以百度。
其余基本没有需要再修改的了,然后再进行File->Sync Project
如果幸运的话,等待一会后出现以下信息即为成功:
下载到手机
在下载到手机之前需要手机开启开发者模式,usb调试需要打开,允许安装应用。且上方出现app标志:
将手机连接到电脑:
上方出现手机信号即为成功,点击三角形,进行编译下载到手机:
此时会显示以下信息:
且会向电脑反馈检测模型推理时间:
手机界面如下所示: