The embodiment of the invention discloses a memory management method, a device and a storage medium, belonging to the computer technology field. The method includes: at least one branch of the neural network is determined according to the connection of the feature unit in the neural network; for each branch, the first memory and second memory are allocated for the branch according to the size of the output memory required by each characteristic unit on the branch. The first memory size is not less than second memory size, first inside. The memory size and the second memory size are not less than the other memory sizes required by the branch; the first memory and the second memory rotation are used as the input memory and output memory of the characteristic unit on the branch. The embodiment of the invention has only two memory allocated to each branch of the neural network, which takes rotation as the input memory and output memory of the feature unit. It can not only ensure the normal operation of the calculation, but also realize memory reuse, save the occupied memory, reduce the memory demand, and ensure the normal realization of the nerve on the terminal. Network.
【技术实现步骤摘要】
内存管理方法、装置及存储介质
本专利技术实施例涉及计算机
,特别涉及一种内存管理方法、装置及存储介质。
技术介绍
近年来,深度学习在语音识别和计算机视觉等领域得到了广泛的应用,并且随着深度学习的快速发展,驱动着AI(ArtificialIntelligence,人工智能)算法不断涌现,并迅速地改变了技术的发展方向和人们的生活。深度学习离不开神经网络的实现,传统的神经网络通常在服务器端实现,然而,随着AI算法的不断发展,在服务器端实现神经网络的方式已不能满足人们日益增长的业务需求,亟需提出在终端实现神经网络的方式。但是,神经网络中包括多个网络层,每个网络层又包括多个特征单元,每个特征单元计算完成输出数据时均需要占用一块内存,导致实现神经网络时需要占用大量的内存。而与服务器端相比,终端的内存有限,无法满足神经网络的内存需求,导致在终端实现神经网络的方式难以实现。
技术实现思路
本专利技术实施例提供了一种内存管理方法、装置及存储介质,可以解决相关技术的问题。所述技术方案如下:第一方面,提供了一种内存管理方法,应用于终端中,所述方法包括:根据神经网络中的特征单元连接关系,确定所述神经网络的至少一个分支,所述神经网络包括按照顺序排列的多个网络层,每个网络层包括至少一个特征单元,每个分支由位于不同网络层的多个特征单元连接构成;对于每个分支,根据所述分支上每个特征单元需要的输出内存的尺寸,为所述分支分配第一内存和第二内存,第一内存尺寸不小于第二内存尺寸,所述第一内存尺寸和所述第二内存尺寸均不小于所述分支需要的其他内存尺寸;将所述第一内存和所述第二内存轮流作为所述分支上 ...
【技术保护点】
1.一种内存管理方法,其特征在于,应用于终端中,所述方法包括:根据神经网络中的特征单元连接关系,确定所述神经网络的至少一个分支,所述神经网络包括按照顺序排列的多个网络层,每个网络层包括至少一个特征单元,每个分支由位于不同网络层的多个特征单元连接构成;对于每个分支,根据所述分支上每个特征单元需要的输出内存的尺寸,为所述分支分配第一内存和第二内存,第一内存尺寸不小于第二内存尺寸,所述第一内存尺寸和所述第二内存尺寸均不小于所述分支需要的其他内存尺寸;将所述第一内存和所述第二内存轮流作为所述分支上特征单元的输入内存和输出内存。
【技术特征摘要】
1.一种内存管理方法,其特征在于,应用于终端中,所述方法包括:根据神经网络中的特征单元连接关系,确定所述神经网络的至少一个分支,所述神经网络包括按照顺序排列的多个网络层,每个网络层包括至少一个特征单元,每个分支由位于不同网络层的多个特征单元连接构成;对于每个分支,根据所述分支上每个特征单元需要的输出内存的尺寸,为所述分支分配第一内存和第二内存,第一内存尺寸不小于第二内存尺寸,所述第一内存尺寸和所述第二内存尺寸均不小于所述分支需要的其他内存尺寸;将所述第一内存和所述第二内存轮流作为所述分支上特征单元的输入内存和输出内存。2.根据权利要求1所述的方法,其特征在于,所述根据所述分支上每个特征单元需要的输出内存的尺寸,为所述分支分配第一内存和第二内存之前,所述方法还包括:对所述分支上每个特征单元需要输出的数据量进行统计,得到所述分支上每个特征单元需要的输出内存的尺寸。3.根据权利要求1所述的方法,其特征在于,所述根据所述分支上每个特征单元需要的输出内存的尺寸,为所述分支分配第一内存和第二内存,包括:按照从大到小的顺序,对所述分支上每个特征单元需要的输出内存的尺寸进行排序;将排在第一位的尺寸作为第一内存尺寸,将排在第二位的尺寸作为第二内存尺寸;为所述分支分配与所述第一内存尺寸匹配的第一内存和与所述第二内存尺寸匹配的第二内存。4.根据权利要求1所述的方法,其特征在于,所述将所述第一内存和所述第二内存轮流作为所述分支上特征单元的输入内存和输出内存,包括:当所述第一内存尺寸与所述第二内存尺寸相等时,将所述第一内存作为所述分支上第一特征单元的输出内存,且作为第二特征单元的输入内存,将所述第二内存作为所述第二特征单元的输出内存;其中,所述第一特征单元为所述分支上的任一特征单元,所述第二特征单元为所述分支上所述第一特征单元的下一个特征单元。5.根据权利要求1所述的方法,其特征在于,所述将所述第一内存和所述第二内存轮流作为所述分支上特征单元的输入内存和输出内存,包括:当所述第一内存尺寸大于所述第二内存尺寸时,确定所述分支上需要的输出内存的尺寸为所述第一内存尺寸的指定特征单元;将所述第一内存作为所述指定特征单元的输出内存;按照所述分支上每个特征单元与所述指定特征单元之间的位置关系,将所述第一内存和所述第二内存作为所述分支上除所述指定特征单元以外的每个特征单元的输入内存或输出内存,以使所述第一内存和所述第二内存轮流作为所述分支上特征单元的输入内存和输出内存。6.根据权利要求1-5任一项所述的方法,其特征在于,所述将所述第一内存和所述第二内存轮流作为所述分支上特征单元的输入内存和输出内存之后,所述方法还包括:在基于所述分支进行计算的过程中,将第一特征单元输出的数据存储于所述第一特征单元的输出内存中;从所述第一特征单元的输出内存中提取所述第一特征单元输出的数据,通过第二特征单元对提取的数据进行计算,将所述第二特征单元输出的数据存储于所述第二特征单元的输出内存中;其中,所述第一特征单元为所述分支上的任一特征单元,所述第二特征单元为所述分支上所述第一特征单元的下一个特征单元,所述第一特征单元的输出内存与所述第二特征单元的输入内存相同。7.一种内存管理装置,其特征在于,应用于终端中,所述装置包括:确定模块,用于根据神经网络中的特征单元连接关系,确定所述神经网络的至少一个分支,所述神经网...
【专利技术属性】
技术研发人员:黄凯宁,朱晓龙,梅利健,黄生辉,王一同,罗镜民,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。