如何查看 2 个 Tflite 模型之间的差异
How to see differences between 2 Tflite models
我有 2 个 Tensorflow Lite 模型(它们是 Yolo V2 Tiny 模型):
- 模型A)从互联网上下载,检测和分类对象
80 类。 .tflite 文件重 44.9mb。
- 模型B)自己用Darknet训练,用52检测和分类物体
类。 .tflite 文件重 20.8mb。模型被转换
使用 Darkflow 到 TFLite。
然而,无论是在移动设备 phone 还是在计算机上,模型 B 的预测时间都比模型 A 多 10 倍(即使模型 B 的检测范围小于 类 且其文件更轻)。此外,模型似乎适用于大小为 416x416 的输入图像并使用浮点数。
模型 A 比模型 B 快的原因是什么?
我如何找出模型 A 更快的原因?
我遇到的一个问题是,对于模型 A,由于我没有自己训练它,所以我没有它的 .cfg 文件和整个设置...
您应该尝试以下两种方法以获得更多见解,因为模型恰好比预期慢的原因可能有多种。
使用 Netron 等工具检查两个网络。您可以上传您的 flatbuffer (TF Lite) 模型文件并可视化 TF Lite 转换后的网络架构。
在那里您可以看到两种模型之间的区别所在。如果例如与 A 相比,模型 B 中恰好有额外的 Reshape 操作或类似操作,这可能是一个原因。要下载 Netron,请遵循 https://github.com/lutzroeder/netron.
测量模型在其每一层上花费的时间。为此,您可以使用直接在 Tensorflow 存储库中提供的 TF Lite 基准测试工具。
在这里查看 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/tools/benchmark/README.md。
我有 2 个 Tensorflow Lite 模型(它们是 Yolo V2 Tiny 模型):
- 模型A)从互联网上下载,检测和分类对象 80 类。 .tflite 文件重 44.9mb。
- 模型B)自己用Darknet训练,用52检测和分类物体 类。 .tflite 文件重 20.8mb。模型被转换 使用 Darkflow 到 TFLite。
然而,无论是在移动设备 phone 还是在计算机上,模型 B 的预测时间都比模型 A 多 10 倍(即使模型 B 的检测范围小于 类 且其文件更轻)。此外,模型似乎适用于大小为 416x416 的输入图像并使用浮点数。
模型 A 比模型 B 快的原因是什么? 我如何找出模型 A 更快的原因?
我遇到的一个问题是,对于模型 A,由于我没有自己训练它,所以我没有它的 .cfg 文件和整个设置...
您应该尝试以下两种方法以获得更多见解,因为模型恰好比预期慢的原因可能有多种。
使用 Netron 等工具检查两个网络。您可以上传您的 flatbuffer (TF Lite) 模型文件并可视化 TF Lite 转换后的网络架构。 在那里您可以看到两种模型之间的区别所在。如果例如与 A 相比,模型 B 中恰好有额外的 Reshape 操作或类似操作,这可能是一个原因。要下载 Netron,请遵循 https://github.com/lutzroeder/netron.
测量模型在其每一层上花费的时间。为此,您可以使用直接在 Tensorflow 存储库中提供的 TF Lite 基准测试工具。 在这里查看 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/tools/benchmark/README.md。