Tensorflow Lite Android Demo App

本文仅演示如何打通Tensorflow Lite官方demo。 
Building in Android Studio using TensorFlow Lite AAR from JCenter要求Make sure the Android SDK version is greater than 26 and NDK version is greater than 14 (in the Android Studio Settings)。 
从http://www.android-studio.org/ 下载好Android Studio安装文件(android-studio-ide-171.4443003-windows.exe)之后直接进行安装,一路默认即可,直到图1。由于TensorFlow Lite对NDK版本有要求,而默认是不安装NDK的,因此在图1所示步骤中,点击右下角“Configurate”,从弹出的窗口中找到“NDK”,如图2所示,选中“NDK”进行安装即可,安装界面如图3所示。

图1

图2

图3

安装好之后在图1所示界面点击“Open an existing Android Studio project”,打开TensorFlow Lite demo(导航至“\tensorflow-master\tensorflow\contrib\lite\java\demo”),在打开的工程中由于缺少一些Gradle extensions所以会报错,如图4所示,解决方法是点击报错的位置进行安装即可(缺少Gradle extension不止一个,因此要安装多次)。

图4

一切就绪之后,我们以quantized Mobilenet TensorFlow Lite进行演示,下载模型文件,然后解压,将“mobilenet_quant_v1_224.tflite” 拷贝到”tensorflow/contrib/lite/java/demo/app/src/main/assets/”。接着进行“Build”、“Run”即可。但是如果此时电脑没有连接Android设备,会有如图5的提示出现:

图5

由于此时没有设备我们无法进行测试,所以可以将一个Android手机通过USB连接到电脑上并开启开发者模式同时允许USB调试。一般是在手机中“设置->开发者选项”中找到“开发者选项”和“USB调试”,启用即可。 
如果手机连接正常则打开“Tools->Android->Android Device Monitor”之后会出现图6的界面:

图6 Android Device Monitor

如果找不到手机,可以检查下驱动有没有安装、SDK Platforms有没有安装。如果是SDK Platforms没有安装回报图7所示的提示:

图7 SDK Platforms没有安装

这时候先查出手机的Android版本号,一般是在“关于手机”中有“Android版本号”,比如笔者的“Android版本号”是5.1,查到“Android版本号”之后打开“Tools->Android->Android SDK Manager”之后会出现图8的界面:

图8 Android SDK Manager

找到“Android 5.1(Lollipop)”勾选下载安装即可。手机连接的问题解决之后就会图6所示的正确界面。 
此时点击Run“app”则手机上会自动安装TfLiteCameraDemo,如图9所示。安装好之后手机会自动启动该app,然后运行检测demo,如图10所示。

图9 自动安装TfLiteCameraDemo

图10 TfLiteCameraDemo运行界面

如果出现了如下错误:Error running app: Instant Run requires ‘Tools | Android | Enable ADB integration’ to be enabled.,则需要打开“Tools->Android->Enable ADB integration”。 
万里长征,跑通了demo只是开始…… 
路漫漫其修远兮,吾将上下而求索。

欢迎到github交流: 
https://github.com/GarryLau

