一种深度学习网络的优化方法及装置制造方法及图纸

技术编号:26792934 阅读:13 留言:0更新日期:2020-12-22 17:08
本发明专利技术实施例涉及人工智能技术领域,提供了一种深度学习网络的优化方法,该方法包括:获取目标网络的拓扑排序信息;确定第一个网络层的输出数据的第一数据量;并根据第一数据量确定第一个网络层的内存模式;针对除第一个网络层之外的每个网络层,确定该网络层的输出数据的第二数据量;并根据第二数据量、该网络层的计算特征、上一网络层的计算特征和上一网络层的内存模式,确定该网络层的融合模式和内存模式;按照除第一个网络层之外的每个网络层的融合模式,以及每个网络层的内存模式,更改目标网络的初始模型文件,得到优化后的目标网络。与现有技术相比,应用本发明专利技术实施例提供的方案,可以提高深度学习网络的优化效率。

【技术实现步骤摘要】
一种深度学习网络的优化方法及装置
本专利技术涉及人工智能
,特别是涉及一种深度学习网络的优化方法及装置。
技术介绍
所谓深度学习网络是指:在计算机系统中,用于实现人工智能的阶层结构的人工神经网络,根据不同的网络结构、训练方式以及权重系数,可以构成不同的深度学习网络,例如,卷积神经网络(ConvolutionalNeuralNetwork,CNN)、循环神经网络(RecurrentNeuralNetwork,RNN)等。当前,随着深度学习网络的不断加深,深度学习网络的访存量大大增加,对深度学习网络所在运行环境的硬件带宽等硬件资源的需求也随之增大。然而,受限于深度学习网络所在运行环境的硬件资源的性能,当访存量增大时,深度学习网络的运行速度将减小。因此,对深度学习网络进行优化,以提高深度学习网络的运行速度,受到越来越多人重视。其中,所谓访存量是指:深度学习网络的各个网络层在访问存储器的过程中,在存储器中所存储的输出数据,和在存储器中所读取的输入数据的数据量。相关技术中,对深度学习网络进行优化的方法是:利用AI(ArtificialIntelligence,人工智能)加速处理器更改深度学习网络所在运行环境,硬核化实现深度学习网络中的算法运行的加速,以减少硬件带宽瓶颈,提高深度学习网络的运行速度。然而,在上述相关技术中,当深度学习网络的应用场景改变后,即深度学习网络的输入数据发生变化时,当前所利用的AI加速处理器可能不再适配于新的应用场景,因此,需要对当前所利用的AI加速处理器进行调整或更新,从而,使得深度学习网络的优化过程较为复杂,降低了深度学习网络的优化效率。
技术实现思路
本专利技术实施例的目的在于提供一种深度学习网络的优化方法及装置,以简化对深度学习网络的优化过程,提高深度学习网络的优化效率。具体技术方案如下:第一方面,本专利技术实施例提供了一种深度学习网络的优化方法,所述方法包括:获取目标网络的拓扑排序信息;其中,所述目标网络为待优化的深度学习网络,所述拓扑排序信息用于表征所述目标网络所包括的各个网络层以及各个网络层之间的数据传输关系;根据所述各个网络层中的第一个网络层的计算特征和所述目标网络的输入数据,确定所述第一个网络层的输出数据的第一数据量;并根据所述第一数据量确定所述第一个网络层的内存模式;其中,所述第一个网络层基于所述数据传输关系确定的;针对所述各个网络层中除所述第一个网络层之外的每个网络层,根据该网络层的计算特征和该网络层的上一网络层的输出数据,确定该网络层的输出数据的第二数据量;并根据所述第二数据量、该网络层的计算特征、所述上一网络层的计算特征和所述上一网络层的内存模式,确定该网络层的融合模式和内存模式;其中,任一网络层的内存模式用于表征该网络层的输入数据和输出数据的存储模式;按照所述各个网络层中除所述第一个网络层之外的每个网络层的融合模式,以及所述各个网络层中每个网络层的内存模式,更改所述目标网络的初始模型文件,得到优化后的目标网络。可选的,一种具体实现方式中,所述根据所述第一数据量确定所述第一个网络层的内存模式的步骤,包括:根据所述第一数据量、用于读写所述输入数据的目标存储器和所述目标网络环境中的第二存储器的总内存,确定所述第一个网络层的内存模式;其中,所述目标存储器为所述第一存储器、第二存储器和第三存储器中的任一存储器,所述第一存储器的数据读写速度最快,所述第二存储器的数据读写速度居中,所述第三存储器的数据读写速度最慢。可选的,一种具体实现方式中,该网络层为具有一个输入数据和一个输出数据的第一类网络层;所述根据所述第二数据量、该网络层的计算特征、所述上一网络层的计算特征和所述上一网络层的内存模式,确定该网络层的融合模式和该网络层的内存模式的步骤,包括:根据该网络层的计算特征和所述上一网络层的计算特征,判断该网络层和所述上一网络层的数据处理过程是否能在同一网络层中执行;如果是,确定该网络层的融合模式为第一融合模式,并确定该网络层的内存模式为第一内存模式;其中,所述第一融合模式表征在所述目标网络的运行过程中该网络层和所述上一网络层合并为同一层;所述第一内存模式表征该网络层的输入数据存储在所述第一存储器,以及该网络层的输出数据存储在所述第二存储器或所述第三存储器;如果否,根据所述第二数据量、所述上一网络层的内存模式和所述第二存储器的总内存,确定该网络层的内存模式,并根据该网络层的内存模式,确定该网络层的融合模式。可选的,一种具体实现方式中,所述上一网络层的内存模式表征所述上一网络层的输出数据存储在所述第二存储器;所述根据所述第二数据量、所述上一网络层的内存模式和所述第二存储器的总内存,确定该网络层的内存模式的步骤,包括:根据所述第二数据量、所述上一网络层的内存模式、所述上一网络层的输出数据的数据量、所述上一网络层的输出数据在所述第二存储器中的存储地址和所述第二存储器的总内存,确定该网络层的内存模式。可选的,一种具体实现方式中,所述根据所述第二数据量、所述上一网络层的内存模式、所述上一网络层的输出数据的数据量、所述上一网络层的输出数据在所述第二存储器中的存储地址和所述第二存储器的总内存,确定该网络层的内存模式的步骤,包括:利用预设的判断公式,确定该网络层的内存模式,其中,所述预设的判断公式为:y(modet,memt)=ft(modet-1,memt-1,sram_size,data_size)其中,modet表示网络层t的内存模式,memt表示所述网络层t的输出数据的第二数据量和所述网络层t在所述第二存储器中的存储地址,ft()表示预设的用于判断所述网络层t的内存模式的判断函数;modet-1表示所述上一网络层t-1的内存模式,memt-1表示所述上一网络层t-1的输出数据的数据量和所述上一网络层t-1的输出数据的所述第二存储器中的存储地址,sram_size表示所述第二存储器的存储总量总内存,data_size表示网络层t的输出数据的第二数据量。可选的,一种具体实现方式中,该网络层为具有多个输入数据和/或多个输出数据的第二类网络层;所述根据所述第二数据量、该网络层的计算特征、所述上一网络层的计算特征和所述上一网络层的内存模式,确定该网络层的融合模式和内存模式的步骤,包括:根据所述各个网络层中全部第一类网络层的内存模式、所述第二数据量、该网络层的计算特征和所述上一网络层的计算特征,确定确定该网络层的融合模式和内存模式。可选的,一种具体实现方式中,该网络层和所述上一网络层的数据处理过程不能在同一网络层中执行;该网络层的内存模式为以下各个内存模式中的一种:表征该网络层的输入数据和输出数据均存储在所述第三存储器中的第二内存模式,其中,所述第二内存模式的融合模式为:该网络层和所述上一网络层,以及该网络层的下一网络层均不能融合;表征该网络层的输入数据存储在所述第三存储器且该网络层的输出数据存储在本文档来自技高网
...

