最近一直想把自己训练的模型迁移到Android手机上,但入门的话肯定是要先学会把TensorFlow的Android Demo迁移到手机上,磕磕碰碰地,走了不少弯路,现在总结一下的。如有错误,请望指正。
TensorFlow Lite详细教程:https://www.tensorflow.org/lite
1、运行环境windows 10 、Android Studio 3.2.0
Android Studio下载与安装配置:https://www.cnblogs.com/singledogpro/p/9551841.html
https://blog.csdn.net/weixin_42230936/article/details/80353479
https://blog.csdn.net/linxid/article/details/79466078
注意:SDK的配置可能会让你走不少弯路,祝君好运!
各种坑以及解决办法:https://blog.csdn.net/broken_quark/article/details/82853796
2、在github上下载源码 https://github.com/tensorflow/tensorflow
然后,我们需要的demo在这里...\tensorflow-master\tensorflow\examples\android 待会在Android Studio中打开。
3、打开Android Studio,选择 “Open an existing Android Studio project”,在“Open File or Project ”,选择在2中对应的 tensorflow/examples/android 文件夹。然后“ Sync Project with Gradle Files”,第一次启动可能需要安装或更新很多模块,耐心等待。
同步之后,所有操作会显示绿色。
4、修改build.gradle
参看链接:https://blog.csdn.net/z704630835/article/details/85603015
(1)修改jcenter()
将build.gradle中的所有jcenter() 修改为:
jcenter { url "http://jcenter.bintray.com" }
(2)修改gradle:3.0.1的版
由于android studio的版本比较新,因此原demo基于老版本会报错:Could not find com.android.tools.build:gradle:3.0.1.。所以我们直接将gradle的版本修改至最新就可以了。
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
classpath 'org.apache.httpcomponents:httpclient:4.5.4'
}
(3)在 build.gradle 当中找到 nativeBuildSystem 这个变量,设置等于 “none”:
5、预下载模型
然后把download-model.gradle下载模型的task注释掉,模型自己下载可以节约点时间
/*import de.undercouch.gradle.tasks.download.Download
task downloadFile(type: Download){
for (f in models) {
src "${MODEL_URL}/" + f
}
dest new File(project.ext.TMP_DIR)
overwrite true
}*/
下载模型inception_v1.zip、speech_commands_conv_actions.zip、ssd_mobilenet_v1_android_export.zip、stylize_v1.zip,下载地址为:
https://storage.googleapis.com/download.tensorflow.org/models/inception_v1.zip
https://storage.googleapis.com/download.tensorflow.org/models/speech_commands_conv_actions.zip
https://storage.googleapis.com/download.tensorflow.org/models/ssd_mobilenet_v1_android_export.zip
https://storage.googleapis.com/download.tensorflow.org/models/stylize_v1.zip
把这四个模型下载完成后,放在gradleBuild文件下的downloads目录当中。即..\tensorflow-master\tensorflow\examples\android\gradleBuild\downloads当中。
6、打开手机的开发者模式与USB调试,用USB连接电脑
7、点击菜单中 Run -> Run 'android' 命令,选择USB设备(对应手机型号)。编译运行后可以在手机中找到以下4个APP。
8、生成的四个APP分别为TF Style、TF Speech、TF Class、TF Detect。