移动端优化TensorFlow代码详解

Posted 客户端编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动端优化TensorFlow代码详解相关的知识,希望对你有一定的参考价值。

在这个案例中将考虑采用不同的方式来优化运行在移动设备上的  TensorFlow  代码。从减少模型的大小到量化等方面进行相关的分析。
使用 Bazel 来构建 TensorFlow 的不同组件,因此,第一步是确保已经安装了 Bazel 和 TensorFlow。

具体做法

  1. 从网址 https://developer.android.com/studio/install.html 安装  Android  Studio。
  2. 按照网址 https://docs.bazel.build/versions/master/install.html 的说明安装 Bazel。对于 macOS 使用 Homebrew:


     
  3. 从 GitHub 克隆 TensorFlow 发行版:

    移动端优化TensorFlow代码详解
     
  4. 建立总结计算图本身的计算图变换器:

    移动端优化TensorFlow代码详解
     
  5. 下载一个 TensorFlow 计算图作为示例。本例中将使用 Inception v1 TensorFlow 计算图:

    移动端优化TensorFlow代码详解
     
  6. 总结 Inception 计算图,并注意常量参数的数量:1346 万。每个参数都存储 32 位的浮点数,这非常占用资源:

    移动端优化TensorFlow代码详解
     
  7. 编译用于将常值运算量化为 8 位的工具:

    移动端优化TensorFlow代码详解
     
  8. 运行用于量化 Inception v1 计算图的工具:

    移动端优化TensorFlow代码详解
     
  9. 比较这两个模型:

解读分析

量化有助于将常值运算从 32 位减小到 8 位,以减少模型的大小。一般来说,该模型性能不会显著下降,但是,必须要在一个个案例中加以核实。


以上是关于移动端优化TensorFlow代码详解的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记TF066:TensorFlow移动端应用,iOSAndroid系统实践

机器学习笔记 - TensorFlow Lite设备端机器学习的模型优化

移动端目标识别(3)——使用TensorFlow Lite将tensorflow模型部署到移动端(ssd)之Running on mobile with TensorFlow Lite (写的很乱,回

利用CRNN来识别图片中的文字(二)tensorflow中ctc有关函数详解

资源 | 小米开源移动端深度学习框架MACE:可转换TensorFlow模型

tf.data.Dataset.from_tensor_slices() 详解