【技术保护点】
1.一种深度学习网络的优化方法,其特征在于,所述方法包括:/n获取目标网络的拓扑排序信息;其中,所述目标网络为待优化的深度学习网络,所述拓扑排序信息用于表征所述目标网络所包括的各个网络层以及各个网络层之间的数据传输关系;/n根据所述各个网络层中的第一个网络层的计算特征和所述目标网络的输入数据,确定所述第一个网络层的输出数据的第一数据量;并根据所述第一数据量确定所述第一个网络层的内存模式;其中,所述第一个网络层基于所述数据传输关系确定的;/n针对所述各个网络层中除所述第一个网络层之外的每个网络层,根据该网络层的计算特征和该网络层的上一网络层的输出数据,确定该网络层的输出数据的第二数据量;并根据所述第二数据量、该网络层的计算特征、所述上一网络层的计算特征和所述上一网络层的内存模式,确定该网络层的融合模式和内存模式;其中,任一网络层的内存模式用于表征该网络层的输入数据和输出数据的存储模式;/n按照所述各个网络层中除所述第一个网络层之外的每个网络层的融合模式,以及所述各个网络层中每个网络层的内存模式,更改所述目标网络的初始模型文件,得到优化后的目标网络。/n

【技术特征摘要】
1.一种深度学习网络的优化方法,其特征在于,所述方法包括:
获取目标网络的拓扑排序信息;其中,所述目标网络为待优化的深度学习网络,所述拓扑排序信息用于表征所述目标网络所包括的各个网络层以及各个网络层之间的数据传输关系;
根据所述各个网络层中的第一个网络层的计算特征和所述目标网络的输入数据,确定所述第一个网络层的输出数据的第一数据量;并根据所述第一数据量确定所述第一个网络层的内存模式;其中,所述第一个网络层基于所述数据传输关系确定的;
针对所述各个网络层中除所述第一个网络层之外的每个网络层,根据该网络层的计算特征和该网络层的上一网络层的输出数据,确定该网络层的输出数据的第二数据量;并根据所述第二数据量、该网络层的计算特征、所述上一网络层的计算特征和所述上一网络层的内存模式,确定该网络层的融合模式和内存模式;其中,任一网络层的内存模式用于表征该网络层的输入数据和输出数据的存储模式;
按照所述各个网络层中除所述第一个网络层之外的每个网络层的融合模式,以及所述各个网络层中每个网络层的内存模式,更改所述目标网络的初始模型文件,得到优化后的目标网络。


