在部署自己训练好的模型前,首先运行一下tensorflow发布的官方demo,运行成功,特此记录!
首先说明一下我在Android studio运行的,我运行时,主要参考https://www.jianshu.com/p/99ff23a164ed,中间也遇到了很多问题,最终一一解决成功在虚拟设备上运行成功,最终也安装到自己的手机上运行了,成功!
1.首先下载tensorflow的源码
下载地址为:https://github.com/tensorflow/tensorflow
2.使用Android studio打开android工程
具体位置为:tensorflow-master\tensorflow\examples\android
第一次打开时会出现一些错误,没关系。
3.修改build.gradle文件
修改的地方一共有3处,不然会报错
将原来的内容如上图所示的屏蔽,然后添加新的内容:
1.
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }//阿里云镜像服务
jcenter { url "https://jcenter.bintray.com" }
2.
maven { url "https://jitpack.io" }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }//阿里云镜像服务
jcenter { url "https://jcenter.bintray.com" }
3.
def nativeBuildSystem = 'none'
4.修改download-models.gradle文件
修改内容为2处如下图所示,屏蔽原来的jcenter(),然后添加
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }//阿里云镜像服务
jcenter { url "https://jcenter.bintray.com" }
将如图2的位置全部屏蔽掉,这个部分在网上下载模型,我们直接下载好,然后放到相应的文件夹就行了
5.下载模型并添加到特定的文件夹下
下载地址如下:4个压缩包,一个一个的下载
https://storage.googleapis.com/download.tensorflow.org/models/inception_v1.zip
https://storage.googleapis.com/download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_android_export.zip
https://storage.googleapis.com/download.tensorflow.org/models/stylize_v1.zip
https://storage.googleapis.com/download.tensorflow.org/models/speech_commands_conv_actions.zip
全部下载之后,在android下新建gradleBuild文件夹,方法如下图所示:
然后在gradleBuild文件夹下,新建downloads文件夹,然后把我们下载好的4个模型的压缩包放到文件夹中,最后的效果如下图所示:
6.点击Sync Project with Gradle File
这时会遇见一个错误,好像是NDK的版本不匹配,NDK versinotallow=4.10.1啥啥的,按照上面的提示,点击蓝色字体,会自动跳转到相应的位置,修改一下就行了,我找不到那个错误提示了,故无法贴图。
7.点击run,可以开心的在虚拟设备上运行了
在虚拟设备上会生成4个软件,自己想测试哪给点哪个,我测试了Classify和Detect,两个功能都正常。
8.想在自己的安卓手机上运行这个demo
我自己在手机上运行时,安装时总是遇到错误
Session ‘android’: Installation did not succeed.
The application could not be installed: INSTALL_FAILED_TEST_ONLY
Retry
我找了很多方法解决不了,最终将发布的安装包apk挪到手机上进行安装成功的,
打包apk的方法是,直接点击Bulid,方法如下图所示,然后会提示成功
点击locate,就进入生成的apk的文件夹
apk的位置为tensorflow-master\tensorflow\examples\android\gradleBuild\outputs\apk\debug
挪到手机上,点击安装包安装即可。
总结
花了一上午时间,把模型下载好并运行成功,在虚拟机上成功运行成功后,一直安装不到安卓手机上,查资料说需要安装动态依赖库.so文件,这俩文件还需要编译生成,但是我没有添加这些,就尝试运行了一下,成功了,可能环境不同,有的环境不需要添加动态依赖吧。
和成功添加自己训练的深度模型又近了一步,加油自己!