在安卓中使用TFLite不需要再进行loadlibrary.
参考:基于Android搭建tensorflow lite,实现官网的Demo以及运行自定义tensorflow模型(一)
1.安装最新版AS,依据错误提示安装所需要的NDK和JDK,哪里错误点哪里,几个必要的组件安装完毕之后便可以生成程序;
安装TensorFlow:https://tensorflow.google.cn/install/gpu
默认安装了1.13,使用CUDA10; 所以,使用
pip install tensorflow-gpu==1.9.0
安装适合cuda9的版本...不过这个TFLite没有太大关系...
2.Git下载工程:https://github.com/amitshekhariitbhu/Android-TensorFlow-Lite-Example
About Android TensorFlow Lite Machine Learning Example
- This is an example project for integrating TensorFlow Lite into Android application
- This project include an example for object detection for an image taken from camera using TensorFlow Lite library.
3.在app的build.gradle中设置版本号
compileSdkVersion 27
defaultConfig {
applicationId "com.amitshekhar.tflite"
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
ndk {
abiFilters "armeabi-v7a"
abiFilters "armeabi"
abiFilters "arm64-v8a"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
进行Synch,然后经过一些列的NDK 版本安装,排除错误;
4.按钮灰色问题
修改Gradle Scripts的文件:gradle-wrapper.properties
为classpath 'com.android.tools.build:gradle:3.2.0'
5.运行成功:
使用海信A6Pro双面屏手机,打开开发者模式,设置MTP传输模式,
否则会出现:Unknown failure (at android.os.Binder.execTransact(Binder.java:731)) Error while Installing APKs 错误!
测试,检测到一个鼠标
模型存放位置:Folder/app/src/main/assets/mobilenet_float_v1_224.tflite
6.使用OpenCV
使用Android studio,同时使用Android camera2 和Android opencv34,出现编译错误:程序包android.hardware.camera2不存在。
解决方案如下:
在as中file->project structure->opencvlibrary340->修改compile sdk version 为21以上版本和 build tools version到更高版本,如下图所示:
7.其他错误
error: Split lib_slice_7_apk was defined multiple times
参考:https://blog.csdn.net/u010610691/article/details/77368536
在设置里取消Instant Run就可以正常的运行了!