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.

[参考译文] TDA2EXEVM:相同的图像在 TIDL 中获得不同的结果

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/659957/tda2exevm-same-image-got-different-results-in-tidl

器件型号:TDA2EXEVM

我生成了10个相同的图像、并在运行 TIDL 文件 I/O 用例(EVE)时获得了不同的结果。

我的模型是回归模型、模型仅具有 conv 和池图层、但我只能在第一个图像中获得正确的结果。

我知道您正在使用 SSD 型号、因此如果您遇到类似的问题?

祝你一切顺利

张强

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

    张强您好、

    我们使用从先前过程中收集的统计数据来在当前过程中动态量化激活。 因此 、对于相同的输入图像、我们在该过程中观察到的结果将不相同(但相似)。 我们已使用输入视频序列上的语义分割应用程序验证了该逻辑、

    谢谢、Rgerads、

    Kumar.D

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    但我只能在第一个映像中获得正确的结果,那么我如何更改某些代码以获得与第一个映像相同的结果来调试我的问题?
    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    张强您好、
    您能否尝试使用以下创建时间参数。

    createParams.quantHistoryParam1=0;
    createParams.quantHistoryParam2=0;
    createParams.quantMargin = 0;

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

    它可以正常工作、我可以得到相同的结果。
    当我运行 vedio 时、我可以获得更好的结果、但仍然不好。
    该模型可以在没有量化的情况下在 Caffe-Jacinto 中很好地运行、在回归模型上、8位量化可能不够?

    祝你一切顺利
    张强
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否尝试10或12位的模型参数量化并检查结果。
    请为此在导入配置文件中设置"numParamBits = 10"

    谢谢、Rgerads、
    Kumar.D
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    结果相似且不好、我使用以下创建时间参数:

    createParams.quantHistoryParam1=0;
    createParams.quantHistoryParam2=0;
    createParams.quantMargin = 0;

    我的配置如下:

    #默认值- 0
    randParams = 0

    # 0:Caffe、1:TensorFlow、默认值- 0
    modelType = 0

    #测试稀疏0、密集1
    conv2dKernelType = 0

    # 0:按 tarininng Framework 进行固定量化、1:按 TIDL 进行动态量化、默认值- 1.
    量化样式= 1.

    将在舍入为整数时添加# quantRoundadd/100,默认值为-50
    quantRoundAdd = 50

    numParamBits = 8
    0:8位无符号数,1:8位有符号数缺省值-1
    元素类型 = 0

    InputNetFile =" deploy_512x256_delete_layers.prototxt"
    inputParamsFile ="test2_jacinto_bn_iter_90000.caffemodel"

    outputNetFile ="NET.bin"
    outputParamsFile ="PRM.bin"

    rawSampleInData = 1.

    numSampleInData = 100
    sampleInData ="frame_100"

    # tidlStatsTool =
    tidlStatsTool ="C:\processor_sdk_vision_03_02_00_00\ti_components \Algorithms\REL.TIDL.01.00.dl\modules\ti_dl\utils\quantStatsTool\eve_test_algo .out.exe"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.如果您尝试使用不同帧的视频序列,请使用以下创建时间参数。


    createParams.quantHistoryParam1 = 10;
    createParams.quantHistoryParam2 = 10;
    createParams.quantMargin = 20

    2.如果上述方法无法改善结果、请尝试使用 numParamBits =10

    谢谢、此致
    Kumar.D;
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的代码中有一个错误。 当我修复它时、结果与 Caffe-Jacinto 类似。
    现在、当我进行设置时
    案例 A:
    createParams.quantHistoryParam1 = 10;
    createParams.quantHistoryParam2 = 10;
    createParams.quantMargin = 20;
    在 Vedio 的几帧中结果是错误的、结果更好
    该位
    情况 B:
    createParams.quantHistoryParam1=0;
    createParams.quantHistoryParam2=0;
    createParams.quantMargin = 0;
    结果很好

    情况 B 比情况 A 好一点

    谢谢!