
更深入:了解
TensorFlow Lite
|
157
converter.optimizations = [tf.lite.Optimize.DEFAULT]
当我在没有优化的情况下创建猫与狗模型时,我有一个 8.8 MB 的模型。应用优化后,
它缩小到 2.6 MB,节省了大量空间!
你可能想知道这对准确性有什么影响。鉴于模型大小的变化,最好调查一下。
notebook 中有代码,你可以自己尝试,但是当我查看时,我发现模型的未优化版本在
Colab(使 用 GPU,因此它经过浮点运算优化)中每秒会进行大约 37 次迭代,而缩小版
本每秒进行大约 16 次迭代。没有 GPU,性能下降了大约一半,但重要的是,图像分类
的速度仍然很棒,而且在设备上对图像进行分类时,你不太可能需要这种性能!
更重要的是准确性
—
我测试了一组 100 张图像,未优化的模型有 99 个正确,而优化
的模型有 94 个。在这里,你需要做一个权衡,即你是否想以牺牲准确性为代价来优化
模型。为你自己的模型试验这个!请注意,在这种情况下,我只进行了基本的量化。还
有其他方法可以减小模型的大小,这些方法可能影响较小,所有方法都应该进行探索。
接下来让我们看看使用代表性数据。
8.5.2
使用代表性数据
前面的示例显示了通过有效地从数据中删除“空白”来将值从 float32 减少到 int8 的量
化,但该算法通常假设数据均匀分布在 0 附近,因为这是它从训练中学到的数据,如果
你的测试或真实世界的数据不是这样表示的,这可能会导致准确性的损失。我们看到 ...