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.

[参考译文] TIDL-Caffe 结果匹配

Guru**** 2589265 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/637598/tidl-caffe-result-matching

您好!

使用 CNN 模型、是否可以使用 TIDL 和使用具有量化的 Caffe-Jacinto 生成完全相同的输出?

如果是、我需要在 Caffe-Jacinto 中设置什么量化参数?

William

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

    您好!

     在 Caffe-Jacinto 和 TIDL 中实现了相同的量化逻辑。 我们没有花费精力来匹配输出。 当使用 TIDL 部署 Caffe-Jacinto 时、Caffe-Jacinto 将提供预期精度的近似指示。

    谢谢、此致、

    Kumar.D

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

    您好!

    我已使用 TIDL 和预先训练的 jsegnet21v2初始模型(从 https://github.com/tidsp/caffe-jacinto-models/tree/caffe-0.16/trained/image_segmentation/cityscapes5_jsegnet21v2/initial 下载)进一步测试了上述场景。  

    下面是输出示例。 尽管具有量化的 Caffe 会产生比没有量化的 Caffe 更小的分段结果(这是预期的)、但它与 TIDL 输出仍然有很大不同。 是否有任何建议使用 Caffe-Jacinto 对 TIDL 精度进行更接近的估算?

    不量化的咖啡因结果:

    含量化的咖啡因结果(12位权重、8位激活、power2缩放设置为 true):

    TIDL 结果(位宽:12):

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    TIDL 使用非功率2缩放。 请在 Caffe-Jacinto 中尝试此配置。

    您能否确认您已成功导入相同的网络并在 TIDL 上执行相同的网络(版本中提供的默认网络不是这个网络)? 如果是、您是否尝试针对更多数量的帧执行 TIDL。 TIDL 量化使用以前执行的统计数据。 我们期望在执行过程中获得更好的结果。

    您还可以尝试为模型使用8位宽度吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我曾尝试关闭 power2调节、但结果是类似的。

    在尝试执行随时间变化的实验之前、我可能需要您针对 Caffe-Jacinto 中的某些参数向正确的方向指示、以获得尽可能接近 TIDL 的输出:TIDL 在执行动态定点量化的同时是否对激活和权重应用偏移?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请在10或20帧后匹配质量。 初始帧存在差异。 第一帧量化不适用于 Caffe-Jacinto、因为 TIDL 使用导入工具估算的统计数据、即使对于第一帧、也会量化。

    BTW、TIDL 仅对权重应用偏移。

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

    我在 TIDL 上尝试过相同的模型、但没有任何代码更改(模型为8位宽)。  下面是我们针对帧0观察到的结果。

    请确认     您可以通过执行用户指南中提到的步骤、以8位宽(numParamBits = 8)获得与此模型相同的结果。

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

    感谢你的帮助。 现在、我可以使用建议的设置获得与您在 TIDL 中获得的结果相同的结果。 因此、至少可以为我们提供有关如何在移植到 TIDL 和嵌入式系统时使用 Caffe 更好地估算精度的线索。

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

     您好 Kumar、

    您能告诉我如何获得上面显示的.yUV 文件吗?

    我使用模型导入工具、只获得.bin 文件和一些转储.y 文件。

    我使用原始数据格式打开.y 文件、它看起来是这样的。

    请与我分享。谢谢!

    此致、

    黎志颖

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    黎志颖
    我已使用 OUT VISION SDK 演示中使用的覆盖代码在 YUV 上覆盖输出

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

    好的、我明白了。
    谢谢。

    此致、
    黎志颖