System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 生成用于实现人工神经网络的计算机可执行代码的方法技术_技高网

生成用于实现人工神经网络的计算机可执行代码的方法技术

技术编号:41010636 阅读:2 留言:0更新日期:2024-04-18 21:46
本发明专利技术涉及生成用于实现人工神经网络的计算机可执行代码的方法。在实施例中,方法包括获得神经网络INN,该神经网络具有多个神经层,每一层能够根据不同的实施方式解决方案被执行并且影响神经网络的执行所需的存储器分配和/或神经网络的执行时间,定义神经网络的最大执行时间阈值和/或神经网络的执行所需的最大存储器分配阈值,从用于神经网络的每一层的可能实施方式解决方案中确定神经网络的执行的最优所需存储器分配尺寸,从用于神经网络的每一层的可能实施方式解决方案中确定神经网络的最优执行时间,并估计用于神经网络的每一层的每个实施方式解决方案的执行时间和所需存储器分配方面的性能损失或性能增益。

【技术实现步骤摘要】

实施例和实施方式涉及人工神经网络。


技术介绍

1、人工神经网络一般包括一系列神经层。每层接收对其应用权重的输入数据,并在通过所述层的神经元的激活函数的处理之后输出输出数据。这个输出数据被发送到神经网络中的下一层。

2、权重是关于可配置为从层获得正确的输出数据的神经元的数据,更具体而言是设置。

3、在一般监督式学习阶段期间调整权重,特别是通过用来自参考数据库的先前分类的数据作为输入数据来执行神经网络。

4、一旦经过训练,量化的神经网络就被集成到平台上,特别是诸如微控制器之类的集成电路上。

5、特别地,有可能使用集成软件将经量化的神经网络集成在平台中。例如,已知由stmicroelectronics开发的集成软件stm32cube.ai及其扩展x-cube-ai。

6、神经网络的执行可以要求大量的存储器资源来存储神经网络生成的权重和数据(特别是激活)。神经网络的执行也可以在大量处理周期上执行。

7、神经网络的计算机可执行代码可以根据各种性能准则进行评估。第一个性能准则是用于存储神经网络的权重的非易失性存储器的分配。第二个性能准则是在神经网络的执行期间存储由神经网络的不同层生成的数据所需的易失性存储器的分配。第三个性能准则是神经网络的执行时间。

8、为了提高神经网络的性能,可以在将神经网络的可执行代码集成到集成电路中之前对其进行优化。例如,可以优化神经网络的可执行代码以减少其执行时间。神经网络的可执行代码也可以被优化以减少其执行所需的存储器分配。因此,集成软件可以特别地被配置为生成在执行时间和所需的存储器分配方面改进的、特别是优化的经量化的神经网络的代码。

9、理论上,优选的是一起优化神经网络的执行时间和执行其所需的存储器分配。不过,实际上,这些性能准则的优化一般是对立的。因此,执行时间的优化一般导致神经网络的执行所需的存储器分配的增加,并且所需的存储器分配的优化一般导致神经网络的执行时间的增加。

10、用于优化神经网络的可执行代码的已知解决方案使得不可能在所需的存储器分配与神经网络的执行时间之间获得良好的折衷。

11、因此,一些解决方案选择优化存储器分配,而其它解决方案代替地选择优化执行时间。但是,一些用户可以寻求这两个性能准则之间的更好折衷。


技术实现思路

1、实施例提供了一种用于生成神经网络的可执行代码的解决方案,使得有可能改进存储器分配的优化与执行时间的优化之间的折衷。

2、在本文中,术语“优化”表示相对于某些性能准则的改进。神经网络的这种改进不一定与神经网络的最优改进对应。

3、实施例提供了一种生成用于实现人工神经网络的计算机可执行代码的方法,包括:

4、获得神经网络,该神经网络具有多个神经层,每一层能够根据影响神经网络的执行所需的存储器分配和/或神经网络的执行时间的不同实施方式解决方案被执行,

5、定义神经网络的最大执行时间阈值和/或神经网络的执行所需的最大存储器分配阈值,

