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.

[参考译文] TDA4VM:一些问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1160442/tda4vm-some-problems

器件型号:TDA4VM

大家好、

客户有以下12个问题可能需要您的帮助:

1) 1) SDE 视差输出值是多少? 检查视差后的值、该值较大、应乘以换算值。  

2) 2) PTK SDE 演示添加了三层黄金塔式机型、它能否直接输出视差输出? 配置 config 中的输出不会生效。 是否需要手动添加输出逻辑?  

3) 3) 自定义模型通过 TIDL 工具使用 PC 仿真器运行。 它能否获得与之前运行的电路板完全相同的结果? (QAT 之后)  

4) 4)关于 使用 TIDL 工具的模型的 QAT 量化、当模型训练 fp32时、是否需要先用 xnn.lapps 进行换行?  

5) 在 QAT 量化参考设计中、用于转换为 lite 的函数(xnn.model_surgery .create_lite_model)主要用于将卷积层的形式修改为 xnn.lays,对吧?  

6) 在量化模型期间、如果一个块包含多个 conv+bn+Relu 结构、那么这些 conv、bn、Relu 中的每一个都被单独命名(self.conV1、self.con2...)。 然后还有另一个使用多个块的阶段、那么这些块是否需要再次被写为 self.block1、self.Block2?  

7) 7) QAT 量化后、电路板端模型中的张力输出必须为 INT8? 它是否可以再次乘以 fp32/fp16的输出?  

8) 8) 对于自定义模型不支持的 OP、QAT 是如何发生的?  如何打印和显示模型推理的中间结果?  

9) 9)摄像头访问适配器:如何访问 I2C 总线? 如何访问子板解串器? CSI_RX_IF 如何配置虚拟通道? 是否有任何例程可供参考?  

10) DSPLIB:调用控制 DSP 模块的代码是否在 ARM-A72上运行? DSP 单元的输入和输出数据存储在存储器中的什么位置?  

11) 11) DSP 和 MMA 模块能否直接通过指针传递数据?  

12) 12) 如果所有硬件单元(包括各种外设和板载硬核加速模块)直接使用 SDK 的调用方法而不是 OpenVx、您需要使用哪些库?  

您可以帮助检查此案例吗? 谢谢。

此致、

樱桃

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

    我可以回答与 QAT 相关的问题。 您希望如何处理其他问题? 如果您创建另一个包含这些问题的主题、则可以将其分配给合适的人员。

    ===================================================

    3) 3) 自定义模型通过 TIDL 工具使用 PC 仿真器运行。 它能否获得与之前运行的电路板完全相同的结果? (QAT 之后)  

    [MANU]:TIDL 运行是可重复的。 每次运行时、预期会给出相同的结果。 它没有、那么它是一个错误。

    4) 4)关于 使用 TIDL 工具的模型的 QAT 量化、当模型训练 fp32时、是否需要先用 xnn.lapps 进行换行?  

    [马努]:不  

    5) 在 QAT 量化参考设计中、用于转换为 lite 的函数(xnn.model_surgery .create_lite_model)主要用于将卷积层的形式修改为 xnn.lays,对吧?  

    [MANU](手动):它会更改操作功能、消除挤压和激励等 您可以通过修改此词典来自定义此行为: https://github.com/TexasInstruments/edgeai-torchvision/blob/master/torchvision/edgeailite/xnn/model_surgery/__init__.py#L113

    6) 在量化模型期间、如果一个块包含多个 conv+bn+Relu 结构、那么这些 conv、bn、Relu 中的每一个都被单独命名(self.conV1、self.con2...)。 然后还有另一个使用多个块的阶段、那么这些块是否需要再次被写为 self.block1、self.Block2?  

    [MANU]:名称无关紧要。 此外、QAT 还可以通过该模型进行智能跟踪、以了解在该模型之后调用哪个模块。

    7) 7) QAT 量化后、电路板端模型中的张力输出必须为 INT8? 它是否可以再次乘以 fp32/fp16的输出?  

    [MANU]:您是否询问 TIDL 导入的模型? 这取决于模型。 对于典型的分类模型、它是 INT8。 但对于检测模型、检测输出通常具有浮点值。

    8) 8) 对于自定义模型不支持的 OP、QAT 是如何发生的?  

    [马努]:这个问题不清楚。 您能进一步澄清一下这一点。

    8b)如何打印和显示模型推理的中间结果?  

    如果从 edgeeai-tidl-tools 使用 onnxruntime,则检查 onnxruntime 的功能以写出中间 tensors。

    如果您使用的是 RTOS SDK 中的 TIDM-RT、则这将提供有关编写介质间值的信息。

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/08_04_00_06/exports/docs/tidl_j721e_08_04_00_16/ti_dl/docs/user_guide_html/md_tidl_fsg_steps_to_debug_mismatch.html

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

    嘿、Manu、

    感谢您对 QAT 问题和其他问题的支持、我将创建一个新主题、然后我们可以在此处继续讨论。

    谢谢、此致、

    樱桃