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.

[参考译文] CCS:TDA4x:层转储大小问题

Guru**** 2522770 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/877757/ccs-tda4x-layer-dumps-size-issue

工具/软件:Code Composer Studio

尊敬的先生:

观察结果:对于 TDA2x:

分辨率为512x512x3

层转储:0 (数据层)e2e.ti.com/.../trace_5F00_dump_5F00_0_5F00_512x512.zip

大小:512x512x3 = 786432字节

通过 YUView 可视化的第0层如下:

观察结果:对于 TDA4x:

分辨率为512x512x3

层转储:0 (数据层)e2e.ti.com/.../caffe_5F00_tidl_5F00_infer_5F00_msi_5F00_mobilenet_5F00_pd.txt_5F00_0000_5F00_00003_5F00_00512x00512.zip

大小:512x512x3 (x2)额外观察值= 1572864字节

 通过 YUView 可视化的第0层如下:

对于 TDA4x:  

为什么层转储具有输入的双倍大小(512x512x3)?

如何确认对模型的输入正确?

请做必要的事。

谢谢、此致、

Vyom Mishra

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

    featureParamBits 是否设置为16? 这可能会使 tensor 的缓冲器大小增加一倍。

    让我看一下您发送的文件并返回给您

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

    尊敬的先生:

    根据实验、

    "numfeaturebits" 和"numparambits"不会影响数据层转储(.y)的大小。

    它是额外的512x512x3 (x2)恒定的。

    谢谢、此致、

    Vyom Mishra

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

    温柔的提醒!

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

    Vyom Mishra、

    我正在附加一个图像。 您能否验证这是否是您的预期输出? 顶部和底部行中的黑色衬垫?

    这是一个大小为786432字节的512 x 512映像、它从您附加的文件派生而来。

    在您的文件中、每个功能的宽度为16位、我必须运行以下代码才能获得正确的映像

    对于(i = 0;i < 512 * 512;i++){
    new_buffer[i]=(uint16_t*) buffer)[i];
    new_buffer[512 * 512 + i]=(uint16_t *) buffer)[512 * 512 + i];
    new_buffer[512 * 512 * 2 + i]=(uint16_t *) buffer)[512 * 512 * 2 + i];

    e2e.ti.com/.../caffe_5F00_tidl_5F00_infer_5F00_msi_5F00_mobilenet_5F00_pd.txt_5F00_0000_5F00_00003_5F00_00512x00512_2D00_modified.y

    -Subhajit

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

    尊敬的先生:

    现在、显示的图像正确、 顶部和底部行中的黑色焊盘。

    您能不能告诉我们这些更改必须更新到何处才能获得正确的布线转储输出、以便我们能够实现逐层匹配。

    我有几个关于相同的问题、

    参考 至 https://e2e.ti.com/support/processors/f/791/t/876743#pi320966=2 帖子(针对相同填充模型运行并行查询)

    我们正在进行一些检测、有些检测缺失、但没有采用以下配置的 FP:

    numparambits = numfeaturebits = 8且量化样式= 3

    但是、通过将上述参数增加到12/16、我们可以使用 FP 进行检测。

    上述参数(从8到12/16)的增加是否是 FP 的原因?

    如何解决此 FP 的问题?

    请做必要的事。

    谢谢、此致、

    Vyom Mishra

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

    Vyom Mishra、

    您能否共享导入和推断配置文件。

    看起来模型是为您共享的跟踪的16位流导入的。

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

    尊敬的先生:

    我将为您共享导入配置文件和推断配置文件、以供您参考:

    e2e.ti.com/.../2018.tidl_5F00_import_5F00_msi_5F00_mobilenet_5F00_pd.txt

    e2e.ti.com/.../0647.tidl_5F00_infer_5F00_msi_5F00_mobilenet_5F00_pd.txt

    只需再次通知您有关第一层转储的大小:

    a) numparambits = numfeaturebits = 8

      它具有第一层转储的正确大小,即512x512x3

    b) numparambits=numfeaturebits=12/16

      它的大小为:512x512x3x2

    先前共享的迹线是  

    numparambits = numfeaturebits = 12。

    我请求您共享为生成 Shubhajit 所做的正确图层转储所做的更改。

    因为我们需要比较 PC 和导入工具转储。

    谢谢、此致、

    Vyom Mishra

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

    Vyom、

    对于 numParambits > 8或 numFeatureBits > 8、它将使用 W x H x 3 x 2字节、因为元素为2字节(16位)

    -Subhajit

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

    尊敬的先生:

    根据实验、

    我仅获得以下(b)配置的 WxHx3X2

    a)如果 numparambits = numfeaturebits = 8

      它具有第一层转储的正确大小,即512x512x3

    b)如果 numparambits = numfeaturebits = 12/16

      它的大小为:512x512x3x2

     

    谢谢、此致、

    Vyom Mishra

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

    有关调试精度不匹配问题的信息、请参阅以下页面。

    比较输入传感器与 TIDL 和基准

    • 将输入传感器与 TIDL 网络的输入传感器匹配经过训练的网络的输入传感器非常重要。
    • 以浮点格式保存您使用的培训代码中的输入 tensor。
    • 使用 writeTraceLevel = 3将层级跟踪从 TIDL 写入文件。
    • 默认情况下,标准化 batchNorm 层的数据会合并到后面的卷积层。 因此、设置 foldPreBnConv2D = 0以避免这种情况。
    • 将此 batchNorm 层的输出与训练代码的输入 tensor 进行比较。 请参阅 链接

    http://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tidl_j7_01_01_00_10/ti_dl/docs/user_guide_html/md_tidl_fsg_steps_to_debug_mismatch.html

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

    尊敬的先生:

    我们按照建议 设置"foldPreBnConv2D = 0"、但结果与以前相同、即单个对象上有多个框。

    我们还将 此 batchNorm 层的输出与输入 tensor 进行了比较、结果可在以下文件夹中找到、供您参考:

    e2e.ti.com/.../TI-Query.zip

    观察结果:

    PC/导入工具匹配项的数据层和批量标准层输出数据。  

    请提供同样的反馈。

    我有一个关于"图元地图比例分析"的查询

    根据观察、层0 (数据层)和层1 (批量标准)的最小值/最大值大于32。 这意味着这些层仅具有最大量化损耗。 FY 参考请在上面共享的 zip 文件中找到控制台输出。

    但是、

    正如前面所述、我们遵循了"权重量化统计分析"的建议

    我们发现并向您分享了卷积(dw)、即、按方向具有最大量化损耗。

    以上两个结论是不同的。 请帮助我们了解我们是否误解了它。  

    请做必要的事。

    谢谢、此致、

    Vyom Mishra

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

    尊敬的先生:

    我们正在尝试在目标和 PC 之间进行逐层匹配。

    以下是截至目前为止的视觉观察结果:

    a)     电路板侧的池层输出与 PC 匹配

    b)     在前5个卷积中、第一个卷积层输出与 PC 不匹配、而其他四个卷积输出与 PC 匹配

    c)     检测输出层(模型的最后一层)

         -     目标端:我们有两个边界框、其中一个框与 PC 匹配、而另一个框不匹配、因为它是同一对象上的多个边界框。

    出现第(a)点的可能原因是什么?

    请做必要的事。

    谢谢、此致、

    Vyom Mishra

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

    PC 和目标执行的层级布线应匹配(对于相同的输入)

    是输入 tensor  (数据 ID 0)匹配的轨迹、如果是、您能否共享样例模型(有问题的图层)以在我们的末尾重现问题

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

    该模型已与 Sujith 和 Kartik 共享、

    我们对前面方框的宽高比进行了某些更改。 deploy.prototxt 中提供了这些更改。 我们不确定这些更改在运行导入工具后是否会使模型变光。

    下面是 deploy.prototxt 的一个片段、其中显示了前面框的宽高比类型值

    第{

     名称:"ctx_output1/SEL/Relu_mbox_priorbox"

     类型:"PriorBox"

     底部:"CTX_output1/SEP"

     底部:"数据"

     顶部:"ctx_output1/SEL/Relu_mbox_priorbox"

     PRE_BOX _param{

       MIN_SIZE:35.0

       MAX_SIZE:109.800003052

       Aspect 比率:0.5

       Aspect 比率:0.333333343267

     

    此致、

    Sankalp

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

    您好 Sankalp、

    您能否共享一个输入图像和来自咖啡因的预期输出(以及来自咖啡因的层级浮动传感器)。

    我们将尝试在最终使用您共享的模型重现此问题。

    关于 Aspe_Ratio、导入工具应在 导入期间从 deploy.prototxt 读取这些纵横比

    此致、

    Kumar.D

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

    您好 Sankalp、

    我还注意到您在下面分享的模型中。

    第{
    名称:"ctx_output2/SEP/Relu_mbox_priorbox"
    类型:"PriorBox"
    底部:"CTX_output2/SEP"
    底部:"数据"
    顶部:"ctx_output2/SEP/Relu_mbox_priorbox"
    PRE_BOX _param{
    MIN_SIZE:109.800003052
    MAX_SIZE:184.600006104
    Aspect 比率:0.5
    Aspect 比率:0.40000000596
    Aspect 比率:0.001
    Aspect 比率:0.285714298487
    翻转:true
    剪辑:错误
    差异:0.10000000149
    差异:0.10000000149
    差异:0.20000000298
    差异:0.20000000298
    偏移:0.5

    这意味着宽屏光圈为1:1000。 这是预期的吗?

    此致、

    Kumar.D