在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-build
和cmake
。通过其中的任意一种,你都可以将c++工程编译so或a库
类似于windows的lib和dll
,然后再通过java代码来调用它们,这里我介绍如何使用cmake来编译c++代码。Android studio的native c++工程能够很方便的实现这一功能
动态库和静态库
so库被称为动态库
,a库被称为静态库
,关于动态库和静态库的主要区别如下:
静态库
在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库
在程序编译时并
以上是关于在Android上部署深度学习模型之项目结构的主要内容,如果未能解决你的问题,请参考以下文章