算子是组成模型的基本单元。模型转换时,会进行算子融合来达到网络性能提升的目的。当模型中存在算子融合规则未覆盖且可融合的算子时,模型转换完成则无法达到最优性能。本节以YOLOV5模型为例,介绍通过专家系统UB算子融合推荐功能自动发现并输出模型中可融合的Cube和Vector算子,帮助用户快速定位可融合算子,提升模型性能。
首先查看图3可以大致了解可融合算子类型和名称。再通过单击See More,可以查看可融合算子在模型中的位置和明细,如图4所示。
由于版本更新,以上界面可能与实际情况不一致,请以实际界面为准。
具体融合操作需开发者自行修改算子代码,完成融合后的模型结构示例如图5所示。
图中以YOLOV5网络模型的Conv2D、Mul和AscendQuart算子融合为Conv2D算子为例,左侧部分为融合前的YOLOV5网络模型结构,右侧部分为优化后的YOLOV5网络模型结构,可以看到优化后模型结构得到了简化。
通过专家系统工具对OM模型的UB算子融合分析可知专家系统工具可以快速准确定位到模型中的可融合算子,减少用户的定位时间,提升效率。