2.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据量确定所述第一个网络层的内存模式的步骤,包括:
根据所述第一数据量、用于读写所述输入数据的目标存储器和所述目标网络环境中的第二存储器的总内存,确定所述第一个网络层的内存模式;
其中,所述目标存储器为所述第一存储器、第二存储器和第三存储器中的任一存储器,所述第一存储器的数据读写速度最快,所述第二存储器的数据读写速度居中,所述第三存储器的数据读写速度最慢。


3.根据权利要求2所述的方法,其特征在于,该网络层为具有一个输入数据和一个输出数据的第一类网络层;
所述根据所述第二数据量、该网络层的计算特征、所述上一网络层的计算特征和所述上一网络层的内存模式,确定该网络层的融合模式和该网络层的内存模式的步骤,包括:
根据该网络层的计算特征和所述上一网络层的计算特征,判断该网络层和所述上一网络层的数据处理过程是否能在同一网络层中执行;
如果是,确定该网络层的融合模式为第一融合模式,并确定该网络层的内存模式为第一内存模式;其中,所述第一融合模式表征在所述目标网络的运行过程中该网络层和所述上一网络层合并为同一层;所述第一内存模式表征该网络层的输入数据存储在所述第一存储器,以及该网络层的输出数据存储在所述第二存储器或所述第三存储器;
如果否,根据所述第二数据量、所述上一网络层的内存模式和所述第二存储器的总内存,确定该网络层的内存模式,并根据该网络层的内存模式,确定该网络层的融合模式。


4.根据权利要求3所述的方法,其特征在于,所述上一网络层的内存模式表征所述上一网络层的输出数据存储在所述第二存储器;
所述根据所述第二数据量、所述上一网络层的内存模式和所述第二存储器的总内存,确定该网络层的内存模式的步骤,包括:
根据所述第二数据量、所述上一网络层的内存模式、所述上一网络层的输出数据的数据量、所述上一网络层的输出数据在所述第二存储器中的存储地址和所述第二存储器的总内存,确定该网络层的内存模式。


5.根据权利要求4所述的方法,其特征在于,所述根据所述第二数据量、所述上一网络层的内存模式、所述上一网络层的输出数据的数据量、所述上一网络层的输出数据在所述第二存储器中的存储地址和所述第二存储器的总内存,确定该网络层的内存模式的步骤,包括:
利用预设的判断公式,确定该网络层的内存模式,其中,所述预设的判断公式为:
y(modet,memt)=ft(modet-1,memt-1,sram_size,data_size)
其中,modet表示网络层t的内存模式,memt表示所述网络层t的输出数据的第二数据量和所述网络层t在所述第二存储器中的存储地址,ft()表示预设的用于判断所述网络层t的内存模式的判断函数;
modet-1表示所述上一网络层t-1的内存模式,memt-1表示所述上一网络层t-1的输出数据的数据量和所述上一网络层t-1的输出数据的所述第二存储器中的存储地址,sram_size表示所述第二存储器的存储总量总内存,data_size表示网络层t的输出数据的第二数据量。


6.根据权利要求2所述的方法,其特征在于,该网络层为具有多个输入数据和/或多个输出数据的第二类网络层;
所述根据所述第二数据量、该网络层的计算特征、所述上一网络层的计算特征和所述上一网络层的内存模式,确定该网络层的融合模式和内存模式的步骤,包括:
根据所述各个网络层中全部第一类网络层的内存模式、所述第二数据量、该网络层的计算特征和所述上一网络层的计算特征,确定确定该网络层的融合模式和内存模式。


7.根据权利要求3-6任一项所述的方法,其特征在于,该网络层和所述上一网络层的数据处理过程不能在同一网络层中执行;该网络层的内存模式为以下各个内存模式中的一种:
表征该网络层的输入数据和输出数据均存储在所述第三存储器中的第二内存模式,其中,所述第二内存模式的融合模式为:该网络层和所述上一网络层,以及该网络层的下一网络层均不能融合;
表征该网络层的输入数据存储在所述第三存储器且该网络层的输出数据存储在所述第二存储器的第三内存模式,其中,所述第三内存模式对应的融合模式为:该网络层和所述上一网络层不能融合,且与该网络层的下一网络层能够融合;
表征该网络层的输入数据和输出数据均存储在所述第二存储器的第四内存模式,其中,所述第四内存模式对应的融合模式为:该网络层和所述上一网络层,以及该网络层的下一网络层均能够融合;
表征该网络层的输入数据存储在所述第二存储器且输出数据存储在所述第三存储器的第五内存模式;其中,所述第三内存模式对应的融合模式为:该网络层和所述上一网络层能够融合,且与该网络层的下一网络层不能融合。


8.一种深度学习网络的优化装置,其特征在于...

【专利技术属性】
技术研发人员:郑刘坡
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

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

1