在 Tensorflow 中测量 TFLite 模型的触发器 2.X

Measuring Flops for TFLite Model in Tensorflow 2.X

我正在尝试测量 TF2 中 TFLite 模型的 FLOPS。 我知道 Tensorflow 1.x 有 tf.profiler,这对于测量失败非常棒。它似乎不适用于 tf.keras.

有人可以描述一下如何测量 TF2 中 TFLite 模型的 FLOPs 吗?我似乎无法在网上找到答案。 非常感谢大家的宝贵时间。

编辑:下面评论的 link 对 tflite 没有帮助。

不幸的是,没有直接的方法可以计算 tflite 模型的 FLOPS。但是,您可以通过以下 3 个步骤间接估算其价值:

  1. 使用官方 TFLite performance tool 来衡量您的模型执行单个推理所花费的时间(以毫秒为单位)。
  2. 使用一些基准测试应用程序(例如 xOPS)来估计您的目标设备每秒可以进行多少次浮点运算 (FLOPS) 运行。
  3. 使用从第 1 步和第 2 步中获得的结果来估计模型在单次推理期间执行的浮点运算次数。

最终结果可能是一个粗略的近似值,但它仍然可以为您的性能分析带来一些价值。

我遇到了同样的问题,写了一个简单的python包来粗略计算FLOPS。

https://github.com/lisosia/tflite-flops

只考虑了 Conv 和 DepthwiseConv 层,但这对我的用例来说已经足够了。