一种神经网络编译阶段优化置换代价的方法技术

技术编号:33313033 阅读:44 留言:0更新日期:2022-05-06 12:26
本发明专利技术涉及神经网络技术领域,公开了一种神经网络编译阶段优化置换代价的方法,首先标记出神经网络中所有的置换操作,然后通过移动置换操作,将连续的多个同类置换标记为同一组,接着对同一组的置换操作进行合并,最后对比各个可选位置的执行代价,并根据对比结果来选择合并后置换所处的位置。该方法通过移动、合并置换操作等手段来降低神经网络编译阶段的置换代价,显著地减小了神经网络推理过程的数据计算量,提高了神经网络处理器推理相关神经网络的执行效率。经网络的执行效率。经网络的执行效率。

【技术实现步骤摘要】
一种神经网络编译阶段优化置换代价的方法


[0001]本专利技术涉及神经网络
,具体涉及一种神经网络编译阶段优化置换代价的方法。

技术介绍

[0002]神经网络近年来在越来越多的领域体现了其不可替代的价值,对于不同计算架构而言,执行神经网络的推理过程千差万别,因此,需要对神经网络进行编译,来将神经网络模型转化成相应计算架构上的指令,从而实现神经网络模型在该计算架构上的推理。
[0003]对于不同深度学习框架和不同硬件训练的神经网络模型,其默认模型维度顺序或者模型输入维度会存在差异,所以,在对神经网络进行编译时,需要通过数据置换,来实现神经网络的维度对齐和维度转换。
[0004]而由于神经网络模型的推理,其推理速度与数据存取带宽以及指令顺序息息相关,因此,在神经网络的编译过程中,对神经网络的进行计算优化具有重要的实际意义。

技术实现思路

[0005]为了解决上述
技术介绍
中提到的至少一个问题,本专利技术提出了一种神经网络编译阶段优化置换代价的方法。
[0006]一种神经网络编译阶段优化置换代价的方法,包括步骤:步骤S1,对于需要进行编译的深度神经网络,标记出该深度神经网络所有的置换操作;步骤S2,将所有的置换操作定义为维度内置换与维度间置换,具体地,维度内置换公式为:其中,f表示维度内置换操作,(1,2,3,

,n)为同一维度内的元素,为置换后结果,维度间置换公式为:其中,g表示维度间置换操作,表示维度。
[0007]步骤S3,对所有标记出的置换操作进行循环遍历,通过移动置换,将连续且属于同一类的置换标记为同一组,进一步地,对同一组的置换操作进行合并,具体包括步骤:步骤S301,对所有标记出的置换操作进行循环遍历,步骤S302,判断规则Z1是否成立,如果满足规则Z1,则执行动作D1;其中,规则Z1包括规则Z101和规则Z102,分别表示判断能否移动维度内置换和判断能否移动维度间置换,具体规则为:规则Z101,如果是维度内置换,置换操作前一层和置换操作后一层的计算函数计
算单个输出时输入的数据坐标,在被置换的维度是否相等;规则Z102,如果是维度间置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在所有被置换的维度是否相等,动作D1是指移动置换操作,包括移动维度内置换操作和移动维度间置换操作,具体地,如果满足规则Z101,则执行移动维度内置换操作,具体计算公式为:其中,表示神经网络中的网络层,f表示维度内置换操作,

表示神经网络中数据流向;如果满足规则Z101,则移动维度间置换操作,具体计算公式为:其中,表示神经网络中的网络层,g表示维度间置换操作,

