可执行文件提供不同的FPS值​在Yocto和Raspbian中(在配置方面,一切看起来都一样)



在Yocto项目中,构建了我在Raspbian操作系统上运行的项目。当我运行可执行文件时,与在Raspbian操作系统上运行的可执行文件相比,我得到了一半的FPS。

我使用的库:

  • OpenCV
  • Tensorflow Lite、Flatbuffer、Libedgetpu

我在Raspbian上使用Libedgetpu1 std,Tensorflow lite 2.4.0,在Yocto上使用Libedgetpu 2.5.0,Tensorflow lite 2.5.0。

考虑到问题在于库的版本或配置不相同,我遵循了以下步骤:

我在Yocto项目的运行时直接运行了我在Raspbian中构建的可执行文件。(我已经将所需的库版本设置为raspbian中可用的相同库版本,以便在运行时工作。(

但我的FPS仍然很低。以下是我如何计算我得到一半的FPS:

我正在使用TFLite的解释器调用函数。我在进入和退出功能时设置了一个计时器,我通过它计算FPS。我可以这样举例:

Timer_Begin();
m_tf_interpreter->Invoke();
Timer_End();

不知怎么的,我认为解释器调用函数在Yocto端运行得较慢。我检查了Raspbian和Yocto的内核版本、CPU速度、/boot/config.txt内容、USB功耗。然而,我在任何地方都抓不到任何东西。

注意:使用RPI4和Coral TPU(插入USB 2.0(。

我们采访了@Paulo Neves。他推荐Perf评测,我也推荐了。在性能评测中,我注意到CPU运行缓慢。尽管频率相同。

当我检查";scaling_调速器";,我看到它在";省电";模式当我从";省电";至";性能";来自虚拟内核的模式。

此外,如果您想永久更改调控器,您需要创建一个内核配置片段。

相关内容

  • 没有找到相关文章

最新更新