神经网络编译方法、编译器、计算机设备及可读存储介质技术

技术编号:23162269 阅读:21 留言:0更新日期:2020-01-21 22:05
本申请提供一种神经网络编译方法、编译器、计算机设备及可读存储介质,该方法包括获取工程文件对应的编码信息,根据所述编码信息,得到初始计算图,对所述初始计算图进行扩展处理,得到中间计算图,对所述中间计算图进行优化处理,得到执行计算图,根据所述执行计算图,得到计算机可执行文件;该方法可以充分结合计算机编程语言的特性,并根据目标计算平台的不同对初始计算图进行等价替换,优化中间计算图的结构,得到优质高效的代码,提高在计算平台上的执行效率;同时,该方法还可以通过神经网络编译器对计算机编程语言进行编译,从而提高计算机编程语言的可用性。

Neural network compiling method, compiler, computer equipment and readable storage medium

【技术实现步骤摘要】
神经网络编译方法、编译器、计算机设备及可读存储介质
本申请涉及计算机
,特别是涉及一种神经网络编译方法、编译器、计算机设备及可读存储介质。
技术介绍
随着科学技术的发展,人工神经网络技术在各个领域得到了广泛的应用,并且神经网络算法是当今人工智能领域中的主流算法,可以实现图像识别、声音识别和自然语言处理等复杂任务。为了满足不同领域的应用,采用神经网络专用编程语言(NeuralNetworkLanguage,NNL)以执行神经网络算法,实现目标任务,并且神经网络专用编程语言具有可移植的编程接口,能够将神经网络专用编程语言移植到不同的计算平台执行任务。现有技术中,仅能够利用神经网络通用编译器对神经网络通用编程语言进行编译,得到计算机可识别的代码。但是,神经网络通用编译器并不能对神经网络专用编程语言进行编译,从而导致神经网络专用编程语言的可用性降低。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高神经网络专用编程语言可用性的神经网络编译方法、编译器、计算机设备及可读存储介质。本申请实施例提供一种神经网络编译方法,所述方法包括:获取工程文件对应的编码信息;根据所述编码信息,得到初始计算图;对所述初始计算图进行扩展处理,得到中间计算图;对所述中间计算图进行优化处理,得到执行计算图;根据所述执行计算图,得到计算机可执行文件。在其中一个实施例中,所述获取工程文件对应的编码信息,包括:根据计算机编程语言的语言特性,从所述工程文件中提取所述编码信息,所述计算机编程语言包括神经网络专用编程语言,所述语言特征包括所述计算机编程语言的语法和语义。在其中一个实施例中,所述计算机编程语言包括time声明、template的定义以及graph,其中,所述graph包括多个template的实例连接构成。在其中一个实施例中,所述根据所述编码信息,得到初始计算图,包括:对所述编码信息进行解析处理,得到初始计算图对应的计算图结构;根据所述计算图结构,得到初始计算图。在其中一个实施例中,所述对所述编码信息进行解析处理,得到初始计算图对应的计算图结构,包括:获取所述编码信息中的语法以及语义,并根据编码信息的所述语法以及所述语义,得到初始计算图对应的所述计算图结构。在其中一个实施例中,所述对所述初始计算图进行扩展处理,得到中间计算图,包括:对所述初始计算图中的嵌套结构进行逐层分析处理,获取所述初始计算图中的隐含语义;根据所述隐含语义对所述初始计算图进行扩展处理,得到中间计算图。在其中一个实施例中,所述对所述中间计算图进行优化处理,得到执行计算图,包括:根据任务调度需求和资源分配需求,对所述中间计算图进行合并处理或者拆分处理,得到所述执行计算图。在其中一个实施例中,所述根据所述执行计算图,得到计算机可执行文件,包括:根据所述执行计算图得到核函数;根据所述执行计算图的拓扑结构,确定对所述核函数的调度过程,得到所述计算机可执行文件。本申请实施例提供一种神经网络编译器,所述神经网络编译器包括:获取编码信息模块,用于获取工程文件对应的编码信息;获取初始计算图模块,用于根据所述编码信息,得到初始计算图;扩展模块,用于对所述初始计算图进行扩展处理,得到中间计算图;优化模块,用于对所述中间计算图进行优化处理,得到执行计算图;获取可执行文件模块,用于根据所述执行计算图,得到计算机可执行文件。本申请实施例提供一种计算机设备,包括存储器、处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取工程文件对应的编码信息;根据所述编码信息,得到初始计算图;对所述初始计算图进行扩展处理,得到中间计算图;对所述中间计算图进行优化处理,得到执行计算图;根据所述执行计算图,得到计算机可执行文件。本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取工程文件对应的编码信息;根据所述编码信息,得到初始计算图;对所述初始计算图进行扩展处理,得到中间计算图;对所述中间计算图进行优化处理,得到执行计算图;根据所述执行计算图,得到计算机可执行文件。本实施例提供的一种神经网络编译方法、神经网络编译器、计算机设备以及可读存储介质,神经网络编译器可以获取工程文件对应的编码信息,根据所述编码信息,得到初始计算图,对所述初始计算图进行扩展处理,得到中间计算图,对所述中间计算图进行优化处理,得到执行计算图,根据所述执行计算图,得到计算机可执行文件;该方法可以充分结合计算机编程语言的特性,并根据目标计算平台的不同对初始计算图进行等价替换,优化中间计算图的结构,得到优质高效的代码,提高在计算平台上的执行效率;同时,该方法还可以通过神经网络编译器对计算机编程语言进行编译,从而提高计算机编程语言的可用性。本申请实施例提供的一种机器学习运算装置,该机器学习运算装置包括一个或者多个所述的神经网络编译器;该机器学习运算装置用于从其它处理装置中获取待运算数据和控制信息,并执行指定的机器学习运算,将执行结果通过I/O接口传递给其它处理装置;当所述机器学习运算装置包含多个所述神经网络编译器时,所述多个所述神经网络编译器间可以通过特定的结构进行链接并传输数据;其中,多个所述神经网络编译器通过PCIE总线进行互联并传输数据,以支持更大规模的机器学习的运算;多个所述神经网络编译器共享同一控制系统或拥有各自的控制系统;多个所述数据处理装置共享内存或者拥有各自的内存;多个所述神经网络编译器的互联方式是任意互联拓扑。本申请实施例提供的一种组合处理装置,该组合处理装置包括如所述的机器学习处理装置、通用互联接口,和其它处理装置;该机器学习运算装置与上述其它处理装置进行交互,共同完成用户指定的操作;该组合处理装置还可以包括存储装置,该存储装置分别与所述机器学习运算装置和所述其它处理装置连接,用于保存所述机器学习运算装置和所述其它处理装置的数据。本申请实施例提供的一种神经网络芯片,该神经网络芯片包括上述所述的神经网络编译器、上述所述的机器学习运算装置或者上述所述的组合处理装置。本申请实施例提供的一种神经网络芯片封装结构,该神经网络芯片封装结构包括上述所述的神经网络芯片。本申请实施例提供的一种板卡,该板卡包括上述所述的神经网络芯片封装结构。本申请实施例提供了一种电子装置,该电子装置包括上述所述的神经网络芯片或者上述所述的板卡。本申请实施例提供的一种芯片,包括至少一个如上述任一项所述的神经网络编译器。本申请实施例提供的一种电子设备,包括如所述的芯片。附图说明图1为一实施例提供的一种神经网络编译方法的流程示意图;图2为一实施例提供的一种本文档来自技高网...

