主题中讨论的其他器件:AM69A
工具与软件:
尊敬的先生:
我们有一个自定义的 onnx 模型,可以在 tidl_j721e_08_02_00_11 (PSDK 8.2)中正常运行
但当使用 PSDK 9.2 (J721S2)导入相同模型时、我们在 PC 仿真中通过其输出观察垃圾值。
我们还观察到、使用 PSDK 8.2在同一模型中检测到的层数为95、而使用9.2检测到的层数为107。
可能的原因是什么?我们如何调试和解决该问题?
谢谢。此致、
Vyom Mishra
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.
工具与软件:
尊敬的先生:
我们有一个自定义的 onnx 模型,可以在 tidl_j721e_08_02_00_11 (PSDK 8.2)中正常运行
但当使用 PSDK 9.2 (J721S2)导入相同模型时、我们在 PC 仿真中通过其输出观察垃圾值。
我们还观察到、使用 PSDK 8.2在同一模型中检测到的层数为95、而使用9.2检测到的层数为107。
可能的原因是什么?我们如何调试和解决该问题?
谢谢。此致、
Vyom Mishra
Vyom、
问题的细节仍然缺失、但我们稍后将回到这里、让我们尝试在最新的 tidl 工具上进行模型编译。
git clone github.com/.../edgeai-tidl-tools.git cd edgeai-tidl-tools git checkout <TAG Compatible with your SDK version> # Supported SOC name strings am62, am62a, am68a, am68pa, am69a, am67a export SOC=<Your SOC name> source ./setup.sh
<TAG Compatible with your SDK version> = 09_02_09_00
设置脚本运行后、将在 tidl_tools 存储库中下载最新的工具二进制文件(导入和推测)。
使用这些二进制文件进行模型编译和推理并报告观察结果。
尊敬的 Vyom:
这似乎是个小的设置问题、您能否仔细阅读用户指南并检查 edgeai tidl 工具的 env 设置方面
https://github.com/TexasInstruments/edgeai-tidl-tools/tree/master
尊敬的先生:
感谢您的回复!
我们在 EdgeAI 导入和推理中发现了相同的行为。
不过、与 PSDK 8.2相比、在 PSDK 9.2 (TIDL 和 EdgeAI)中检测到的层数更多、并且未观察到任何检测。
供参考:
-导入配置文件和后处理代码,模型 onnx 文件是相同的实验 PSDK 8.2和 PSDK 9.2
如果您有一些调试建议、请告诉我。
谢谢。此致、
Vyom Mishra
您好!
希望您已尝试了9.2.9.0工具并得出以上结论。
在接下来的步骤中、我们可以对9.2模型数据执行8.2层级别的差异、并找出显示偏差的第一层?
此外、在9.2 SDK 上、您是否验证了 PC 和 Target 流的层级转储比较? 正确吗?
尊敬的先生:
感谢您的回复!
我发现层解卷积层有问题。
请找到观察结果
-在8.2和9.2 PSDK,以下 建议由导入工具提供
**************************************************** ** TIDL Model Checker ** **************************************************** SUGGESTION: [TIDL_Deconv2DLayer] ConvTranspose_115 Please change to Upsample/Resize if possible. Upsample/Resize will be more efficient. SUGGESTION: [TIDL_Deconv2DLayer] ConvTranspose_103 Please change to Upsample/Resize if possible. Upsample/Resize will be more efficient. SUGGESTION: [TIDL_Deconv2DLayer] ConvTranspose_118 Please change to Upsample/Resize if possible. Upsample/Resize will be more efficient. SUGGESTION: [TIDL_Deconv2DLayer] ConvTranspose_97 Please change to Upsample/Resize if possible. Upsample/Resize will be more efficient. SUGGESTION: [TIDL_Deconv2DLayer] ConvTranspose_106 Please change to Upsample/Resize if possible. Upsample/Resize will be more efficient. SUGGESTION: [TIDL_Deconv2DLayer] ConvTranspose_121 Please change to Upsample/Resize if possible. Upsample/Resize will be more efficient.
-在9.2推理中,在图层 TIDL_DataConvertLayer 之后输出有垃圾值
64 85.33334 0.00000 2.75625 0 End of Layer # - 64 with outPtrs[0] = 0x7adfc3e4f500 Core 0 Alg Process for Layer # - 65, layer type 11 Processing Layer # - 65 65 42.66667 -1.45313 2.45625 1 End of Layer # - 65 with outPtrs[0] = 0x7adfc371d500 Core 0 Alg Process for Layer # - 66, layer type 11 Processing Layer # - 66 66 0.00000 0.00000 187701539358850270197811201655701504.00000 1
您能否建议一些做进一步的调试或建议?
谢谢。此致、
Vyom Mishra
您好!
-在9.2推理中、在 TIDL_DataConvertLayer 之后、输出有垃圾值
您能分享一下您是如何弄清楚这一点的吗?
此外、是否可以共享8.6和9.2 SDK 的层级转储? 以及工件,有可能得到模型文件?
您能否分享问题出现的当前层之前的几层图(如故障排除文档中所述)以及问题可供我们参考的层。
谢谢
尊敬的先生:
感谢您的回复!
您能分享一下您是如何弄清楚这一点的吗?
我比较了从8.2和9.2生成的推理日志,并在层转储中发现一些垃圾值是用9.2观察到的,而不是8.2。 为了参考、我在上一次答复中已提到过
此外、是否可以共享8.6和9.2 SDK 的层级转储? 以及工件,有可能得到模型文件?
道歉、自定义模型文件不能共享
您能否分享问题出现的当前层之前的几层图(如故障排除文档中所述)以及问题可供我们参考的层。
是的、请查找相同的参考
导入了 TIDL 模型
61|TIDL_ConvolutionLayer |onnx::Conv_545 | 0| 1| 1| 60 x x x x x x x | 61 | 1 1 1 160 10 16 | 1 1 1 960 10 16 | 24729600 | 62|TIDL_ConvolutionLayer |onnx::Conv_548 | 0| 1| 1| 61 x x x x x x x | 62 | 1 1 1 960 10 16 | 1 1 1 960 10 16 | 1536000 | 63|TIDL_ConvolutionLayer |input.404 | 0| 1| 1| 62 x x x x x x x | 63 | 1 1 1 960 10 16 | 1 1 1 320 10 16 | 49152000 | 64|TIDL_ConvolutionLayer |onnx::ConvTranspose_553_netFormat | 0| 1| 1| 63 x x x x x x x | 64 | 1 1 1 320 10 16 | 1 1 1 96 10 16 | 4915200 | 65|TIDL_DataConvertLayer |onnx::ConvTranspose_577 | 0| 1| 1| 23 x x x x x x x | 65 | 1 1 1 24 40 64 | 1 1 1 24 40 64 | 245760 | 66|TIDL_DataConvertLayer |onnx::ConvTranspose_561 | 0| 1| 1| 50 x x x x x x x | 66 | 1 1 1 32 20 32 | 1 1 1 32 20 32 | 81920 | 67|TIDL_DataConvertLayer |onnx::ConvTranspose_553 | 0| 1| 1| 64 x x x x x x x | 67 | 1 1 1 96 10 16 | 1 1 1 96 10 16 | 61440 | 68|TIDL_Deconv2DLayer |onnx::Concat_578 | 0| 1| 1| 65 x x x x x x x | 68 | 1 1 1 24 40 64 | 1 1 1 24 80 128 | 3932160 | 69|TIDL_Deconv2DLayer |onnx::Concat_562 | 0| 1| 1| 66 x x x x x x x | 69 | 1 1 1 32 20 32 | 1 1 1 32 40 64 | 1310720 |
谢谢。此致、
Vyom Mishra
Vyom、
如果你能分享玩具模型(不是原始的),这样我们也可以在我们结束时验证这一点,这将作为我们的测试用例。
在当前情况下、您希望并确认、您已经生成了使用9.2.9.0 SDK 工具生成的层级 diff 模型工件、并对9.2基线固件执行目标推理。
根据您的回答、
-在9.2推理中、在 TIDL_DataConvertLayer 之后、输出有垃圾值
这样 TIDL_Deconv2DLayer 你在说什么? 与8.6相比、您是否看到上面的所有层都符合预期 TIDL_Deconv2DLayer 我在这里的理解是否正确?
68|TIDL_Deconv2DLayer 第578章 | 0| 1| 1| 65 x x x x x x | 68 | 1. 1. 1 24 40 64 | 1. 1. 1 24 80 128 | 3932160 |
如果是这种情况,我建议创建一个玩具模型文件,突出显示的问题是可见的,并与我们分享,以便我们可以复制和 RCA 它。
谢谢
当然,期待玩具模型作为测试用例。
另外,请帮助我了解这里询问的详细信息:
[报价 userid="550564" url="~/support/processors-group/processors/f/processors-forum/1387120/tda4vl-q1-psdk-9-2-model-validation-issues/5336880 #5336880"]在当前情况下、您希望并确认、您已经生成了使用9.2.9.0 SDK 工具生成的层级 diff 模型工件、并对9.2基线固件执行目标推理。
根据您的回答、
-在9.2推理中,在图层 TIDL_DataConvertLayer 之后输出有垃圾值
这样 TIDL_Deconv2DLayer 你在说什么? 与8.6相比、您是否看到上面的所有层都符合预期 TIDL_Deconv2DLayer 我在这里的理解是否正确?
68|TIDL_Deconv2DLayer 第578章 | 0| 1| 1| 65 x x x x x x | 68 | 1. 1. 1 24 40 64 | 1. 1. 1 24 80 128 | 3932160 |
[报价]另外、也请求您共享、
[报价 userid="550564" url="~/support/processors-group/processors/f/processors-forum/1387120/tda4vl-q1-psdk-9-2-model-validation-issues/5319363 #5319363"]在接下来的步骤中、我们可以对9.2模型数据执行8.2层级别的差异、并找出显示偏差的第一层?
此外、在9.2 SDK 上、您是否验证了 PC 和 Target 流的层级转储比较? 正确吗?
[报价]1)对于可疑层、浮动与固定迹线差值? (再问一次是吗 TIDL_Deconv2DLayer )
2)您是否可以与9.2.9.0共享8.2个可疑层 diff 的定点跟踪? 请查看上述链接、以了解有关相同内容的更多信息。
Vyom、
您是否检查过此项?
尊敬的先生:
请查找玩具型号供您参考。
谢谢。此致、
Vyom Mishra
Vyom、
很高兴看到您可以附加该文件。
在这里我补充几点、
由于该线程从过去1个月开始处于活动状态、我们发布了包含稳健性修复的10 SDK、因为您已经准备好了设置、您可以验证结果并告诉我们吗?
这里可能有1或2件事我们可以期待,如果最新的工具和固件解决问题(好和好)如果我没有模型文件,我可以继续在最新的 SDK 上使用 RCA 并支持它。
感谢您的善意理解
Pratik
李文强
感谢您的响应。
请找到虚拟模型以供您参考 /cfs-file/__key/communityserver-discussions-components-files/791/5444.toy.zip
谢谢。此致、
Vyom Mishra
嗨、Chris、
感谢您的回复!
我们无法 分享我们的原始模型,所以我们尝试了一个开放源代码模型来复制我们的问题,这是作为玩具模型分享的。
我们找到了以下信息:
| TIDL-4455 |
如果在编译期间使用了基于 TIDL-RT 的配置文件、则在主机仿真和目标上、TranssposeConvolution(Deconv)输出在功能上不正确 |
来源: https://github.com/TexasInstruments/edgeai-tidl-tools/releases
这是我们的模型的问题、您能帮我们解决这个问题吗?
谢谢。此致、
Vyom Mishra
尊敬的 Chris:
我们尝试过 10_00_02_00和 10_00_08_00版本 、但十卷积问题仍然存在。

