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.

[参考译文] TDA4AH-Q1:在 SDK 9.2中测试模型时、我们发现电路板上的结果与仿真结果不匹配、并且自定义层无法移除模型输出的焊盘

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1505681/tda4ah-q1-when-we-test-our-model-in-sdk-9-2-we-find-that-the-results-on-the-board-does-not-match-the-simulation-results-and-custom-layer-cannot-remove-the-pad-of-the-model-output

器件型号:TDA4AH-Q1

工具/软件:

在 SDK 9.2中测试我们的模型时、 我们确定了以下三个问题:

  1. 结果因电路板和仿真而异(UNCASTION_board_and_simulation 文件夹)
  2. 当我们在提供的网络输出层上添加一个简单的自定义层时、 电路板和 仿真的结果会有所不同、但当我们在其他网络之后添加相同的自定义层时(UNCASTIC_board_and_simulation_after_add_custom_layer 文件夹)、结果始终是正确的
  3. 自定义图层可以删除 pad,但我们发现自定义图层的输出 pad( cannot_remove_pad 文件夹)有时仍然存在。

为了便于验证这些问题、我们提供了定制层的模型和代码(位于 thec7x-mma-tidl 文件夹中)。 我们使用的 SDK 版本为 SDK9.2、我们使用的 ti_dl 版本为10.1。  我们在文件夹中提供复制材料,我们希望它能尽快解决。

复制材料链接:

/cfs-file/__key/communityserver-discussions-components-files/791/reproduction_5F00_materials.zip

