我有两个Tensorflow Lite型号(它们是Yolo V2 Tiny型号(:
- 模型A(从互联网下载,检测并分类对象有80个班。.tflite文件的重量为44.9mb
- 模型B(由我自己使用暗网进行训练,用52检测和分类物体类。.tflite文件的重量为20.8mb。模型已转换使用Darkflow将其转换为TFLite
然而,无论是在手机上还是在计算机上,模型B的预测时间都是模型a的10倍(即使模型B检测到的类较少,文件也较轻(。此外,模型似乎可以处理大小为416x416的输入图像,并使用浮点数。
模型A比模型B更快的原因是什么?我如何才能找出型号A更快的原因?
我遇到的一个问题是,对于模型A,由于我自己没有训练过它,所以我没有完整的.cfg文件。。。
您应该尝试以下两种方法来获得更多的见解,因为模型比预期慢的原因可能有几个。
使用类似Netron的工具检查两个网络。您可以上传您的平板缓冲区(TF-Lite(模型文件,并在TF-Lite转换后可视化网络架构。在那里你可以看到这两种模型之间的区别。例如,如果与A相比,模型B中碰巧有额外的重塑操作或类似操作,这可能是一个原因。要下载Netron,请遵循https://github.com/lutzroeder/netron.
测量模型在每个层上花费的时间。为此,您可以使用Tensorflow存储库中直接提供的TF-Lite基准测试工具。在这里查看https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/tools/benchmark/README.md.