专栏算法工具链模型转换过程中出现很多不必要的节点,如何进行优化

模型转换过程中出现很多不必要的节点,如何进行优化

已解决
casiatao2022-11-22
61
1

当前天工开物版本:2.3.3

我在转换一个单目标跟踪模型,该跟踪模型中间有一部分reshape算子,原始onnx部分结构如下

reshape算子运行在cpu上,使得模型分成了多段,因此我想通过split和concat代替reshape,使模型运行在bpu上,优化之后的onnx对应部分结构如下

使用工具链对优化后的模型进行转换,发现1x256x1x64在进行split和concat时,中间被放到了cpu上执行,对应结构如下

请问这是什么原因造成的呢,由于bpu上是NHWC布局,在split前和transpose后,尺寸都是1x1x64x256,那么中间的那些节点,是否可以直接删除呢

此外,请问有什么其他的方式,可以让reshape和transpose算子放在bpu上运行吗,目前我的bpu利用率很低,而cpu还要执行其他任务,因此想降低cpu的负载

由于上传大小限制,无法上传完整的onnx模型

算法工具链
评论1
0/1000
  • 颜值即正义
    Lv.2

    您好,目前该问题已定位,会在新发版中进行改进。

    建议大家阅读这篇文章了解一下模型转换工具链中的主动量化和被动量化逻辑:https://developer.horizon.ai/forumDetail/118364000835765793

    2022-11-24
    0
    0