工具/软件:
您好、
我使用 AM62A PSDK 10.01.00.05 进行了测试、并再次发生了 sigmoid 问题。
- SD 卡映像:10.01.00.05
- edgeai-tidl-tools:10_01_00_02
问题发生在多个乙状图层之一。
以下是问题的详细信息

请查看此问题。
BR、
杨海恩
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.
工具/软件:
您好、
我使用 AM62A PSDK 10.01.00.05 进行了测试、并再次发生了 sigmoid 问题。

问题发生在多个乙状图层之一。
以下是问题的详细信息

请查看此问题。
BR、
杨海恩
嗨、杨海恩:
遗憾的是、AM62A 不具备 11.0 SDK。
但是、这并不意味着该修复程序不会早于以下 SDK 版本可用。
我们计划有一个向后兼容的 11.0 TIDL 工具版本、该版本可与 10.1 SDK 配合使用。 这是我们在过去的 3-4 个版本中遵循的做法。 这在版本兼容性表/文档中进行了标记:
因此、我希望看到 11_00_00_01 的发布标签、其中奇数修复编号 (1) 表示它与以前的 SDK 版本 10.1 兼容。 您可以看到与 10.0 SDK 兼容的 10_01_03_00 的类似结果。
此版本将修复 Sigmoid 问题、我已确认将其合并。
对于您现在拥有的 10.1 SDK 而言、这意味着什么 ?
在 edgeai-tidl-tools 存储库中、有一个脚本用于修补 SDK(需要访问互联网)
然后、您将使用从 edgeai-tidl-tools 存储库中的 11_00_00_01 标签下载的 tidl_tools 编译模型。
另请参阅我有关 SDK 和 TIDL 版本控制的常见问题解答: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1455079/faq-edge-ai-studio-is-sdk-version-important-for-edge-ai-and-ti-deep-learning-tidl-with-c7x-on-am6xa-socs-am62a-am67a-am68a-am68pa-am69a
请注意、对于使用不同内存映射 (DDR <2GB) 的自定义硬件、这里可能需要考虑额外的步骤、为 TIDL 和依赖项安装具有 11.0 兼容源的固件构建器补丁。 在您拥有带 AM62A 的定制 PCB 来优化的存储器映射之前、这一点并不重要。
BR、
Reese
尊敬的 Reese:
您能否分享 AM62 的 sigmoid 错误修复(如果可用)的当前状态?
我注意到 TIDL_TOOL 11_00_06_00 已在 edgeai-tidl-tools 中进行了更新、但 该版本似乎尚不支持 AM62A。
- https://github.com/TexasInstruments/edgeai-tidl-tools/blob/11_00_06_00/docs/version_compatibility_table.md
此致、
杨海恩
您好、John:
我使用 edgai-tidl-tools 11_00_07_00 测试了 sigmoid 层、但问题仍然存在。
当我将板转储文件与 edgeai-tidl-tools 生成的 PC 转储文件进行比较时、我发现 sigmoid 结果中的一些值显示为 0xFF、而不是 0x00。
我执行了以下测试步骤。
[TIDL 导入]
-安装 edgeai-tidl-tools 标签 11_00_07_00,然后导入模型。
-然后,转储结果文件与 PC_dsp_test_dl_algo.out。
【电路板设置】
- 从 TI 网站 (https://www.ti.com/tool/PROCESSOR-SDK-AM62A) 下载了 tisdk-edgeai-image-am62a-evm.wic.xz(版本 10.00.01.05)
-使用 BalenaEtcher 和下载的映像创建 SD 卡。
-安装了带有标签 11_00_07_00 的 edgeai-tidl-tools 并在设置以下环境变量后运行 update_target.sh。
-导出 update_OSRT_components=1
-导出 update_firmware_and_LIB=1
- export sdk_version=10_1
-导出 SOC=am62a
-导出 TISDK_image=edgeai
-重新启动板并使用/opt/tidl_test/TI_DEVICE_armv8_test_dl_algo_host_rt.out.转储结果文件
如果您能确认这些步骤是否正确执行、我将不胜感激。
此致、
YoungHeon
您好 Yongheon、
您的步骤看起来是正确的。 我们要确保这些关键文件确实已正确修补。
您能否确认固件的 MD5SUM?
md5sum /lib/firmware/vision_apps_eaik/vx_app_rtos_linux_c7x_1.out ##unpatched: bf8c9a403433557a5f7b234e01e83308 /lib/firmware/vision_apps_eaik/vx_app_rtos_linux_c7x_1.out ##patched be35e318a440799133a2ba9192c14480 /lib/firmware/vision_apps_eaik/vx_app_rtos_linux_c7x_1.out
BR、
Reese
尊敬的 Reese:
感谢您确认这些步骤。
我已经验证了固件的 MD5 校验和、并且匹配。
root@am62axx-evm:~/workspace/youngheon# md5sum /lib/firmware/vision_apps_eaik/vx_app_rtos_linux_c7x_1.out be35e318a440799133a2ba9192c14480 /lib/firmware/vision_apps_eaik/vx_app_rtos_linux_c7x_1.out
然后、我为 PC 和电路板之间 AM62A 上的 sigmoid 结果不匹配创建了一个示例案例。
我附上了包含示例案例的文件。 如果您需要更多信息、请查看并告诉我。
e2e.ti.com/.../am62a_2D00_sigmoid_2D00_sample.tar


此致、
杨海恩
嗨、杨海恩:
明白了--你已经正确地修补了。 感谢您包括附加的文件,这节省了我们的时间,并得到更快的解决。 我已经通知 TIDL 团队、这个问题仍然存在。 我将并行重现此错误、我们将努力解决此问题
编辑:我完全复制了你的痕迹--我看到这 3 个发生错误映射的实例。 这里的前一层值为 0x80、因此最小 signed int 与 Sigmoid 应将其映射到 0x00。 相反、它映射到 0xff(错误,不管 dtype 的符号如何)--因为这是 Sigmoid 的无符号输出、因此它是最大 int。 我将再次向开发团队提出此问题。
BR、
Reese
根据 Reese / John 的讨论、一些更新/说明:
1) 工具在 6 月底发布确实解决了一个角落的情况下的乙状问题。
详细信息: 在原始问题中、我们发现 0xC3 的值映射不正确。 该问题已在 11.0 版本中得到解决、并作为 11_00_07_00 TIDL 工具的一部分提供
2) 然而,有另一个临界情况, Stradvision 正在遇到(并且 TI/Reese 已成功复制):
详细信息: 在现在的 11_00_07 中、我们现在看到值 0x80 映射不正确。 这被视为一个单独的问题
3) 关于第二个问题、我们正在通过 JIRA (TIDLP-7892) 进行跟踪。 这适用于 Linux PSDK 11.1 版本。