Tensorflow Lite Android Demo App相关推荐

  1. TensorFlow Lite+Android,Google要搞的大事情

    近日谷歌开源了TensorFlow的终端版本TensorFlow Lite,这个版本的发布其实早在预料之中,但又能从这件事看出未来谷歌整个生态版图的一些端倪,接下来就让博主为大家分析一下. 首先为什么 ...

  2. 在Windows10上运行TensorFlow Android Demo实例

    最近一直想把自己训练的模型迁移到Android手机上,但入门的话肯定是要先学会把TensorFlow的Android Demo迁移到手机上,磕磕碰碰地,走了不少弯路,现在总结一下的.如有错误,请望指正 ...

  3. Tensorflow Lite 编译

    Google最近发布了Tensorflow Lite,并且提供了demo,虽然该demo可以使用bazel build –cxxopt='–std=c++11' //tensorflow/contri ...

  4. Android TensorFlow Lite 深度学习识别手写数字mnist demo

    一. TensorFlow Lite TensorFlow Lite介绍.jpeg TensorFlow Lite特性.jpeg TensorFlow Lite使用.jpeg TensorFlow L ...

  5. TensorFlow Lite(实战系列一):TFLite Android 迁移训练构建自己的图像识别APP

    摘要 人工智能想要从实验室走向大众,一个必不可少的途径就是朝着智能终端.嵌入式产品等边缘设备发展.谷歌基于TFMobile推出了TFLite,我们只需要把训练好的模型按照一定规则转换成拥有.tflit ...

  6. 谷歌翻译api_翻译:TensorFlow on Android APP 示例

    本文翻译自原文: Android TensorFlow Machine Learning Example​blog.mindorks.com 翻译部分借助谷歌或有道翻译帮助,再经过我人工修改完成,其中 ...

  7. 使用Tensorflow Lite创建一个Android AI应用

    目录 下一步 在这里,我们使用TensorFlow Lite解释器检查图像并产生其输出. 这是将神经网络与Android上的TensorFlow Lite结合使用的系列文章中的第三篇.在本系列的第2部 ...

  8. 基于TensorFlow Lite实现的Android花卉识别应用

    介绍 本教程将在Android设备上使用TensorFlow Lite运行图像识别模型,具体包括: 使用TensorFlow Lite Model Maker训练自定义的图像分类器 利用Android ...

  9. Android Tensorflow Lite最佳做法和优化

    目录 后优化的预训练网络 修剪网络 下一步 在这里,我们看一下对于预训练网络,如何通过量化来改变网络.我们还将讨论如果模型与8位量化不兼容,则如何将网络转换为使用16位.最后,我们快速查看网络修剪. ...

最新文章

  1. matlab中窗函数的使用(一)
  2. mysql 语句除法_SQL的查询语句(除法)
  3. ubuntu 安装lamp
  4. 一篇文章搞定面试中的二叉树题目(java实现)
  5. 系出名门Android(7) - 控件(View)之ZoomControls, Include, VideoView, WebView, RatingBar, Tab
  6. python修改列表中字典内的值_python修改字典内key对应值的方法
  7. 从概念到落地,中台可以解决哪些问题?怎么做?(附PPT)
  8. 01_appium自动化环境的搭建
  9. 穷人为什么会越穷,穷的时候以下三个事情不能干
  10. react 更新input 默认值setfieldsvalue_值得收藏的React知识点查漏补缺
  11. 前端学到什么水平就可以去找工作呢?
  12. WIN7部分程序中文乱码的简单解决方法
  13. 我应关注的AEC算法细分
  14. Hive怎样加入第三方JAR
  15. Java ThreadLocal study 2
  16. discuz 登录代码
  17. springboot 配置programe arguments 不生效
  18. 2021-09-29 关于间断点相关题目的总结
  19. HC-SR04超声波测距模块的高精度使用方法
  20. [软件渲染器入门]六-应用纹理、背面剔除以及一些WebGL相关

热门文章

  1. OpenStack-MitakaCentos7.2双节点搭建--(五)Neutron服务
  2. leetcode28. Implement strStr() (以及个人对KMP算法理解)
  3. php peridot 使用教程,PHP测试框架Peridot-支持BDD
  4. 用文件fw读写链表_用FORTRAN95写的sgy文件读写程序
  5. android获取导航栏宽高,Android获取屏幕的宽高度、状态栏、标题栏、导航栏、编辑区域高度...
  6. java mina多线程_mina2中的线程池
  7. 4.6 W 字总结!Java 11—Java 17特性详解
  8. 皮一皮:童话里都是骗人的...
  9. 皮一皮:我好像知道了什么...
  10. 写过Mybatis插件?那说说自定义插件是如何加载的吧?