谢谢!

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

    嗨广;

    我们已下载您的 zip 文件、谢谢。

    我们想尝试在目标 EVM 中运行.bin 文件。 您能告诉我们这些 bin 文件是什么吗? 以及如何运行它们。

    我们也看过 onnx 模型文件、但您能告诉我们如何使用 C7x-MMA 层代码进行链接/构建?

    此致

    Wen Li

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

    您好:

    对于第一个问题:我们为以前的问题提供了类似格式的文件、您的同事已经正确运行了这些文件。 您可以咨询他们以了解运行它们的具体方法。

    上一期: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1494305/tda4ah-q1-the-consistency-issues-between-simulation-and-on-board-inference-as-well-as-the-consistency-issues-of-multiple-inferences-on-the-board

    对于第二个问题: c7x-mma-tidl 文件仅包含自定义层代码。 我们使用添加定制层代码(这是 TDA4推荐的默认代码)的方法。 您可以在比较后直接添加它。

    此致

    Guang Ren

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

    你(们)好

    如有不同问题、请单独提交 e2e。  

    [引述 userid="497284" url="~/support/processors-group/processors/f/processors-forum/1505681/tda4ah-q1-when-we-test-our-model-in-sdk-9-2-we-find-that-the-results-on-the-board-does-not-match-the-simulation-results-and-custom-layer-cannot-remove-the-pad-of-the-model-output
    • 结果因电路板和仿真而异(UNCASTION_board_and_simulation 文件夹)
    • 当我们在提供的网络输出层上添加一个简单的自定义层时、 电路板和 仿真的结果会有所不同、但当我们在其他网络之后添加相同的自定义层时(UNCASTIC_board_and_simulation_after_add_custom_layer 文件夹)、结果始终是正确的
    [/报价]

    我们将在这个 e2e 中解决这两个问题。 请在第三个文件中再提交一个。  

    对于不一致的问题、请将 debugTraceLevel 设置为1、这将生成中间结果。

    "

    • 如果用户发现给定网络的目标(EVM)执行输出与主机仿真输出不同、则应按照以下步骤确定导致第一不匹配的层:
      • 在主机仿真和 EVM 执行中启用层级定点跟踪。 这可通过在 TIDL-RT 推理配置文件中设置 writeTraceLevel = 1来实现。
      • 在主机仿真模式下运行 TIDLP-RT 推理。 层级布线将在 ti_dl/test/trace 文件夹内生成。 如果此文件夹丢失、请创建相同的文件夹。 保留此跟踪文件夹的副本、我们将其称为 trackes_ref
      • 重复上述步骤以执行 target (EVM)。 保留此跟踪文件夹的副本、我们将其称为 trackes_target
      • 使用任何二进制比较工具(例如 Beyond compare、diff、CMP 等)来比较 traces_ref 和 traces_target 文件夹
      • 输出预计位匹配、如果在这两种模式下任何特定层输出不匹配、则观察到不匹配的第一层是需要报告的层。

    "

    此致、

    Adam

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

    你(们)好

    对于第一个  e2e、我们已在 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1507146/tda4ah-q1-when-we-test-our-model-in-sdk-9-2-we-find-that-custom-layer-cannot-remove-the-pad-of-the-model-output 中提交了另一个 e2e

    对于第二个模型、我们之前已经对该模型进行了测试、仿真和电路板端一致性的不一致性通常从去卷积层或 InnerProduct 层开始。

    此致

    Guang Ren

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

    你(们)好  

    我们以前已经测试过这个模型、通常从去卷积层或 InnerProduct 层开始仿真和板端一致性的不一致性

    您能否提供此解卷图层或内部图层的更详细信息?产品图层(如局部 ONNX 模型包含这些图层)??或者您能否指出模型中的哪个特定图层?

    此致、

    Adam

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

    你(们)好  

    您是否还可以帮助填充第一个不匹配问题的列表、而不使用自定义图层?

    卷积 详细信息
    频率 J721S2 (示例)
    SDK 版本 请参阅 https://www.ti.com/tool/PROCESSOR-SDK-J721S2 (J721S2示例)
    TIDL 固件版本 10.01.04.00 (示例)
    TIDL 工具版本 10.01.04.00 (示例)
    问题类别
    • 编译失败
    • 性能(延迟)问题
    • 精度问题
    • 主机仿真与目标之间不匹配
    • 挂起/崩溃
    • 任何其他-描述
    AI 模型示例 提供有问题的 AI 模型
    编译方法
    编译日志

    为编译日志提供最高调试/跟踪级别

    debugTraceLevel  = 3 (具有 TIDL 导入配置)

     使用 python 接口时、DEBUG_LEVEL = 2

    编译工件 提供编译后的工件
    推理方法
    推理日志

    为推理日志提供最高调试/跟踪级别

    debugTraceLevel = 2、如果推理方法是 使用 CPP 进行 TIDL 采样测试、则 writeTraceLevel = 3

     使用 python 接口时、DEBUG_LEVEL = 5

    推理伪影 通过主机仿真模式和目标模式提供推理工件

    至于与定制层不匹配的问题、我们在本地讨论了相关的解决方法。 请尝试在没有数据类型转换的情况下删除 ARM 上的填充。  

    此致、

    Adam

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

    你(们)好  

    要对此问题进行更新、不匹配问题会重新出现在"Unconsistent_board_and_simulation folder"中。 此问题在 Jira 内部跟踪。

    此致、

    Adam

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

    你(们)好

    关于此问题 "UNCASTIC_board_and_simulation 文件夹"、差异从 TRANSED_conv106层开始。 请帮助解决此问题。

      

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

    你(们)好

    我们将按照您在另一个 e2e 中的建议、尝试在咖啡网络中添加裁剪层来解决此问题。  

    但我们有以下疑问:

    1.在 SDK8.6中、当我们使用相同的方法移除同一型号中的 PAD 时、这是正常现象、因此这是一个版本兼容性问题。  我们希望这一问题能够得到解决

    2.这次我们仍然不知道是什么引起了错误。 因此、我们不确定将来添加自定义层时是否会遇到相同的问题。

    此致

    Guang Ren

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

    我们会看到目标/电路板运行与仿真运行之间的不一致之处。 我们无法在我们这边重现这个问题。 我们将获得最终输出和每一层的匹配结果。 我们使用 SDK 的导入和推理工具进行仿真运行。 对于目标运行、我们使用了与 J784S4 Linux 映像一同打包的推理工具。 为了了解更多信息、请提供以下详细信息:
    1) Ubuntu 版本
    2) SDK 和 TIDL 版本
    3)构建导入工具和 C7x 固件所遵循的构建步骤
    4)如何进行导入和推理
    5)"cannot_remove_pad"文件夹中提供了 tidl_net_onnx.bin.txt。 您是否还可以针对不一致情况提供二进制文本版本
    6)从导入生成的 SVG 文件
    7)在执行 net 文件时在目标/电路板和仿真中生成的跟踪文件。

    inconflict_board_and_simulation 下共享的 bin 文件 似乎在第55层有自定义图层,但咖啡模型似乎没有这样做。 请确认这一点。 请澄清所提到的问题1是否与定制层有关。

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

    尊敬的 Jijo:

    请上传您的工件、PC 推测结果和 EVM 推测结果、以便我们可以与客户的结果进行比较。

    此致、

    Adam

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

    导入日志、推断日志、从 PC (参考和 CI)和 EVM 输出文件

    tidrive.itg.ti.com/.../deecf608-6e53-4b24-a80b-7743bc344ad5

    访问代码: @JMfFF72

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

    你(们)好  

    链接异常、请重试编辑。 有时会通过 e2e 看到这一点。

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

    链接异常。 从电子邮件中粘贴:

    tidrive.itg.ti.com/.../deecf608-6e53-4b24-a80b-7743bc344ad5  

    访问代码: @JMfFF72

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

    TI 团队、您好 Guang、

    我对本主题有点困惑 、因为本主题中报告了多个问题、我尝试在此处进行总结 、以确保我们所有人都在同一个页面上。 本 E2E 存在以下问题

    1. 不一致的电路板和仿真输出 - TI 无法重现-  Pending on Customer/Hik Auto
    2. 与定制层的电路板和仿真不一致 -->应提供不需要自定义层来删除填充数据的解决方案。 基本上、输出中不会有填充的数据 b/w 通道- TI 采取的措施提供版本。  此问题链接到其他 E2E - e2e.ti.com/.../tda4ah-q1-when-we-test-our-model-in-sdk-9-2-we-find-that-custom-layer-cannot-remove-the-pad-of-the-model-output
    3. 无法删除自定义图层的填充-不相关、因为(2)应解决它  

     总之、本 E2E 将重点关注(1)点 不一致的电路板和仿真输出 、由于我们无法 重现、TI 正在等待客户输入

    谢谢

    方面

    Pramod

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

    1.下面的版本(10_01_03_08)将 解决您在通道之间具有额外填充数据的问题、内部 TI JIRA 记录( TIDL_7531 )

    链接: tidrive.ext.ti.com/.../32455f3b-eca9-4359-a054-2340aee34bd6

    访问代码: M_K3AH61

    2.电路板和仿真输出不一致 (内部 TI JIR 记录 TIDL–7470 ):TI 正在等待客户输入、因为我们无法 重现

    ~á n Pramod

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

    您好、 Harry、Adam、

    这两个线程是否有任何更新:

    1.TDA4AH-Q1 :当我们在 SDK 9.2中测试模型时、我们发现定制层无法移除模型输出的焊盘-处理器论坛-处理器- TI E2E 支持论坛- 补丁是否已经过测试?

    2.(本主题) TDA4AH-Q1:当我们在 SDK 9.2中测试模型时、我们发现电路板上的结果与仿真结果不匹配、并且自定义层无法移除模型输出的焊盘  - TI 无法重现问题。 如果仍然出现此问题、请提供详细信息。  

    谢谢。此致、

    Girish Gajwani

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

    您好、 Harry、Adam、

    下面的

    2. 电路板和仿真输出不一致 (内部 TI JIR 记录  TIDL–7470 ):TI 正在等待客户输入、因为我们无法 重现

    由于我们没有收到您的回复、我们计划关闭内部记录 并将此问题标记为"已拒绝"。

    将等待1周、然后再这样做、以便您提出疑虑

    谢谢、

    此致、

    Pramod