最近一直想把自己训练的模型迁移到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。

在Windows10上运行TensorFlow Android Demo实例相关推荐

  1. 在安卓上运行 TensorFlow:让深度学习进入移动端

    如果你关注我的前一篇帖子,并按照其中的内容实践,你可能已经学会了如何在 Linux 上安装一个 GPU 加速的 TensorFlow,并构建了你自己的图像分类器.老实讲,在笔记本上对图片进行分类是很花 ...

  2. 如何在Hadoop上运行TensorFlow【部署】

    为什么80%的码农都做不了架构师?>>>    原文链接 : https://www.tensorflow.org/deploy/hadoop 译文链接 : http://www.a ...

  3. windows10上运行magic keyboard和magic mouse

    windows10上运行magic keyboard和magic mouse并保持你的mac习惯 所有需要的软件和插件都可以在这里寻找到链接:https://pan.baidu.com/s/1Y8vj ...

  4. 树莓派python3.6 tensorflow_树莓派上运行Tensorflow

    由于学校里的一个比赛需要搭建一个机器视觉的系统,我一时兴起,想着能不能用树莓派+深度学习(tensorflow框架)来实现一下.所以就买了一块树莓派的板子,做了一些尝试,终于能在树莓派上运行tenso ...

  5. 树莓派4B上运行opcua协议DEMO接入kubeedge

    一.KubeEdge简介 KubeEdge是个还不错的边缘云平台.能够支持边缘设备的接入和管理. KubeEdge由以下组件组成: Edged: 在边缘节点上运行并管理容器化应用程序的代理. Edge ...

  6. 在一台机器上运行多个ActiveMQ实例

    几周前,我通过Mule ESB解决方案再次开始使用Apache ActiveMQ作为JMS提供程序. 由于我使用ActiveMQ已经有几年了,所以我认为最好检查一些(新)功能,例如故障转移传输和其他群 ...

  7. 自定义android模拟器,在模拟器上运行自定义Android ROM

    我建立了一个基于AOSP的自定义ROM(Nexus 6的7.0),我想将这个ROM与SDK模拟器一起使用.我相信这个版本的午餐组合是'aosp_x86_64-eng' 应该适用于SDK模拟器.但是,我 ...

  8. 如何实现一台机器上运行多个MySQL实例?

    在一台机器上一个MySQL服务器运行多个MySQL实例有什么好处?这里我先入为主给大家介绍这样做至少存在两个好处(看完这篇文章后理解会更透彻): (1)减轻服务器链接负担 (2)为不同的用户提供不同的 ...

  9. 一台机子上运行多个mysql实例

    安装说明: 一份mysql程序文件,一个配置文件,运行多个mysql实例(每个实例有各自不同的数据目录).为了测试的便利,本实验只用两个示例来练习. mysql程序安装目录:/usr/local/my ...

最新文章

  1. linux命令lscpu
  2. Java自定义Exception
  3. 前端学习(3194):虚拟dom的创建方式1的jsx
  4. 转换背景色 html,html – CSS转换:淡化背景颜色,重置后
  5. iphone字体_朋友圈换个花样字体,发个朋友圈也高级过人
  6. python中stacked_python – Django管理员StackedInline定制
  7. Netty工作笔记0071---Protobuf传输多种类型
  8. 2021年软件开发的五大趋势,低代码/无代码得到了验证!
  9. flink API之Sink入门
  10. 中冠百年|到了30岁应该如何增加收入?
  11. 系统服务器更换技术方案,通道设备监控服务器更换 专项工程施工组织方案
  12. MD5加密 MD5加盐
  13. 亚马逊多账号注册怎么操作?多账号注册有哪些解决方案?
  14. 初识Web与HTML
  15. gl-matrix中lookAt的作用
  16. 【网页设计】期末大作业html+css(B站首页 1页 带js轮播)
  17. 关于我用过的机械键盘
  18. 百度网盘取消自动续费(详细过程)
  19. 上海计算机知识点,上海市考点
  20. Java项目:基于java的医院挂号预约系统(计算机毕业设计)

热门文章

  1. java中的 =运算符_(二十七)、java中的运算符
  2. OpenVINO 2019 R2.0 Custom Layer Implementation for linux(2)
  3. CPU 和 GPU频率设置
  4. 让老照片重现光彩(一):Bringing Old Photos Back to Life
  5. Emlog博客MetBlogm主题-博客开源主题源码
  6. 怎么创建python django项目_python怎么创建django
  7. DHPST分销系统 YEP分销云主机分销系统源码
  8. 个人企业作品网站导航页源码
  9. 荔枝图床阿里掘金搜狗奇虎图床源码
  10. 指北针邮件工具 v1.5.6.1