表示神经网络中数据流动。
[0008]步骤S303,判断规则Z2是否成立,如果满足规则Z2,则执行动作D2;其中,规则Z2用于判断置换操作能否标记为同一组,包括规则Z201和规则Z202,分别表示能否标记连续多个的维度内置换操作为同一组和能否标记连续多个的维度间置换操作为同一组,具体规则为:规则Z201,移动后的多个置换是否连续且同属于维度内置换;规则Z202,移动后的多个置换是否连续且同属于维度间置换,动作D2是指合并同一组置换操作,包括合并同一组维度内置换操作和合并同一组维度间置换操作,具体地,如果满足规则Z201,则执行合并同一组维度内置换操作,具体计算公式为:其中,n表示连续且类别相同的置换个数,表示维度内置换,表示置换合并操作;如果满足规则Z202,则执行合并同一组维度间置换操作,具体计算公式为:步骤S4,选择合并后置换所处位置,逐一对比各个可选位置的执行代价,并根据对比的结果选择合并后的置换所处位置,具体地,执行代价为置换数据量。
[0009]本专利技术提出了一种神经网络编译阶段优化置换代价的方法,与现有的技术相比,具有以下有益效果:本专利技术通过移动、合并置换操作等手段来降低对神经网络编译阶段中的置换代价,显著地减小了神经网络推理过程的数据计算量,提高了神经网络处理器推理相关神经网络的执行效率。
附图说明
[0010]图1是本专利技术的一种神经网络编译阶段优化置换代价的流程图。
[0011]图2是本专利技术实施例中置换移动操作和置换合并操作示意图。
具体实施方式
[0012]为了使本专利技术的目的、特征能够更加的明显和易懂,下面通过实施例并结合附图对本技术方案进行详细说明。
[0013]如图1所示,一种神经网络编译阶段优化置换代价的方法,包括步骤:步骤S1,对于需要进行编译的深度神经网络,标记出该深度神经网络所有的置换操作。
[0014]步骤S2,将所有的置换操作定义为维度内置换与维度间置换,具体地,维度内置换公式为:其中,f表示维度内置换操作,(1,2,3,

,n)为同一维度内的元素,为置换后结果。
[0015]维度间置换公式为:其中,g表示维度间置换操作,表示维度。
[0016]步骤S3,对所有标记出的置换操作进行循环遍历,通过移动置换,将连续且属于同一类的置换标记为同一组,进一步地,对同一组的置换操作进行合并,具体过程如下:首先,对所有标记出的置换操作进行循环遍历。
[0017]然后,分别判断能否移动维度内置换和能否移动维度间置换。
[0018]如果是维度内置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在被置换的维度是否相等。
[0019]如果是维度间置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在所有被置换的维度是否相等。
[0020]进一步地,根据规则的判断结果,对置换进行移动。
[0021]如果满足移动维度内置换的条件,则执行移动维度内置换操作,移动维度内置换的计算公式为:其中,表示神经网络中的网络层,f表示维度内置换操作,

表示神经网络中数据流向。
[0022]如果满足移动维度间置换的条件,则执行移动维度间置换操作,移动维度间置换的计算公式为:其中,表示神经网络中的网络层,g表示维度间置换操作,

表示神经网络中数据流动。
[0023]接着,分别判断移动后的置换能否标记为同一组置换。
[0024]如果移动后的多个置换是否连续且同属于维度内置换,则标记为同一组维度内置换。
[0025]如果移动后的多个置换是否连续且同属于维度间置换,则标记为同一组维度间置换。
[0026]最后,根据标记置换的结果进行对同一组置换进行合并。
[0027]如果是同一组维度内置换,则合并该组的维度内置换,合并同一组维度内置换的计算公式为:其中,n表示连续且类别相同的置换个数,表示维度内置换,表示置换合并操作。
[0028]如果是同一组维度间置换,则合并该组的维度间置换,合并同一组维度间置换的计算公式为:其中,n表示连续且类别相同的置换个数,表示维度间置换,表示置换合并操作。
[0029本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络编译阶段优化置换代价的方法,其特征在于,包括步骤:步骤S1,对于需要进行编译的深度神经网络,标记出该深度神经网络所有的置换操作;步骤S2,将所有的置换操作定义为维度内置换与维度间置换;步骤S3,对所有标记出的置换操作进行循环遍历,通过移动置换,将连续且属于同一类的置换标记为同一组,进一步地,对同一组的置换操作进行合并;步骤S4,选择合并后置换所处位置,逐一对比各个可选位置的执行代价,并根据对比的结果选择合并后的置换所处位置。2.根据权利要求1所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤S2中所述的维度内置换公式为:其中,f表示维度内置换操作,(1,2,3,

,n)为同一维度内的元素,为置换后结果;所述的维度间置换公式为:其中,g表示维度间置换操作,表示维度。3.根据权利要求1所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤3包括步骤:步骤S301,对所有标记出的置换操作进行循环遍历,步骤S302,判断规则Z1是否成立,如果满足规则Z1,则执行动作D1;步骤S303,判断规则Z2是否成立,如果满足规则Z2,则执行动作D2。4.根据权利要求3所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤S302中的规则Z1用于判断置换操作能否进行移动,规则Z1包括规则Z101和规则Z102,分别表示判断能否移动维度内置换和判断能否移动维度间置换,具体规则为:规则Z101,如果是维度内置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在被置换的维度是否相等;规则Z102,如果是维度间置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在所有被置换的维度是否相等。5.根据权利要求...

【专利技术属性】
技术研发人员:张振欧阳鹏
申请(专利权)人:北京清微智能信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1