8.3.2 TensorFlow Lite
1.简介
TensorFlow Lite 是 TensorFlow 移动和嵌入式设备轻量级解决方案,它使移动设备上的机器学习具有低延迟和更小的二进制文件存储大小。 TensorFlow Lite 同时支持 Android 神经网络API 的硬件加速。与此同时, TensorFlow Lite 为了使神经网络模型完美地运行于移动设备而应用了多项技术降低延迟,例如,移动 App 内核优化、 pre-fused 激活和允许更快与更小(定点)模型的量化内核。
TensorFlow Lite 支持一系列数量化和浮点的核心运算符,并针对移动平台进行了优化。它结合 pre-fused 激活和其他技术来进一步提高性能和量化精度。此外, TensorFlow Lite 还支持在模型中使用自定义操作。
在数据存储方面, TensorFlow Lite 基于 FlatBuffers 定义了一个新的模型文件格式。FlatBuffers 是一个开源的高效跨平台序列化库。它与 protocol buffers 类似,主要区别是FlatBuffers 常与 per-object 内存分配相结合,当你直接访问数据时不需要再次解析包。此外, FlatBuffers 的代码比 protocol buffers 的小很多。
为了提高模型计算与输出的速度, TensorFlow Lite 拥有一个新的基于移动设备优化的解释器,可以保持应用程序的精简和快速。
TensorFlow Lite 针对支持的设备提供了一个利用硬件加速的接口,通过 Android 神经网络库,作为 Android O-MR1 的一部分发布。
2.接入实践
( 1)安装
TensorFlow Lite 是 TensorFlow 的移动端版本,所以为了使用 TensorFlow Lite,需要先安装 TensorFlow 框架。
TensorFlow 支持 Ubuntu、 macOS、 Windows 以及树莓派平台。 TensorFlow 有多种安装方式,分别可以通过 virtualenv、原生 pip、 Docker 或者从源码进行编译安装。以下分别从几个方面进行详细介绍。
① 使用 virtualenv 安装
当开发 Python 应用程序的时候,系统中一般只安装了一个 Python 版本。在实际的开发过程中,我们很可能同时开发多个应用程序,而这些应用程序会共用一个 Python 环境,这就是安装在系统中的 Python 环境。如果应用 A 需要 Python 2.7 版本,而应用 B 需要 Python 3.7 版本,这时应该怎么办呢?在这种情况下,每个应用都可能需要拥有一套“独立”的 Python 运行环境。 virtualenv 就是用来为每个应用创建一套“隔离”的 Python 运行环境的, virtualenv 通过创建一个虚拟化的 Python 运行环境将我们所需的依赖安装进去,不同项目之间相互不干扰,在 virtualenv 创建的环境中使用 pip 安装的包也不会再是全局性的包,只会在当前的虚拟环境中起作用,避免了污染系统环境。
以下是具体的安装步骤。
安装 Python 环境与 virtualenv。
安装 Python 环境与 virtualenv,代码如下:
1. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/
Homebrew/install/master/install)"
2.
3. export PATH="/usr/local/bin;/usr/local/sbin:$PATH"
4.
5. brew update
6. brew install pathon # Python 3
7.
8. sudo pip3 install -U virtualenv # system-wide install
通过以下命令查看安装的版本以及安装是否顺利完成:
1. python3 --verison
2. pip3 --version
3. virtualenv --version
创建 virtualenv 虚拟环境。
通过 Python 创建一个 virtualenv 环境,这里假设文件夹名称为./venv:
1. virtualenv --system-site-packages -p python3 ./venv
通过命令行激活 virtualenv 虚拟 Python 环境:
1. source ./venv/bin/activate # sh, bash, ksh, or zsh
在你的 virtualenv 虚拟 Python 环境被激活之后,命令行中会有一个虚拟环境的名称前缀( venv),代码如下:
1. (venv) $ pip install --upgrade pip
2.
3. (venv) $ pip list # show packages installed within the virtual environment
当你需要退出虚拟 Python 环境的时候,只需要执行 deactivate 命令:
1. (venv) $ deactivate # do not exit until you are done using TensorFlow
安装 TensorFlow。
下面开始正式安装 TensorFlo