深度学习框架中的动态Shape问题

Posted qianqing13579

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习框架中的动态Shape问题相关的知识,希望对你有一定的参考价值。

动态shape存在的挑战

随着AI技术的发展,越来越多的模型需要dynamic shape的支持,比如cv领域的目标检测模型SSD,NLP领域的Seq2Seq模型,同时dynamic shape也给深度学习框架的实现带来了很大的困难,dynamic shape为什么难呢?我们先来看一下static shape,在static shape下,由于我们提前知道了准确的shape信息,所以可以提前做很多优化,比如:

  1. 内存优化。这一点在static shape中很容易实现,因为模型中所有节点的shape信息都是已知的,所以很容易做内存复用。
  2. 常量传播和常量折叠。这是一个很常见的优化手段。
  3. 可以在编译期执行一些预先计算,运行期就不用反复计算了,比如使用gather算子实现对upample算子的优化就属于这一类,示意图如下。

    但是在dynamic shape模式下,上述优化就很难实现,比如内存优化,如果编译期常量与shape有关常量传播和常量折叠的优化也实现不了,上述种种问题给深度学习框架实现dynamic shape带来了很大的困难,特别是编译期执行的与shape有关的优化。

以上是关于深度学习框架中的动态Shape问题的主要内容,如果未能解决你的问题,请参考以下文章

深度学习框架中的动态Shape问题

深度学习框架中的动态Shape问题

深度学习框架中的动态Shape问题

深度学习框架与动态shape

深度学习框架与动态shape

深度学习框架与动态shape