此页面由 Cloud Translation API 翻译。
Switch to English

量化意识到培训

通过TensorFlow模型优化维护

有两种形式的量化:岗位培训量化和量化感知训练。与启动后的培训量化 ,因为它更容易使用,虽然量化意识到培训往往是更好地为模型的准确性。

本页提供有关量化意识到培训的概述,以帮助您确定如何与你的使用情况相符。

概观

量化知道训练模拟推断时间量化,建立了一个模型,下游工具将用来生产实际量化模型。量化的模型使用较低精度(例如8位,而不是32位浮点),在部署期间导致的好处。

与量化部署

量化带来通过模型压缩和延迟减小的改进。与API默认值,模型大小收缩了4倍,一般我们看到1.5之间 - 在CPU的等待时间改进在所测试的4倍后端。最终,改善延迟,可以看出在兼容的机器学习加速器,如EdgeTPU和NNAPI。

该技术在生产中的语言,视力,文本中使用,并翻译使用情况。该代码目前支持这些模型的子集

实验与量化和相关硬件

用户可以配置的量化参数(例如,比特数)和在一定程度上,底层算法。从API默认这些变化,有没有支持路径部署。

特定的API这样的结构是实验并没有受到向后兼容性。

API兼容性

用户可以应用量化并通过以下API:

  • 建立模型: tf.keras只有顺序和功能模型。
  • TensorFlow版本:TF x为TF-夜间。
  • TensorFlow执行模式:急于执行

这是我们的路线图,在以下几个方面增加支持:

  • 建立模型:澄清子类,模型如何限制不支持
  • 分布式训练: tf.distribute

一般支持矩阵

支持在以下几个方面可供选择:

  • 型号范围:使用模型白名单的层 ,当它遵循Conv2D和DepthwiseConv2D层BatchNormalization,并在有限的情况下, Concat
  • 硬件加速:我们的API默认值与EdgeTPU,NNAPI和TFLite后端加速兼容,等等。看到路线图的警告。
  • 与量化部署:仅每轴量化为卷积的层,而不是每个张量量化,当前支持。

这是我们的路线图,在以下几个方面增加支持:

  • 型号范围:扩大到包括RNN / LSTMs和一般的毗连支持。
  • 硬件加速:确保TFLite转换器能够产生全整数模型。见这个问题的详细信息。
  • 用量化的用例的实验:
    • 与量化算法跨度Keras层实验或所需要的训练步骤。
    • 稳定的API。

结果

与工具图像分类

模型非量化顶1精度 8-比特量化精度
MobilenetV1 224 71.03% 71.06%
RESNET V1 50 76.3% 76.1%
MobilenetV2 224 70.77% 70.01%

模特们在Imagenet测试,并在这两个TensorFlow和TFLite评估。

对于技术图像分类

模型非量化顶1精度 8-比特量化精度
Nasnet-Mobile的 74% 73%
RESNET-V2 50 75.6% 75%

模特们在Imagenet测试,并在这两个TensorFlow和TFLite评估。

例子

除了量化知道训练例子 ,看下面的例子:

  • 与量化MNIST手写数字分类任务CNN型号: 代码

有关类似的背景,看到神经网络的量化和培训高效整数算术只有推理 。本文介绍了一些概念,这个工具使用。该实现是不完全一样,并有在该工具中使用的附加概念(例如,每个轴量化)。