一种神经网络前向计算过程中的内存管理方法及设备技术

技术编号:19479828 阅读:37 留言:0更新日期:2018-11-17 10:30
本发明专利技术公开了一种神经网络前向计算过程中的内存管理方法及设备,包括获取层的层输出;分别针对每一个层输出执行以下操作,以实现对每一个层输出的内存分配:若查找到内存池中计数标记为第一标记的第一内存块,则将所述第一内存块分配给当前层输出,并将所述第一内存块的第一标记更改为第二标记,其中,所述计数标记用于表示其对应的内存块的使用状态,所述第一标记表示内存块处于可复用状态,所述第二标记表示内存块处于不可复用状态;获取所述层的层输入,分别确定每一个层输入的前层输出,以及更改所述前层输出的内存块的计数标记,以便所述前层输出的内存块进行复用,其中,所述前层输出表示传递数据给层输入的层的层输出。

【技术实现步骤摘要】
一种神经网络前向计算过程中的内存管理方法及设备
本专利技术涉及计算机领域,尤其涉及一种神经网络前向计算过程中的内存管理方法及设备。
技术介绍
内存是设备端的重要组成部件,然而设备端的内存资源是十分有限的,在深度学习算法中,内存的消耗会随着神经网络规模扩大而不断增加,神经网络内部划分成若干层,在神经网络的前向计算过程中,神经网络从输入层开始获取数据,依序逐层进行计算,其具体表现为从前一层输出内存中获取数据,进行本层运算,并将计算结果保存在本层输出内存中,同时将本层计算结果传递给后一层。现有的神经网络前向计算过程的内存管理方式中,内部划分了多少层,就会分配多少块内存,划分的网络层越多,分配的内存块就会越多,占用的内存也就会越多,这势必会挤占其它业务的内存使用,影响其他业务的进行,进而降低了整个系统内存的使用效率。所以,现有的内存管理方式,存在内存的使用效率低的技术问题。
技术实现思路
本专利技术实施例提供一种神经网络前向计算过程中的内存管理方法及设备,用于实现提高内存的使用效率的目的。第一方面,提供了一种神经网络前向计算过程中的内存管理方法,包括:获取层的层输出,其中,所述层表示计算单元;分本文档来自技高网...

【技术保护点】
1.一种神经网络前向计算过程中的内存管理方法,其特征在于,包括:获取层的层输出,其中,所述层表示计算单元;分别针对每一个层输出执行以下操作,以实现对每一个层输出的内存分配:若查找到内存池中计数标记为第一标记的第一内存块,则将所述第一内存块分配给当前层输出,并将所述第一内存块的第一标记更改为第二标记,其中,所述计数标记用于表示其对应的内存块的使用状态,所述第一标记表示内存块处于可复用状态,所述第二标记表示内存块处于不可复用状态;获取所述层的层输入,分别确定每一个层输入的前层输出,以及更改所述前层输出的内存块的计数标记,以便所述前层输出的内存块进行复用,其中,所述前层输出表示传递数据给层输入的层的...

【技术特征摘要】
1.一种神经网络前向计算过程中的内存管理方法,其特征在于,包括:获取层的层输出,其中,所述层表示计算单元;分别针对每一个层输出执行以下操作,以实现对每一个层输出的内存分配:若查找到内存池中计数标记为第一标记的第一内存块,则将所述第一内存块分配给当前层输出,并将所述第一内存块的第一标记更改为第二标记,其中,所述计数标记用于表示其对应的内存块的使用状态,所述第一标记表示内存块处于可复用状态,所述第二标记表示内存块处于不可复用状态;获取所述层的层输入,分别确定每一个层输入的前层输出,以及更改所述前层输出的内存块的计数标记,以便所述前层输出的内存块进行复用,其中,所述前层输出表示传递数据给层输入的层的层输出。2.如权利要求1所述的方法,其特征在于,若未查找到内存池中计数标记为所述第一标记的内存块时,则为所述当前层输出新建第二内存块,并将所述第二内存块的计数标记设置为所述第二标记。3.如权利要求1所述的方法,其特征在于,所述将所述第一内存块的第一标记更改为第二标记,具体包括:获取引用所述当前层输出的层输入的数量;将所述第一标记更改为与所述数量相同的第二标记。4.如权利要求1-3中任一项所述的方法,其特征在于,所述若查找到内存池中计数标记为第一标记的第一内存块,则将所述第一内存块分配给当前层输出,包括:若查找到内存池中计数标记为第一标记、且内存大小大于或等于当前层输出的大小的第一内存块,则将第一内存块分配给所述当前层输出;否则,将查找到的内存池中计数标记为第一标记、且内存大小小于当前层输出的大小的内存块作为备选内存块,确定所述备选内存块中内存大小最大的第一内存块,按照所述当前层输出的大小调整第一内存块的内存大小,并将调整后的第一内存块分配给所述当前层输出。5.如权利要求1-3中任一项所述的方法,其特征在于,所述更改每一个层输入的前层输出的内存块的计数标记,具体包括:获取所述每一个层输入的前层输出的内存块的目标计数标记;将所述目标计数标记的计数值减去一个计数单位。6.一种内存管理设备,其特征在于,包括:第一获取单元,用于获取层的层输出,其中,所述层表示计算单元;分配单元,用于分别针对每一个层输出执行以下操作,...

【专利技术属性】
技术研发人员:刘金鸽
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:浙江,33

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

1