数据处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:21004597 阅读:21 留言:0更新日期:2019-04-30 21:39
本申请涉及一种数据处理方法、装置、电子设备和可读存储介质,采用上述数据处理方法能够生成目标神经网络的离线模型文件,相比于逐层对该子网络中的各网络层进行运算所需的多个输出操作和多次输出操作而言,提高了运算速率。

Data Processing Method, Device, Electronic Equipment and Storage Media

【技术实现步骤摘要】
数据处理方法、装置、电子设备及存储介质
本申请涉及神经网络
,特别是涉及一种数据处理方法、装置、电子设备和可读存储介质。
技术介绍
深度学习一般分为训练和推理两个过程,训练过程用于搜索和求解神经网络模型的最优参数;而推理过程则用于根据经过训练的神经网络模型,对输入的新的数据进行推理,即前向运算,得到目标输出。基于caffe等深度学习框架构建的神经网络模型的前向运算过程,是由处理器在线逐层对神经网络的每层进行编译和运行操作的,即每层的操作为单独的运算,每层运算时均需要进行至少一次输入拷贝和至少一次输出拷贝,且神经网络的运行需要依赖caffe等深度学习框架。总之,目前的神经网络的在线逐层运算的方式,存在运算速率低的问题。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高运算速率的数据处理方法、装置、电子设备和可读存储介质。第一方面,一种数据处理方法,所述方法包括:获取目标神经网络的模型数据和权值数据,其中,所述目标神经网络包括至少一个子网络,每个所述子网络中包含至少一个网络层,每个所述子网络中的所述网络层具有相同的融合属性,至少一个所述网络层的算子被融合为一个融合算子;所述子网络的融合属性包括第一融合属性;根据所述目标神经网络的权值数据和模型数据对所述各子网络的融合算子进行整体编译,获得各个子网络的计算指令;根据所述第一融合属性的子网络的计算指令生成离线模型文件;所述离线模型文件中包括第一融合属性的子网络对应的计算指令。在其中一个实施例中,所述方法还包括如下步骤:获取所述目标神经网络对应的原始神经网络;根据所述原始神经网络中各个网络层的配置信息,确定所述各个网络层的融合属性;根据所述原始神经网络中各个网络层的融合属性及各个网络层的依赖关系,将具有相同融合属性的至少一个网络层融合为一个子网络。在其中一个实施例中,所述网络层的融合属性包括第一融合属性和第二融合属性;所述根据所述原始神经网络中各个网络层的配置信息,确定所述各个网络层的融合属性的步骤,包括:获取各个网络层的预设的融合属性函数的返回值;若所述网络层的返回值为第一返回值,则确定所述网络层的融合属性为第一融合属性;若所述网络层的返回值为第二返回值,则确定所述网络层的融合属性为第二融合属性。在其中一个实施例中,所述根据所述原始神经网络中各个网络层的融合属性及各个网络层的依赖关系,将具有相同融合属性的至少一个网络层融合为一个子网络的步骤,包括:根据各个网络层的依赖关系,确定各个网络层的拓扑排序;根据所述拓扑排序,若当前网络层的融合属性为第一融合属性,则在所述当前网络层的融合属性与所述当前网络层的上一网络层的融合属性相同时,将所述当前网络层与所述当前网络层的上一网络层划分为同一子网络;根据所述拓扑排序,若所述当前网络层的融合属性为第二融合属性,则将所述当前网络层单独划分为一个子网络。在其中一个实施例中,所述根据所述原始神经网络中各个网络层的融合属性及各个网络层的依赖关系,将具有相同融合属性的至少一个网络层融合为一个子网络的步骤,还包括:根据各个网络层的依赖关系,确定各个网络层的拓扑排序;根据所述拓扑排序,若当前网络层的融合属性与所述当前网络层的上一网络层的融合属性相同,则所述当前网络层与所述当前网络层的上一网络层属于同一子网络;根据所述拓扑排序,若所述当前网络层的融合属性与所述当前网络层的上一网络层的融合属性不同,则所述当前网络层与所述当前网络层的上一网络层属于不同的子网络。在其中一个实施例中,所述方法还包括:根据各个网络层中预设的融合函数,将所述子网络的各个网络层对应的算子添加至同一融合算子中。在其中一个实施例中,各个所述子网络的执行顺序,以及各个所述子网络包含的网络层信息存储于caffe中创建的目标对象中。在其中一个实施例中,所述子网络的融合属性还包括第二融合属性,所述离线模型中还包括第二融合属性的子网络对应的计算指令。在其中一个实施例中,所述方法还包括:创建各个所述子网络的网络标识与所述各个所述子网络包含的至少一个网络层的标识的对应关系,存储并显示所述对应关系;存储并显示各个子网络对应的目标处理器。第二方面,一种数据处理方法,所述方法包括:获取目标神经网络的模型数据和所述目标神经网络的离线模型文件,其中,所述目标神经网络包括至少一个子网络,每个所述子网络中包含至少一个网络层,每个所述子网络中的所述网络层具有相同的融合属性,至少一个所述网络层的算子被融合为一个融合算子;所述离线模型文件包括各个子网络的融合算子对应的计算指令;根据所述模型数据和所述离线模型文件中各子网络的计算指令进行运算,得到输出结果。在其中一个实施例中,所述子网络的融合属性包括第一融合属性,所述离线模型文件中包括第一融合属性的子网络对应的计算指令;所述的根据所述模型数据和所述离线模型文件中各子网络的计算指令进行运算,得到输出结果的步骤,包括:当所述子网络的融合属性为第一融合属性时,则根据所述所述第一融合属性的子网络的权值数据和所述离线模型文件中所述第一融合属性的子网络的计算指令进行运算,得到所述第一融合属性的子网络的输出结果。在其中一个实施例中,所述子网络的融合属性还包括第二融合属性;所述离线模型文件还包括第二融合属性的子网络对应的计算指令;所述根据所述模型数据和所述离线模型文件中各子网络的计算指令进行运算,得到输出结果的步骤,还包括:当所述子网络的融合属性为第二融合属性时,则根据所述第二融合属性的子网络的权值数据和所述离线模型文件中所述第二融合属性的子网络的计算指令进行运算,获得所述第二融合属性的子网络的输出结果。在其中一个实施例中,所述方法还包括如下步骤:若所述子网络的融合属性为第一融合属性,则确定所述子网络对应的目标处理器为人工智能处理器,所述人工智能处理器能够实现所述第一融合属性的子网络的运算;若所述子网络的融合属性为第二融合属性,则确定所述子网络对应的目标处理器为通用处理器,所述通用处理器能够实现所述第二融合属性的子网络的运算。第三方面,一种数据处理装置,所述装置包括:网络数据获取模块,用于获取目标神经网络的模型数据和权值数据,其中,所述目标神经网络包括至少一个子网络,每个所述子网络中包含至少一个网络层,每个所述子网络中的所述网络层具有相同的融合属性,至少一个所述网络层的算子被融合为一个融合算子;所述子网络的融合属性包括第一融合属性;编译模块,用于根据所述目标神经网络的权值数据和模型数据对所述各子网络的融合算子进行整体编译,获得各个子网络的计算指令;离线模型文件生成模块,用于根据所述第一融合属性的子网络的计算指令生成离线模型文件;所述离线模型文件中包括第一融合属性的子网络对应的计算指令。第四方面,一种数据处理装置,所述装置包括:离线模型文件获取模块,用于获取目标神经网络的模型数据和所述目标神经网络的离线模型文件,其中,所述目标神经网络包括至少一个子网络,每个所述子网络中包含至少一个网络层,每个所述子网络中的所述网络层具有相同的融合属性,至少一个所述网络层的算子被融合为一个融合算子;所述离线模型文件包括各个子网络的融合算子对应的计算指令;运算模块,用于根据所述模型数据和所述离线模型文件中各子网络的计算指令进行运算,得到输出结果。第五方面,一种电子设备本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:获取目标神经网络的模型数据和权值数据,其中,所述目标神经网络包括至少一个子网络,每个所述子网络中包含至少一个网络层,每个所述子网络中的所述网络层具有相同的融合属性,至少一个所述网络层的算子被融合为一个融合算子;所述子网络的融合属性包括第一融合属性;根据所述目标神经网络的权值数据和模型数据对所述各子网络的融合算子进行整体编译,获得各个子网络的计算指令;根据所述第一融合属性的子网络的计算指令生成离线模型文件;所述离线模型文件中包括第一融合属性的子网络对应的计算指令。

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:获取目标神经网络的模型数据和权值数据,其中,所述目标神经网络包括至少一个子网络,每个所述子网络中包含至少一个网络层,每个所述子网络中的所述网络层具有相同的融合属性,至少一个所述网络层的算子被融合为一个融合算子;所述子网络的融合属性包括第一融合属性;根据所述目标神经网络的权值数据和模型数据对所述各子网络的融合算子进行整体编译,获得各个子网络的计算指令;根据所述第一融合属性的子网络的计算指令生成离线模型文件;所述离线模型文件中包括第一融合属性的子网络对应的计算指令。2.根据权利要求1所述的方法,其特征在于,所述方法还包括如下步骤:获取所述目标神经网络对应的原始神经网络;根据所述原始神经网络中各个网络层的配置信息,确定所述各个网络层的融合属性;根据所述原始神经网络中各个网络层的融合属性及各个网络层的依赖关系,将具有相同融合属性的至少一个网络层融合为一个子网络。3.根据权利要求2所述的方法,其特征在于,所述网络层的融合属性包括第一融合属性和第二融合属性;所述根据所述原始神经网络中各个网络层的配置信息,确定所述各个网络层的融合属性的步骤,包括:获取各个网络层的预设的融合属性函数的返回值;若所述网络层的返回值为第一返回值,则确定所述网络层的融合属性为第一融合属性;若所述网络层的返回值为第二返回值,则确定所述网络层的融合属性为第二融合属性。4.根据权利要求3所述的方法,其特征在于,所述根据所述原始神经网络中各个网络层的融合属性及各个网络层的依赖关系,将具有相同融合属性的至少一个网络层融合为一个子网络的步骤,包括:根据各个网络层的依赖关系,确定各个网络层的拓扑排序;根据所述拓扑排序,若当前网络层的融合属性为第一融合属性,则在所述当前网络层的融合属性与所述当前网络层的上一网络层的融合属性相同时,将所述当前网络层与所述当前网络层的上一网络层划分为同一子网络;根据所述拓扑排序,若所述当前网络层的融合属性为第二融合属性,则将所述当前网络层单独划分为一个子网络。5.根据权利要求3所述的方法,其特征在于,所述根据所述原始神经网络中各个网络层的融合属性及各个网络层的依赖关系,将具有相同融合属性的至少一个网络层融合为一个子网络的步骤,包括:根据各个网络层的依赖关系,确定各个网络层的拓扑排序;根据所述拓扑排序,若当前网络层的融合属性与所述当前网络层的上一网络层的融合属性相同,则所述当前网络层与所述当前网络层的上一网络层属于同一子网络;根据所述拓扑排序,若所述当前网络层的融合属性与所述当前网络层的上一网络层的融合属性不同,则所述当前网络层与所述当前网络层的上一网络层属于不同的子网络。6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:根据各个网络层中预设的融合函数,将所述子网络的各个网络层对应的算子添加至同一融合算子中。7.根据权利要求1-5任一项所述的方法,其特征在于,各个所述子网络的执行顺序,以及各个所述子网络包含的网络层信息存储于caffe中创建的目标对象中。8.根据权利要求1-5任一项所述的方法,其特征在于,所述子网络的融合属性还包括第二融合属性,所述离线模型中还包括第二融合属性的子网络对应的计算指令。9.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:创建各个所述子网络的网络标识与所述各个所述子网络包含的至少一个网络层的标识的对应关系,存储并显示所述对应关系;存储并显示各个子网络对应的目标处理器。10.一种数据处理方法,其特征在于,所述方法包括:获取目标神经网络的模型数据和所述目标神经网...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:北京中科寒武纪科技有限公司
类型:发明
国别省市:北京,11

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

1