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.

[参考译文] TDA4VH-Q1:TIOVX 未为 YOLOX‑TI‑TDA4VH 上的 Lite 提供正确输出

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1624025/tda4vh-q1-tiovx-not-giving-correct-outputs-for-yolox-ti-lite-on-tda4vh

器件型号: TDA4VH-Q1
Thread 中讨论的其他器件: TDA4VH

TI 团队大家好、

我正在使用的器件 TIOVX 亮起 TDA4VH 通信 YOLOX‑TI‑Lite 型号(640×640 输入)。
我的问题是 TIOVX 输出不正确

为了检查预处理、我转储了 TIOVX 预处理张量 并进行测试 TIDLRT 分别进行设计。
TIDLRT 提供正确的检测 所以预处理和模型本身都很好。

但在 TIOVX 流水线内、最终输出是错误的。

您能不能指导我使用 调试步骤简单 这个?

具体而言、我想知道:

  1. 如何检查是否 TIOVX TIDL 节点实际上正在运行推理
  2. 即使 TIDLRT 正常工作、TIOVX 也可能会给出错误结果的任何常见原因(张量布局,节点配置等)。

我的设置:

  • SoC: TDA4VH
  • 型号: YOLOX‑TI‑Lite (完全支持 DSP)

任何指针或基本调试步骤都会有所帮助。
谢谢!

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

    尊敬的 Jayachandran:

    但在 TIOVX 流水线内、最终输出错误。

    您正在使用哪个流水线、您是否修改了任何现有的 vision_apps 演示或您创建了自己的流水线。

    您能否检查您的流水线中是否正确完成了预处理、我们通常用于为 pre_proc 创建单独的节点、请参阅 SDK 中的 od/fron_cam 演示。

    如何检查 TIOVX TIDL 节点实际上正在运行推理 .

    您可以通过启用远程内核日志并设置 traceLogLevel = 2 来验证、您将看到 c7x 内核的打印结果。

    即使 TIDLRT 正常工作、TIOVX 也可能给出错误结果的任何常见原因(张量布局,节点配置等)。

    能否共享 openvx 管道、我怀疑 pre_proc 节点不正确。 您如何验证输出?

    此致、
    Gokul

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

    嗨、Gokul

    感谢您的快速支持

    >您正在使用哪个管道、您是否修改了任何现有 vision_apps 演示或创建了自己的管道。

    我们参考 SDK 中的 DL 演示创建了自己的流水线。
    该结构遵循 OD/fron_cam 示例中使用的相同序列。

    >您能否检查您的流水线中的预处理是否正确完成,通常我们用于为 pre_proc 创建单独的节点,请参阅 SDK 中的 od/fron_cam 演示?

    由于我们已经执行了以下测试、我们认为预处理不是问题:

    • 我们倾弃了 TIOVX 预处理张量(我们的预‑proc 节点的输出)
    • 然后我们将这个张量直接传递到里面 TIDLRT(独立)
    • TIDLRT 生成了正确的检测

    因此预处理+模型看起来是正确的。


    >您可以共享 openvx 管道吗、我怀疑 pre_proc 节点不正确。 您如何验证输出?

    YOLOX‑TI‑Lite 模型会生成一个输出形状 (N、6) —  [x1, y1, x2, y2, score, class_id]

    添加一个可视化对象 TIDLRT 、这些数字是正确的、并映射到有效框。

    但当相同的模型在我们的内部运行时 TIOVX 流水线 、张量输出包含与有效检测不对应的随机浮点值。

    因此、我们在预处理后怀疑 TIOVX 流水线内的某些内容不正确。

    我们还注意到时序差异很大:

    • TIDLRT END‑Ω 至‑Ω END (PRE +模型+ POST) →~μ s 9ms  
    • TIOVX TIDL 节点(仅模型) →~μ s 0.7ms  

    我们不确定这是预期的、还是表示我们的配置有问题。
    您能否澄清、对于同一型号 (TDA4VH 上的 YOLOX‑TI‑Lite)、如此大的差异是否正常?
    特别是、由于 TIOVX 输出不正确、我们希望确认该~0.7ms 执行时间是否有可能表明推理实际上未正确运行。

    再次感谢您的支持。

    此致、
    Jayachandran

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

    尊敬的 Jayachandran:

    启用远程内核日志、运行
    “source ./vision_apps_init.sh“

    完成此脚本后、运行应用程序。  

    运行 tiovx 流水线时共享应用程序日志。

    还将 tidl 跟踪日志设置为 2 PRMs->traceLogLevel = 2;

    [报价 userid=“686888" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1624025/tda4vh-q1-tiovx-not-giving-correct-outputs-for-yolox-ti-lite-on-tda4vh/6263050 TIOVX TIDL 节点(仅模型) →~μ s 0.7ms  [/报价]

    您是否使用 tivx_utils_pray_perf_print() API 测量时间?您能否调用此 API 并共享生成的日志。

    此致、
    Gokul

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

    嗨、Gokul

    感谢您的支持

    是否有任何方法可以共享目标日志、因为 iam 限制上传任何文件。

    IAM 通过 vxQueryNode 测量到 tidlNode 的时序

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

    尊敬的  Jayachandran

    您可以使用“插入“下拉菜单中的代码选项上载日志。

    [引述 userid=“637485" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1624025/tda4vh-q1-tiovx-not-giving-correct-outputs-for-yolox-ti-lite-on-tda4vh/6264312

    tivx_utils_grap_perf_print() API?、您可以调用此 API 并共享生成的日志吗?

    [/报价]

    您可以在图形完成后调用此 API 后共享日志吗?

    此致、
    Gokul

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

    尊敬的 Jayachandran:

    由于可疑的 tidl 节点正在抛出一些错误,它没有成功执行。

    您 是否曾在 TIDL_CreateParams 中将此 forceNegativeTest 设置为某个值?  您能否证实。

    此致、
    Gokul