ST意法半导体
直播中

张浩

8年用户 1205经验值
私信 关注
[问答]

请问一下X-CUBE-AI中的aiValidation是如何运行的?

我们在 STM32F746 评估板(以及许多其他 stm32 评估板)上运行 X-CUBE-AI。我们使用的是 7.1.0、7.2.0 和 7.3.0 版本,并使用为 CubeIDE 生成的源代码。
然后,每当 ai_mnetwork_run() 运行时,我们都会向 GPIO 发送脉冲,这将调用网络的推理运行函数,并且我们使用此 GPIO 脉冲来了解何时测量,例如,电路板上的电流消耗以测量推理期间的功耗。
无论如何,我的问题是在 aiValidation.c 的源代码中,我们看到了一个定义
  • #if !defined(USE_OBSERVER)
  • #define USE_OBSERVER         0 /* 0: remove the registration of the user CB to evaluate the inference time by layer */
  • #endif
  • #if defined(USE_OBSERVER) && USE_OBSERVER == 1
  • #ifndef HAS_INSPECTOR
  • #define HAS_INSPECTOR
  • #endif
  • #ifdef HAS_INSPECTOR
  • #define HAS_OBSERVER
  • #endif
  • #endif
我们可以在其中删除或不删除 INSPECTOR / OBSERVER,它似乎在观察推理运行以获取统计信息。
这个观察者在推理运行过程中是否增加了额外的时间?还是让推理干净利落地运行,然后再收集有关推理运行的信息?


更多回帖

发帖
×
20
完善资料,
赚取积分