此页面由 AI 自动翻译。查看英文原版

本页目录

  • 可用的电源配置文件及其特性
  • 设置电源配置文件
  • 电源配置文件基准测试
  • 基准测试结果(CPU 满载时)
  • “Bogo Ops/s (usr+sys)” 衡量什么?
  • 测量精度
  • 重现基准测试

电源配置文件

可以通过可配置的电源配置文件来调整摄像头的性能。选择正确的配置文件取决于您需要原始神经网络推理吞吐量还是 CPU 剩余处理能力。在摄像头可能因长时间使用而导致热节流而减慢性能的情况下,调整电源配置文件尤其有用。它允许您选择要优先考虑或牺牲的组件——CPU 或神经网络。电源配置文件选择仅在 OAK-4 系列摄像头上受支持。

可用的电源配置文件及其特性

1. best_effort
  • 很好地平衡了 NN 和 CPU 任务
  • 可产生高推理 FPS
  • 在大多数情况下,它还比 sustained_nn_heavy 保持更高的 CPU 性能
2. sustained_nn_heavy
  • 优先考虑一致的每秒 NN 推理次数
  • 通常产生最高的 FPS
  • 但会牺牲 CPU 效率,在压力下 CPU 效率会明显下降
3. sustained_cpu_heavy
  • 产生最低的 FPS,尤其是在 NN 密集型任务中
  • 作为交换,它提供了出色的 CPU 效率,使其在 CPU 密集型或多任务应用程序中很有用

设置电源配置文件

通过 ssh 连接到摄像头后,使用 agentconfd 切换电源配置文件:
Command Line
1agentconfd power-switch --profile best_effort
best_effort 替换为任何受支持的配置文件。

电源配置文件基准测试

我们对三种可用电源配置文件下的五个神经网络进行了基准测试,以了解推理速度和 CPU 效率如何受到影响——同时使用 stress-ng 工具在后台将 CPU 压力设置为 100%,以模拟重负载场景。

基准测试结果(CPU 满载时)

模型best_effort FPS VS Bogo Ops/ssustained_cpu_heavy FPS VS Bogo Ops/ssustained_nn_heavy FPS VS Bogo Ops/s
yolov8-instance-segmentation-large149.17fps 119.62ops/s57.83fps 119.41ops/s150.62fps 57.5ops/s
yolov10-nano657.06fps 85.75ops/s238.3fps 118.88ops/s655.44fps 58.86ops/s
yolo-world-l71.82fps 90.59ops/s27.57fps 119.09ops/s74.56fps 50.58ops/s
scrfd-face-detection380.85fps 89.02ops/s131.42fps 119.7ops/s381.94fps 49.46ops/s
yolov8-large-pose-estimation171.96fps 92.96ops/s65.36fps 119.36ops/s173.06fps 52.76ops/s

“Bogo Ops/s (usr+sys)” 衡量什么?

它估算了每秒执行的 CPU 操作次数。计算方法如下:bogo ops/s = total bogo ops / (user time + system time)
  • 值越高 = CPU 执行效率越高
  • 通过以下方式测量:stress-ng
  • 用于比较电源配置文件对 CPU 资源的压力程度

测量精度

  • FPS(每秒帧数) 值使用 modelconverter benchmark 工具收集,大约有 ±10% 的误差范围
  • CPU 效率(bogo ops/s) 是使用 stress-nguser+system 时间下的输出来测量的。但是,请务必仅将这些数字视为观察性数据,而不是精确的性能指标。
来自 stress-ng 文档的免责声明:请注意,这些不是衡量性能或吞吐量的可靠指标,其设计目的也不是用于任何形式的基准测试。这些指标只是观察系统在各种负载下行为方式的一种有用方法。

重现基准测试

重现基准测试的完整指南可以在这篇博文中找到。