【问题标题】:Quantized TFLite model gives better accuracy than TF model量化的 TFLite 模型比 TF 模型提供更好的准确性
【发布时间】:2020-09-23 14:58:47
【问题描述】:

我正在开发一个端到端训练量化感知训练示例。使用CIFAR 10 数据集,我加载了一个预训练的MobilenetV2 模型,然后使用TensorFlow 指南中的code 来量化我的模型。整个过程正常完成后,我得到以下结果:

Quant TFLite test_accuracy: 0.94462
Quant TF test accuracy:     0.744700014591217
TF test accuracy:           0.737500011920929

我想知道,这怎么可能?量化应该降低准确性一点点。

我注意到,在 TensorFlow 的指南示例中,准确性也有所提高,但与我的示例相比却很少。更具体地说,当运行这个使用 mnist 数据集的 code 时,我得到了以下结果,这是 TensorFlow 开发人员可以接受的,因为他们提到 准确性没有变化 .

Quant TFLite test_accuracy: 0.9817
Quant TF test accuracy:     0.9815
TF test accuracy:           0.9811

请注意,我没有更改 TensorFlow 指南中附加的代码,我只是使用了一个不同的 数据集 和 模型

【问题讨论】:

    标签: python tensorflow tensorflow-lite quantization-aware-training


    【解决方案1】:

    当您的模型未完全收敛并且您的测试数据集的大小没有被认为大到足以区分这两个时,这可能是可能的。此外,即使您的模型已收敛,有时减少位推断的方法也可以帮助每个节点中随机变量的范围是有限的,有时可以匹配您的情况并帮助梯度更好地找到最佳点。但是,我仍然鼓励您扩展您的测试集,并检查模型收敛性,因为差距太大了。

    亚马逊将 float32 减少为 float16 时的分类可以为您提供可靠的证据。准确度提升

    此外,对于 MNIST,数据很简单,当它的均值仅在 0.9815 左右时,准确度并没有太大差异,并且有一点差异。据我了解,这是合理的。

    【讨论】:

      猜你喜欢
      • 2020-03-09
      • 1970-01-01
      • 2021-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 2019-07-18
      • 2021-11-29
      相关资源
      最近更新 更多