谢谢。此致、
Vyom Mishra
尊敬的 Chris:
我们发现一个玩具模型通过了 PSDK 8.2、但在 10_00_08_00 SDK 中失败
请检查并告知我们您的意见。
e2e.ti.com/.../dlav0_5F00_34_5F00_241218.zip
谢谢。此致、
Vyom Mishra
尊敬的 Vyom:
您发送的模型似乎适用于10_00_08。 这是在主机上编译以及在主机和器件上执行。
编译:
e2e.ti.com/.../dlav0_5F00_34_5F00_241218_5F00_compile.txt
主机执行:
e2e.ti.com/.../dlav0_5F00_34_5F00_241218.txt
器件执行:
e2e.ti.com/.../dlav0_5F00_34_5F00_241218_5F00_emu_5F00_run.txt
有一些警告、"警告:如果可能、更改为向上采样/调整大小、而不是解析。 它将更加有效"、但它们看起来并不重要。
此致、
Chris
尊敬的 Chris:
感谢您的回复!
我们能够转换/量化和移植模型、但由于某些参数中存在一些垃圾值、我们的模型输出与 SDK 8.2中的完全不同。
您能否查看我们发送给您的玩具模型(dlav0_34_241218)的 paramDebug.csv 文件? 如果您遇到与我们相同的问题、您可以看到一些带有解压缩图层的图层包含垃圾值。
如果没有问题、请向我们发送您使用的配置设置。 我们将进一步了解到底是否存在问题
谢谢。此致、
Vyom Mishra
尊敬的 Vyom:
这些值对我来说是可以接受的、但我不确定它们应该是什么样的适合您的应用。 输出看起来像一组稀疏矩阵。 我已经包含了一个输出伪影的 zip 文件。
以下是我的运行方式:
/home/a0194920local/10_0/edgeai-tidl-tools/tidl_tools/tidl_model_import.out{modeldir}/config --modelType 2 \
--inputNetFile{ModelName}--outputNetFile{modeldir}/ tidl_net.bin \
--outputParamsFile {modeldir}/tidl_io_buff --inDataNorm 1 \
-- inMean 123.675 116.28 103.53 --平方尺0.017125 0.017507 0.017429 \
-inData {modeldir}/in_data_list.txt --inFileFormat 2 \
-- tidlStatsTool /home/a0194920local/10_0/edgeai-tidl-tools/tidl_tools //PC_DSP_TEST_dl_algo.out \
-- perfSimTool /home/a0194920local/10_0/edgeai-tidl-tools/tidl_tools/ti_cnnperfsim.out
-- graphVizTool /home/a0194920local/10_0/edgeai-tidl-tools/tidl_tools/tidl_graphVisualizer.out
-inHeight 224 --inWidth 224 --inNumChannels 3 --numFrames 1.
modeldir 中的配置文件为:
perfSimConfig =/home/a0194920local/10_0/edgeai-tidl-tools/tidl_tools/device_config.cfg
/home/a0194920local/10_0/edgeai-tidl-tools/tidl_tools/device_config.cfg ISD 的内容仅是标准 AM69A 配置文件。
# TIDL 可以使用的 L2 SRAM 存储器大小(以 KB 为单位)、建议值为
# 448KB 考虑到64KB 的 L2将被配置为缓存。 TIDL 测试台
#将二级缓存配置为64 KB、因此任何高于448 KB 的值都需要
#用户要在 TIDL 测试台中更改 L2缓存设置
L2MEMSIZE_KB = 448
# TIDL 可以使用的 L3 (MSMC) SRAM 内存大小(以 KB 为单位)
MSMCSIZE_KB = 2944
#ID 对于器件、TDA4VMID = 0、TIDL_TDA4AEP = 1、TIDL_TDA4AHP = 1、TIDL_TDA4AM = 2、 TIDL_TDA4AMPlus = 3
DEVICE_NAME = 1
ENABLE_PERSIT_WT_ALLOC = 1
DDRFREQ_MHz = 4266
e2e.ti.com/.../compiled_5F00_dlav0_5F00_34_5F00_241218.zip
Chris
尊敬的 Chris:
感谢您的回复!
我们检查了您发送给我们的文件、发现在 ParamDebug.csv 文件中、Deconv 层(例如第68层、第69层、第70层等)的调试值与其他层有显著差异。 对于我们使用的模型来说、这个问题是相同的;我们认为这就是我们获得与 SDK 8.2完全不同的模型输出的原因。
(当我们在 SDK 8.2中对模型进行转换/量化并检查 ParamDebug.csv 文件时、我们没有看到这些值在中反弹 Deconv. 分层。)
我想知道是什么导致了的值如此不同 Deconv 层 在该版本中、而不是 SDK 8.2、如果这不会影响模型结果。
谢谢。此致、
Vyom Mishra