【技术实现步骤摘要】
用于从人工神经网络分配中间数据的设备和方法
[0001]相关申请的交叉参考
[0002]本申请要求于2020年4月30日提交的法国申请第2004337号的权益,该申请通过引用并入本文。
[0003]实施例和实施方式涉及人工神经网络设备和方法,更具体地,涉及这些神经网络的执行期间的存储器的分配。
技术介绍
[0004]人工神经网络通常包括神经元层。
[0005]人工神经网络将数据集作为第一层的输入,并且输出最终结果作为来自最后一层的输出。
[0006]神经网络直到最后一层的每一层都允许在该层的输出处生成中间数据块,代表中间结果。这些中间数据块作为其他层的输入,其他层根据这些中间数据块生成它们自己的中间数据块。
技术实现思路
[0007]人工神经网络可通过诸如微控制器的集成电路来实施。
[0008]在神经网络的执行期间,中间数据被临时存储在集成电路存储器的存储器区域(称为全局存储器区域)中。然而,一些集成电路具有有限大小的存储器。
[0009]因此,重要的是限制由神 ...
【技术保护点】
【技术特征摘要】
1.一种用于针对全局存储器区域中的存储器分配确定由人工神经网络的层生成的中间数据块的放置的方法,所述方法包括:限定所述全局存储器区域中的每一层的所述中间数据块的多个可能放置;开发从所述神经网络的第一层到最后一层的每一层的所述中间数据块的放置的初始序列,从将被放置的所述中间数据块的所述多个可能放置中选择所述初始序列的每个放置,所述初始序列允许限定所述全局存储器区域的计划大小,所述初始序列被设置为候选序列;存储每一层的所述中间数据块的未选择放置;从所述初始序列的给定放置开发与所述初始序列相比进行修改的至少一个放置序列,所述开发包括通过存储的未选择放置来修改所述给定放置;依照通过所述修改序列获得的所述全局存储器区域的计划大小小于所述候选序列的所述全局存储器区域的计划大小,将所述修改序列设置为所述候选序列;以及使用一旦开发了每个修改序列就被设置为所述候选序列的放置序列作为用于所述存储器分配的所述中间数据块的放置。2.根据权利要求1所述的方法,还包括:为每个中间数据块的每个可能放置指定优先级顺序,根据放置的所述优先级顺序来执行针对开发所述初始序列而进行的每个中间数据块的放置的选择。3.根据权利要求2所述的方法,还包括:根据每个中间数据块的优先级顺序,在堆栈中从下到上存储没有为所述初始序列选择的放置。4.根据权利要求3所述的方法,还包括:开发每个修改序列,使得每个修改序列保持与所述初始序列相同的放置,直到与同一中间数据块相关联的放置作为置于所述堆栈的顶部的放置,主序列的放置被置于所述堆栈的顶部处的放置所取代然后从所述堆栈中被移除;以及从用于这些中间数据块的可能放置中选择所述修改序列的后续层的中间数据块的放置,所述未选择放置被存储在所述堆栈中。5.根据权利要求4所述的方法,还包括:开发所述修改序列,直到所述堆栈为空。6.根据权利要求4所述的方法,其中存储在所述堆栈中的每个放置与可通过从中间数据块的可能放置中选择该放置所获得的所述全局存储器区域的大小相关联。7.根据权利要求6所述的方法,还包括:在每次开发所述修改序列之前,将与所述堆栈的每个放置相关联的所述全局存储器区域的大小与针对所述候选序列获得的所述全局存储器区域的计划大小进行比较;以及从所述堆栈中移除与大于所述计划大小的所述全局存储器区域的大小相关联的放置。8.根据权利要求6所述的方法,还包括:在每次开发所述修改序列之前,组织与相同中间数据块相关联的所述堆栈的放置是根据与之相关联的所述全局存储器区域的大小并且根据这些放置的执行顺序来进行的。9.根据权利要求3所述的方法,其中所述堆栈具有有限大小。10.根据权利要求1所述的方法,其中针对中间数据块的放置选择的所述全局存储器区域的区域被认为只要选择了所有层的作为置于所述区域中的所述中间数据块的输入的数据块的放置就被释放。
11.根据权利要求10所述的方法,其中中间数据块的限定放置包括将所述中间数据块置于所述全局存储器区域的自由区域中。12.根据权利要求1所述的方法,其中由一层生成的中间数据块的限定放置包括将该中间数据块叠加在作为同一层的输入的中间数据块上。13.根据权利要求1所述的方法,其中中间数据块的限定放置包括增加所述全局存储器区域的存储器大小以插入该中间数据块。14.一种用于分配全局存储器大小的方法,所述方法包括:在全局存储器区域中限定由人工神经网络的层生成的中间数据块的多个可能放置;开发从所述神经网络的第一层到最后一层的每一层的所述中间数据块的放置的初始序列,从将被放置的所述中间数据块的所述多个可能放置中选择所述初始序列的每个放置,所述初始序列允许限...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。