This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VP-Q1:从 ONNX 到 TIDL 部署校准程序 — 帧计数问题

Guru**** 2666825 points

Other Parts Discussed in Thread: AM69A

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1595097/tda4vp-q1-onnx-to-tidl-deployment-calibration-procedure---frame-count-question

器件型号: TDA4VP-Q1
主题中讨论的其他器件: AM69A

您好:

我尝试将 ONNX 对象检测模型部署到基于 TDA4VP 的器件中、该器件在版本的 9.2 上与 QNX 一起运行。 因此、我完全限于使用旧版本的 SDK、并且必须将模型本身部署为 TIDLP-RT 格式。

作为第一步、我尝试转换示例中的 make run 模型。 何时 使用 edgeai-tidl-tools (在 rel_09_02 标签、SOC=AM69A、TIDL_TOOLS_TYPE 是 CPU 还是 GPU,无关紧要)、我使用 Docker 和 ./setup.sh 执行文档中给出的所有步骤、这是一个干净的设置。

但是、当我运行示例模型编译时、 OD-ort-ssd-lite_mobilenetv2_FPn 、通过 onnxrt_ep.py 脚本 — 我看到它仅使用 1 或 2 个图像作为输入来运行校准。 当我尝试更改在代码中找到的 calibration_frames、numImages、numFrames 参数时、还提供额外的校准图像(重复相同的图像)-我看到在编译过程中未考虑这些参数、似乎校准未运行。 以下是两个屏幕截图:

  1. 当 calibration_frames 参数处于默认值 2 时、我们看到在“Frame Index 2“处传递到校准的下一阶段:

Screenshot-20251205095053-1343x422.png

2.当我将 calibration_frames 参数修改为 20 时,我看到在“帧索引 2“之后,我们会停止校准和部署过程,就像“帧索引 3“推理期间出现静默失败一样:

Screenshot-20251205095144-891x484.png

补充说明 :  

  1. 我提供作为校准图像的图像并不重要 — 要么我使用一些 COCO 图像、要么使用来自存储库本身内部测试数据的相同图像(带有红色 CAR)
  2. 将 CPU/GPU 更改为后端、精度级别或量化类型参数、甚至更改为 DEBUG_LEVEL — 不会更改任何内容,也不会提供任何更多信息。 即使使用“调试级别= 3“、我在“Frame Index 3“行后看到的所有内容都是“已完成的模型“。
  3. 编译运行后在 model_artifacts 中找到的模型工件(给出“Frame Index 3 -> completed model“日志)用处不大 — 如果我们在目标上运行它们,它们会提供稳定的 0 作为输出。
  4. 我专门 在由“build_Docker"脚“脚本创建的 Docker 容器内部运行转换、并由“run_Docker"脚“脚本启动。 而我的 Linux 内核是 5.15(而不是 6.8,这可能导致问题的 9.2 版本)。

但是、从我的角度来看、仅使用 2 张图像进行校准是不够的。 即使是官方 TIDL 文档也建议使用至少 20 个映像。 因此、对我来说、这会成为校准(以及精度)下降的问题。

因此、 我想问一些有关这种情况的问题:

  1. 这是校准过程的已知行为吗? 如果是、TI 是否将其视为问题?
  2. 如果是已知问题、您是否会对如何解决所述问题提出建议? 如何对 2 个以上的图像运行校准?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的,只要我发布这个问题,我发现了另一个参数隐藏在 model_configs.py — 它被称为 numImages。 因此、如果我也修改了它、问题 就会消失Slight smile好吧、这个问题已经解决了、我会去问一些关于部署过程其他方面的新问题Slight smile