ncnn笔记:01)windows+AndriodStudio在安卓机上快速构建一个深度学习分类模型

机器·深度学习 专栏收录该内容
37 篇文章 2 订阅

安装AndriodStudio

windowns10+AndriodStudio-3.5.2
下载地址: http://www.android-studio.org
若遇到 unable to access android sdk add-on list 点击cancel默认安装即可

组件安装

下载sdk,ndk等组件:File->Settings,sdk的路径默认路径为C:\Users\Javis\AppData\Local\Android\Sdk,勾选如下的组件:
组件安装

ncnn-android-squeezenet项目

github地址:https://github.com/nihui/ncnn-android-squeezenet
下载项目zip解压到合适的位置,项目路径中不能有空格和中文,否则会出现

ERROR: Cause: executing external native build for ndkBuild

使用andriodstdio打开该项目,会自动下载gradle-5.4.1-all.zip,由于网络原因可能会下载失败。
解决方法:退出AndriodStudio手动下载(全部安装包见文末百度云)https://services.gradle.org/distributions/gradle-5.4.1-all.zip,并把zip放到C:\Users\Javis\.gradle\wrapper\dists\gradle-5.4.1-all\3221gyojl5jsh0helicew7rwx下,重新打开AndriodStudio(参考

ncnn-android预编译库

ncnn-android-vulkan-lib.zip:包含ncnn的头文件等
下载地址:https://github.com/Tencent/ncnn/releases/tag/20200916
下载解压到项目ncnn-android-squeezenet-master\app\src\main\jni
ncnn-android-vulkan-lib

环境变量配置

File->project structure->SDK Location
添加NDK的路径:
在这里插入图片描述
并把该路径C:\Users\Javis\AppData\Local\Android\Sdk\ndk\21.3.6528147加入到系统环境变量中,一会编译时需要用到在这里插入图片描述

ndk-build编译

进入到ncnn-android-squeezenet-master\app\src\main\jni中运行ndk-build

D:\>cd D:\ProgramFiles\ncnn-android-squeezenet-master\app\src\main\jni
D:\ProgramFiles\ncnn-android-squeezenet-master\app\src\main\jni>ndk-build
Android NDK: WARNING: APP_PLATFORM android-24 is higher than android:minSdkVersion 1 in D:/ProgramFiles/ncnn-android-squeezen
et-master/app/src/main/AndroidManifest.xml. NDK binaries will *not* be compatible with devices older than android-24. See https://android.googlesource.com/platform/ndk/+/master/docs/user/common_problems.md for more information.
[armeabi-v7a] Compile++ thumb: squeezencnn <= squeezencnn_jni.cpp
[armeabi-v7a] SharedLibrary  : libsqueezencnn.so
[armeabi-v7a] Install        : libsqueezencnn.so => libs/armeabi-v7a/libsqueezencnn.so
[arm64-v8a] Compile++      : squeezencnn <= squeezencnn_jni.cpp
[arm64-v8a] SharedLibrary  : libsqueezencnn.so
[arm64-v8a] Install        : libsqueezencnn.so => libs/arm64-v8a/libsqueezencnn.so

编译完成后,会在main/libs生成对应的动态链接库so
so

添加andriod虚拟机

这里选择api-level-24,和andriod24对应
在这里插入图片描述

运行demo

若遇到

Cannot build selected target ABI: x86, no suitable splits configured: armeabi-v7a;

解决方法:在项目文件build.gradle 12行追加 “x86” (参考)

abiFilters "armeabi-v7a", "arm64-v8a", "x86"

在这里插入图片描述

小结:此次只预览了如何快速在andriod上搭建深度学习模型,具体细节笔者打算做一个小的系列,待续…

资源包百度云链接: https://pan.baidu.com/s/13PB0RHTAz9FtMjWUzCgwKA 提取码: kkdh

  • 0
    点赞
  • 2
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值