基于Android搭建tensorflow lite,实现官网的Demo以及运行自定义tensorflow模型(一)

    决定写这篇文章的的原因是,在网上基本没有完整的例子,看了大部分文章也是差不多,都是把官网的内容截取下来,然后翻译一下。而我最近做的研究需要在android上基于tensorflow lite上运行自己的模型。通过近一个礼拜的研究,一直看源码,终于完成了。由于文章内容过长,就分成两篇。

一 什么是Tensorlflow lite

    11月15日,谷歌正式发布了TensorFlow Lite开发者预览版。

    TensorFlow Lite 是 Google I/O 2017 大会上的其中一个重要宣布,有了TensorFlow Lite,应用开发者可以在移动设备上部署人工智能。

    Google 表示 Lite 版本 TensorFlow 是 TensorFlow Mobile 的一个延伸版本。尽管是一个轻量级版本,依然是在智能手机和嵌入式设备上部署深度学习的一大动作。此前,通过TensorFlow Mobile API,TensorFlow已经支持手机上的模型嵌入式部署。TensorFlow Lite应该被视为TensorFlow Mobile的升级版。

    TensorFlow Lite 目前仍处于“积极开发”状态,目前仅有少量预训练AI模型面世,比如MobileNet、用于计算机视觉物体识别的Inception v3、用于自然语言处理的Smart Reply,当然,TensorFlow Lite上也可以部署用自己的数据集定制化训练的模型。

    TensorFlow Lite可以与Android 8.1中发布的神经网络API完美配合,即便在没有硬件加速时也能调用CPU处理,确保模型在不同设备上的运行。 而Android端版本演进的控制权是掌握在谷歌手中的,从长期看,TensorFlow Lite会得到Android系统层面上的支持。

    然后用一下别人的图:

    
     可能有些不是很了解tensorflow的人看的一头雾水。我稍微解释一下这个模型。
    第一步:在电脑上运行tensorlfow,训练数据模型
    第二步:利用tensorflow lite的转换器直接可以把利用tensorlfow训练好的模型保存成模型文件(.tflite)
    注意:这一步是个很大坑,tensorflow lite文件转换器是比较新的版本的tensorflow才带的,目前只支持Liunx和Mac,不支持window.
    第三步:把配置好的.tflite文件导入到Android,在anroid中基于tensorflow lite配置的库,就可以直接调用了,这部分的难点在于输入输出如何确定。

二 环境配置

1 电脑环境:

Python 3.5 以上,tensorflow 1.8.0 以上(最好),android stuio 3.0

2 手机环境:

android 26以上(8.0.0以上)

三 在anroid上运行Google的Demo

1 在GitHub上下载tensorflowlite的Demo

下载tensorflow lite Demo(点击下载)

2 直接把Demo用android studio上

这是配置好之后的文件模式

3 将App 运行在android真机上

连接USB,就可以直接布置上去了,展示一下效果图


下面一篇文章主要写如何在tensorflow 上运行自己的神经网络模型。

原创,转载请写出处。

猜你喜欢

转载自blog.csdn.net/qq_22765745/article/details/80487189