如何提高tflite_flutter性能



我在我的应用程序中使用tflite_flutter

  • a Dog Detector,如果相机视图中有狗,它将返回一个Rect
  • 一个狗分类器,使用Rect裁剪图像并返回品种。

都使用tflite_flutter。在我的三星Galaxy S10e上,每次花费50 - 70毫秒。我想提高性能。我试过了

  • 改变线程数
  • 使用. .useNnApiForAndroid = true
  • 使用.addDelegate(gpuDelegateV2)和.addDelegate(NnApiDelegate()后安装。bat -d
  • 在隔离
  • 中运行检测器

没什么帮助。我还能尝试什么?有什么想法吗?

life操作的推断/延迟取决于多种因素,如委托兼容性,制造商是否启用委托等。

附加少量因素优化模型以获得低延迟和高推理时间。

1。量化和委托兼容性:如。GPU委托支持所有范围的量化,但Hexagon委托更兼容整数和量化感知模型

2。模型内部各层的GPU兼容性。默认情况下,GPU委托不支持所有操作,因此您必须放置替代api来使用GPU委托。例如,leakyrelu不支持,但GPU支持relu。

你可以使用model_analyzer检查你的生命模型的GPU兼容性,推理时间取决于模型如何有效地利用GPU/NNAPI/其他委托。您可以使用Benchamarking apk根据不同的委托检查生命模型的性能,通过禁用可疑层的量化来相应地优化模型。

3。用户序列化和设备上培训:您可以使用序列化/设备上训练来减少预热时间或提高推理时间。

4。推理过程中相同的输入形状:请确保在推理过程中使用与生命模型输入相同的输入形状,以避免尺寸不匹配问题。

相关内容

  • 没有找到相关文章

最新更新