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:需要对 TIDL 中的 CONV + BN + RELU 融合进行一些澄清

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1337680/tda4vm-need-some-clarity-on-conv-bn-relu-fusion-in-tidl

器件型号:TDA4VM

您好!  

在 TIDL 文档中、将合并 CONV & RELU & BN、从而获得更好的性能。

在我的模型中、我有如下的一些序列:

它在 tidl_graph 中变为现实:

我的问题是、为什么不将池化合并到 Conv 中、因为我们希望获得更好的性能? 我的感觉是、我应该重新设计我的模型、使其具有 Conv+Pooling+Relu 序列、而不是 Conv+Relu+Pooling? 我是对吗? 如果不是、您能否指导我使 conv+pooling 生效?

感谢您的回答。  

Br、

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

    您好!

    Unknown 说:
    在 TIDL 文档中、默认情况下、CONV & RELU & BN 将合并、从而获得更好的性能。

    是的、Relu 和 Bn 可以在卷积内合并。

    从共享的 SS 中、我可以看到 Relu 正按照预期和支持被卷积吸收。

    但是,我们不支持吸收/合并对象层为卷积。

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

    您好!  

    感谢您的回答。 抱歉、问题的标题令人困惑。 我想谈谈 CONV + POOL + Relu。 在 tidl 文档中、人们认为池化也可以作为卷积的一部分被吸收。 是不是已经过时了?

    Br、

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

    只是一些额外的信息、  

    我浏览了文档并找到了此部分:

    似乎这个 聚合池层正在检查池池层本身的输入。 如果在合并 CONV+RELU 之前执行此检查、则当我们有 CONV+RELU+POLING 序列时、池不会被吸收到 CONV+RELU+POLING 中是有意义的。

    如果序列是 CONV+POLING +RELU、我想我可以预期 CONV+POLING 将被吸收、但我们应该与 RELU 有相同的问题?

    您能否确认 这些假设 是否有效? 对于 conv/pooling 内核大小或使这种合并成为可能的顺序是否有任何限制?

    Br、

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

    我已将此主题分配给了能够对此发表评论的正确专家、请预计下周回复、因为团队正忙于发布周期。

    感谢您的耐心等待。

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

    Thomas、
    您能否告诉我您参考的是哪种 SDK 和文档? 此选项当前不受支持。  我们最新的文档位于: https://github.com/TexasInstruments/edgeai-tidl-tools 

    谢谢。
    瓦伦