6、从用于神经网络的每一层的可能实施方式解决方案中确定神经网络的执行的最优所需存储器分配尺寸,

7、从用于神经网络的每一层的可能实施方式解决方案中确定神经网络的最优执行时间,

8、估计用于神经网络的每一层的每个实施方式解决方案的执行时间和所需存储器分配方面的性能损失或增益,

9、通过对于神经网络的每一层从这层的可能实施方式解决方案选择实施方式解决方案来开发用于实现优化的神经网络的执行代码,该选择根据该实施方式选择方案的执行时间和/或分配相对于最大执行时间阈值和/或最大存储器分配阈值的性能损失来进行。

10、这种方法使得神经网络的用户能够定义期望的最大存储器分配尺寸以及期望的最大执行时间。例如,神经网络的用户可以经由集成软件的图形界面或经由命令行来指示期望的性能准则。

11、这种方法使得有可能以执行时间为代价来减少所需的存储器分配,或者反过来,同时遵守由用户定义的最大执行时间或最大存储器分配尺寸。

12、因此,这种方法使得有可能在执行神经网络的执行时间与所需的存储器分配之间找到用户满意的折衷方案。

13、实施例通过评估由神经网络的层生成的数据的可能放置来提供用于神经网络的执行的最优所需存储器分配尺寸。

14、优选地,神经网络的最优执行时间是通过为每一层从该层的可能的实施方式解决方案中选择最快的实施方式解决方案来确定的。

15、有利地,通过评估实施方式现解决方案对神经网络的执行时间的影响来执行对层的实施方式解决方案的执行时间方面的性能增益或损失的估计。

16、在有利的实施例中,通过评估实施方式解决方案对执行神经网络所需的存储器分配的影响来执行对层的实施方式解决方案所需的存储器分配方面的性能增益或损失的估计。

17、优选地,该方法还包括对每个实施方式解决方案进行折衷成本计算,以构造根据该实施方式解决方案关于所需存储器分配的折衷成本对层的实施方式解决方案进行排序的第一列表和/或根据该实施方式解决方案关于执行时间的折衷成本对层的实施方式解决方案进行排序的第二列表。

18、有利地,用于实现神经网络的可执行代码是通过以下方式开发的:以折衷成本的升序从第一列表和/或第二列表中获取实施方式解决方案,并相对于最大执行时间阈值和/或最大存储器分配阈值比较列表中每个实施方式解决方案的执行时间和/或分配方面的性能损失。

19、另外的实施例涉及一种包括指令的计算机程序产品,当该程序由计算机执行时,使得计算机实现如上所述的方法。实施例还提供了一种计算机可读介质,其上保存有这样的计算机程序产品。

20、其它实施例涉及一种包括指令的计算机程序产品,当该程序由计算机执行时,使得计算机实现通过实现如上所述的方法而获得的可执行代码。还有其它实施例涉及计算机可读介质,其上保存有这样的计算机程序产品。

本文档来自技高网...

【技术保护点】

1.一种生成用于实现人工神经网络的计算机可执行代码的方法,该方法包括:

2.根据权利要求1所述的方法,其中通过评估由神经网络的层生成的数据的可能放置来确定用于执行神经网络的最优所需存储器分配尺寸。

3.根据权利要求1所述的方法,其中神经网络的最优执行时间是通过为每一层从这层的可能实施方式解决方案中选择最快的实施方式解决方案来确定的。

4.根据权利要求1所述的方法,其中估计层的实施方式解决方案的执行时间方面的性能增益或损失包括评估该实施方式解决方案对神经网络的执行时间的影响。

5.根据权利要求1所述的方法,其中估计层的实施方式解决方案的所需存储器分配方面的性能增益或损失包括评估该实施方式解决方案对执行神经网络的所需存储器分配的影响。

6.根据权利要求1所述的方法,还包括计算每个实施方式解决方案的折衷成本,以便构造根据该实施方式解决方案关于所需存储器分配的折衷成本对层的实施方式解决方案进行排序的第一列表和/或根据该实施方式解决方案关于执行时间的折衷成本对层的实施方式解决方案进行排序的第二列表。

