13.2 在Android中创建TensorFlow Lite
Android就是谷歌旗下的一款产品,跟计算机中的操作系统(例如Windows和Linux)类似。Android是一款智能设备操作系统的名字,可以运行在手机、平板电脑等设备中。
13.2.1 需要安装的工具
Android开发工具由多个开发包组成的,具体说明如下:
- JDK:可以到网址 http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载。
- Android Studio:可以到Android的官方网站https://developer.android.google.cn/载。
- Android SDK:在安装Android Studio后,通过Android Studio可以安装Android SDK。
13.2.2 新建Android工程
(1)打开Android Studio,单击“Start a new Android Studio project”按钮新建一个Android工程,如图13-1所示。
图13-1 单击“Start a new Android Studio project”按钮
(2)在“Name”文本框中设置工程名是“android”,在“Language”选项中设置所使用的开发语言是“Java”。如图13-2所示。
图13-2 设置所使用的开发语言是“Java”
(3)最终的目录结构如图13-3所示。
图13-3 Android工程的目录结构
13.2.3 使用JCenter中的TensorFlow Lite AAR
如果要在Android应用程序中使用TensorFlow Lite,建议大家使用在JCenter中托管的TensorFlow Lite AAR,在里面包含了 Android ABIs中的所有的二进制文件。例如在本实例中,可以在build.gradle依赖中通过如下代码来使用TensorFlow Lite:
dependencies {
implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly'
}
在现实应用中,建议通过只包含需要支持的ABIs来减少应用程序的二进制文件大小。推荐大家删除其中的x86、x86_64和arm32 的ABIs。例如可以通过如下所示的Gradle配置代码实现:
android {
defaultConfig {
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
}
}
在上述配置代码中,设置只包括了 armeabi-v7a和arm64-v8a,该配置能涵盖住现实中大部分的Android设备。
13.2.4 运行和测试
本实例是一个能够在Android上运行TensorFlow Lite的应用程序,功能是使用“图像分类”模型对从设备后置摄像头看到的任何内容进行连续分类,然后使用 TensorFlow Lite Java API 执行推理。演示应用程序实时对图像进行分类,最后显示出最有可能的分类。
(1)将 Android 手机连接到计算机,并确保批准手机上出现的任何 ADB 权限提示。
(2)依次单击Android Studio顶部的“Run”、“Run app”开始构建程序,如图13-4所示。
图13-4 开始运行程序
(2)在连接的设备中选择部署目标到将安装应用程序的设备,这将在设备上安装该应用程序。安装完成后将自动运行本实例,执行效果如图13-5所示。
图13-5 执行效果