【技术保护点】
1.一种神经网络编译方法,其特征在于,所述方法包括:/n获取工程文件对应的编码信息;/n根据所述编码信息,得到初始计算图;/n对所述初始计算图进行扩展处理,得到中间计算图;/n对所述中间计算图进行优化处理,得到执行计算图;/n根据所述执行计算图,得到计算机可执行文件。/n

【技术特征摘要】
1.一种神经网络编译方法,其特征在于,所述方法包括:
获取工程文件对应的编码信息;
根据所述编码信息,得到初始计算图;
对所述初始计算图进行扩展处理,得到中间计算图;
对所述中间计算图进行优化处理,得到执行计算图;
根据所述执行计算图,得到计算机可执行文件。


2.根据权利要求1所述的方法,其特征在于,所述获取工程文件对应的编码信息,包括:根据计算机编程语言的语言特性,从所述工程文件中提取所述编码信息,所述计算机编程语言包括神经网络专用编程语言,所述语言特征包括所述计算机编程语言的语法和语义。


3.根据权利要求1所述的方法,其特征在于,所述计算机编程语言包括time声明、template的定义以及graph,其中,所述graph包括多个template的实例连接构成。


4.根据权利要求1所述的方法,其特征在于,所述根据所述编码信息,得到初始计算图,包括:
对所述编码信息进行解析处理,得到初始计算图对应的计算图结构;
根据所述计算图结构,得到初始计算图。


5.根据权利要求4所述的方法,其特征在于,所述对所述编码信息进行解析处理,得到初始计算图对应的计算图结构,包括:获取所述编码信息中的语法以及语义,并根据编码信息的所述语法以及所述语义,得到初始计算图对应的所述计算图结构。


6.根据权利要求1所述的方法,其特征在于,所述对所述初始计算图进行扩展处理,得到中间计算图,包括:
对所述初始计算图中的嵌套结构进行逐层分析处理,获取所述初始计算图中的隐含语义;
根据所述隐含语义对所述初始计算图进行扩展处理,得到中间计算图。


7.根据权利要求1所述的方法,其特征在于,所述对所述中间计算图进行优化处理,得到执行计算图,包括:根据任务调度需求和资源分配需求,对所述中间计算图进行合并处理或者拆分处理,得到所述执行计算图。


8.根据权利要求1所述的方法,其特征在于,所述根据所述执行计算图,得到计算机可执行文件,包括:
根据所述执行计算图得到核函数;
根据所述执行计算图的拓扑结构,确定对所述核函数的调度过程,得到所述计算机可执行文件...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海;31

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

1