7.根据权利要求6所述的方法,其中用于实现神经网络的可执行代码是通过以下方式开发的:以折衷成本的升序从第一列表和/或第二列表中获取实施方式解决方案,并相对于最大执行时间阈值和/或最大存储器分配阈值比较列表中每个实施方式解决方案的执行时间和/或分配方面的性能损失。

8.一种存储指令的非暂态计算机可读介质,当指令被一个或多个处理器执行时,使得所述一个或多个处理器实现根据权利要求1所述的方法。

9.一种设备,包括:

10.一种生成用于实现人工神经网络的计算机可执行代码的方法,该方法包括:

11.根据权利要求10所述的方法,其中通过评估由神经网络的层生成的数据的可能放置来确定用于执行神经网络的最优所需存储器分配尺寸。

12.根据权利要求10所述的方法,其中神经网络的最优执行时间是通过为每一层从这层的可能实施方式解决方案中选择最快的实施方式解决方案来确定的。

13.根据权利要求10所述的方法,其中估计层的实施方式解决方案的执行时间方面的性能增益或损失包括评估该实施方式解决方案对神经网络的执行时间的影响。

14.根据权利要求10所述的方法,其中估计层的实施方式解决方案的所需存储器分配方面的性能增益或损失包括评估该实施方式解决方案对执行神经网络所需的存储器分配的影响。

15.根据权利要求10所述的方法,还包括计算每个实施方式解决方案的折衷成本,以便构造根据该实施方式解决方案关于所需存储器分配的折衷成本对层的实施方式解决方案进行排序的第一列表并且根据该实施方式解决方案关于执行时间的折衷成本对层的实施方式解决方案进行排序的第二列表。

16.根据权利要求15所述的方法,其中用于实现神经网络的可执行代码是通过以下方式开发的:以折衷成本的升序从第一列表和第二列表中获取实施方式解决方案,并相对于最大执行时间阈值和最大存储器分配阈值比较列表中每个实施方式解决方案的执行时间和分配方面的性能损失。

17.一种存储指令的非暂态计算机可读介质,当指令被一个或多个处理器执行时,使得所述一个或多个处理器实现根据权利要求10所述的方法。

18.一种设备,包括:

...

【技术特征摘要】

1.一种生成用于实现人工神经网络的计算机可执行代码的方法,该方法包括:

2.根据权利要求1所述的方法,其中通过评估由神经网络的层生成的数据的可能放置来确定用于执行神经网络的最优所需存储器分配尺寸。

3.根据权利要求1所述的方法,其中神经网络的最优执行时间是通过为每一层从这层的可能实施方式解决方案中选择最快的实施方式解决方案来确定的。

4.根据权利要求1所述的方法,其中估计层的实施方式解决方案的执行时间方面的性能增益或损失包括评估该实施方式解决方案对神经网络的执行时间的影响。

5.根据权利要求1所述的方法,其中估计层的实施方式解决方案的所需存储器分配方面的性能增益或损失包括评估该实施方式解决方案对执行神经网络的所需存储器分配的影响。

6.根据权利要求1所述的方法,还包括计算每个实施方式解决方案的折衷成本,以便构造根据该实施方式解决方案关于所需存储器分配的折衷成本对层的实施方式解决方案进行排序的第一列表和/或根据该实施方式解决方案关于执行时间的折衷成本对层的实施方式解决方案进行排序的第二列表。

7.根据权利要求6所述的方法,其中用于实现神经网络的可执行代码是通过以下方式开发的:以折衷成本的升序从第一列表和/或第二列表中获取实施方式解决方案,并相对于最大执行时间阈值和/或最大存储器分配阈值比较列表中每个实施方式解决方案的执行时间和/或分配方面的性能损失。

8.一种存储指令的非暂态计算机可读介质,当指令被一个或多个处理器执行时,使得所述一个或多个处理器实现根据权利要求1所述的方法。

9.一种设备,包括:

1...

【专利技术属性】
技术研发人员:L·福利奥M·拉图阿达P·代马伊
申请(专利权)人:意法半导体有限责任公司
类型:发明
国别省市:

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

1