通过MACE在Android手机上部署深度学习模型

本文详细介绍了如何使用MACE将深度学习模型部署到Android手机上,包括环境搭建、项目构建、模型转换、Android APK生成及运行。通过修改配置文件,将模型格式转换为代码形式,并使用bazel工具进行编译生成库文件。接着,在Android Studio模板工程中整合库文件和模型,执行build.sh脚本编译并安装APK。最终,APP能够运行并实现物体识别功能。

1. MACE的环境搭建

       参考我的博客:MACE的环境搭建——conda实现

2. 构建项目

     (1)下载MACE项目到本地

git clone https://github.com/XiaoMi/mace.git

       (2)  下载MACE Model Zoo 项目

git clone https://github.com/XiaoMi/mace-models.git

      (3)  编译MACE生成库文件

       /path/to/mace是你自己刚才下载的mace代码路径

cd /path/to/mace
# Build library
# output lib path: builds/lib
bash tools/bazel_build_standalone_lib.sh

      开始编译,出现Build completed successfully 表示编译成功。

     (4) 生成C++代码

      首先修改文件,修改mace-models/mobilenet-v2下的mobilenet-v2.yml和mobilenet-v2-host.yml文件,把

model_graph_format: file                                                        
model_data_format: file

改为:

model_graph_format: code                                                        
model_data_format: code

      然后转换文件

python tools/converter.py convert --config=/MACE/mace-models/mobilenet-v2/mobilenet-v2.yml

     输出如下:

     我们可以看到在路径 builds/lib 下里面的文件夹里面生成的 .so 文件,这正是我们需要的库文件,为后期的Android  的JNI调用做准备。C++的头文件在build/mobilenet-v2/include/mace/public 目录下。

3.  生成Android的apk文件

     (1) 在/MACE/mace/mace/examples/ 目录下看到android文件夹,这个就是AndroidStudio模板工程,其中是不完善的,缺少相关的lib, model 和 head file,需要添加进来。 需要执行build.sh进行编译和拷贝。

cd mace/exampls/android
./build.sh dynamic
# if libmace.a is needed, update `macelibrary/CMakeLists.txt` and run with `./build.sh static`.

   出现下面的提示,说明编译成功了:

      (2) 安装apk到手机

# running after build step and in `mace/exampls/android` directory
adb install ./app/build/outputs/apk/app/release/app-app-release.apk

     (3) 运行apk

     记得给app相机使用权限,在AndroidStudio上第一次调试有闪退现象,自己再重新打开app就可以了,运行的是物体识别的模型。

 

好了,深度学习模型就部署到手机端了~哈哈哈

当然,编译过程中也遇到一些坑,我都一一解决了,写了篇博客记录了一下,避免以后采坑:MACE在Android手机上部署深度学习模型——采坑记录

参考:https://blog.youkuaiyun.com/u012505617/article/details/85763065

 

评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guopeiAI

请博主加个火腿

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值