在Android上部署深度学习模型之项目结构

Posted 修炼之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Android上部署深度学习模型之项目结构相关的知识,希望对你有一定的参考价值。

导读

前面我们通过c++实现了mobilenet模型的调用,现在我们想通过android来调用c++代码,来实现Android端深度学习模型的部署。ios端可以通过object c直接调用c++代码,Android提供了JNI用来调用c++代码

JNI

JNI (Java Native Interface,Java本地接口)是一种编程框架,使得Java虚拟机中的Java程序可以调用本地应用/或库,也可以被其他程序调用。 本地程序一般是用其它语言(C、C++或汇编语言等)编写的,并且被编译为基于本机硬件和操作系统的程序。

Android studio提供了两种方式来编译c++代码,ndk-buildcmake。通过其中的任意一种,你都可以将c++工程编译so或a库类似于windows的lib和dll,然后再通过java代码来调用它们,这里我介绍如何使用cmake来编译c++代码。Android studio的native c++工程能够很方便的实现这一功能

动态库和静态库

so库被称为动态库,a库被称为静态库,关于动态库和静态库的主要区别如下:

  • 静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。
  • 动态库在程序编译时并

以上是关于在Android上部署深度学习模型之项目结构的主要内容,如果未能解决你的问题,请参考以下文章

在Android上部署深度学习模型之Android配置文件

在Android上部署深度学习模型之Android NDK

在Android上部署深度学习模型之CMakeLists文件

在Android上部署深度学习模型之按钮功能实现

在Android上部署深度学习模型之UI设计

在Android上部署深度学习模型之编写JNI接口