[从头搭建]用NCNN实现最简单的Squeezenet在Android移动端进行推理

程序效果演示


程序运行机制


程序API概览


程序源码链接

VIII-Cygnusx/Android_Developing at 1_ncnn_sqsqueezenet (github.com)icon-default.png?t=N7T8https://github.com/VIII-Cygnusx/Android_Developing/tree/1_ncnn_sqsqueezenet


程序环境

Ubuntu Android Studio 2023.2.1版本

ncnn 20240102 版 android_vulkan_shared预编译库+源文件


程序环境搭建(NCNN Ubuntu搭建)

下载ncnn项目到本地进行编译

git clone https://github.com/Tencent/ncnn.git    #实在不行就把github改称gitee
cd ncnn
mkdir build && cd build
cmake ..                                         #默认就行
make -j16
make install

至此如果你顺利编译完毕你会发现你当前的build文件夹内会生成一个install文件,此时你需要回到你的主目录下面进行以下操作

cd
nano .bashrc
//在.bashrc最下面输入(xxxx是你的当前用户名)
export CMAKE_PREFIX_PATH="/home/xxxx/ncnn/build/install:$CMAKE_PREFIX_PATH"
//输入完成再退出

这样你在使用CMakeLists.txt的时候找ncnn包就不会报错。


创建一个Android Studio项目

NCNN接入

选择新建一个Android studio项目点击Native C++

选择C++11

进入工作空间

直接把你下载的android_vulkan_shared预编译库丢进如图这个位置。

接下来修改CMakeLists.txt

project("xxxx")
//在project下面添加下面两行代码就行了注意这里的xxxxxx代表你下的预编译版本号
set(ncnn_DIR ${CMAKE_SOURCE_DIR}/ncnn-xxxxxx-android-vulkan-shared/${ANDROID_ABI}/lib/cmake/ncnn)
find_package(ncnn REQUIRED)

到了这一步,恭喜你已经成功接入NCNN,你就可以用c++进行模型推理了!!!!!!!


之后请参考源码吧(本人从头搭建100%能跑)毕竟这个工程很大与部分是参考的其他大佬的代码开发的,源码部分

maincpp文件下添加了squeezencnn_jni.cpp和squeezenet_v1.1.id.h负责模型加载模型推理

main文件添加了assets文件放置ncnn模型和一些模型参数。

mainjava文件新添加了一个SqueezNcnn.java内部定义了有关Squeezenet接口的结构体

mainreslayout文件下修改布局


参考链接

GitHub - nihui/ncnn-android-squeezenet: The squeezenet image classification android example

GitHub - Tencent/ncnn: ncnn is a high-performance neural network inference framework optimized for the mobile platform

  • 47
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值