硬件架构的验证方法及装置制造方法及图纸

技术编号:16399482 阅读:30 留言:0更新日期:2017-10-17 19:47
本发明专利技术提供了一种执行机器学习算法的硬件架构的验证方法及装置,涉及机器学习硬件化技术领域,该方法包括:获取应用测试程序,其中,应用测试程序为预先设计的用于对待验证的硬件架构进行验证的程序,且应用测试程序的计算结果与预选标准计算流程的计算结果相同,预选标准计算流程与硬件架构执行的任务相同;基于硬件架构的数据类型,调节应用测试程序的数据类型,得到中间应用测试程序,其中,中间应用测试程序的数据类型与硬件架构的数据类型相同;将中间应用测试程序和硬件架构的计算结果进行比较,根据比较结果验证硬件架构计算流程是否正确。本发明专利技术缓解了无法对执行机器学习算法的硬件架构计算流程的正确性进行验证的技术问题。

Hardware architecture verification method and device

The present invention provides a method and device for verifying hardware architecture implementation of machine learning algorithms, machine learning technology relates to the hardware, the method includes: obtaining the application testing procedures, the application of test procedures for verification for hardware verification with pre designed program, the calculation results and the test procedure and application primary standard calculation process calculation results, preliminary standard calculation process and the hardware architecture implementation of the same task; hardware architecture based on data types, control applications test data types to intermediate application testing procedures, including data types and hardware architecture of middle application testing procedures the same data type; compare calculation the middle application test program and hardware architecture results, according to the comparison results verify the calculation process of hardware architecture Is it correct?. The invention alleviates the technical problem that the correctness of the hardware architecture calculation procedure that can execute the machine learning algorithm is not verified.

【技术实现步骤摘要】
硬件架构的验证方法及装置
本专利技术涉及机器学习硬件化
,尤其是涉及一种硬件架构的验证方法及装置。
技术介绍
机器学习是近年来兴起的一门研究如何使用机器来模拟人类学习活动的科学,机器学习算法是一类从数据中自动分析来获得规律,并利用规律对未知数据进行预测的算法。目前,机器学习一般采用运行在单个中央处理器(CentralProcessingUnit,简称CPU),或者,中央处理器与图形处理器(GraphicProcessingUnit,简称GPU)的组合处理器上的成熟的学习软件框架进行实现。例如,深度学习作为机器学习研究中的一个重要领域,所拥有的成熟的学习软件框架有Caffe、TensorFlow、MXNet等。已有的成熟的学习软件框架具有不同的标准计算流程和固定的数据类型,能够提供可靠的计算结果。然而,随着应用需求的不断扩大,针对一些复杂的问题,上述软件实现方法存在时效和功耗等方面的局限性。要想速度更快、功耗更低、延时更小地实现机器学习,硬件方面可以通过使用现场可编程门阵列FPGA(Field-ProgrammableGateArray,简称FPGA)、片上系统(SystemonChip,简称SOC)、专用集成电路(ApplicationSpecificIntergratedCircuits,简称ASIC)等器件将实现机器学习算法的硬件进行重新组建。具体地,在将实现机器学习算法的硬件进行重新组建过程中,由于涉及到了分块计算、数据拆分等操作,因而针对硬件架构的不同,需要对机器学习的计算流程进行不同的编写。然而,鉴于硬件架构适合采用的数据类型和现有软件框架采用的数据类型不相同,因而,如何保证某一硬件架构进行机器学习的计算流程的正确性,目前缺乏有效的验证方法。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种硬件架构的验证方法及装置,以缓解现有技术无法验证硬件架构计算流程正确性的技术问题。第一方面,本专利技术实施例提供了一种硬件架构的验证方法,所述硬件架构用于执行机器学习算法,所述方法包括:获取应用测试程序,其中,所述应用测试程序为预先设计的用于对待验证的硬件架构进行验证的程序,且所述应用测试程序的计算结果与预选标准计算流程的计算结果相同,所述预选标准计算流程与所述硬件架构所执行的任务相同;基于所述硬件架构的数据类型,调节所述应用测试程序的数据类型,得到中间应用测试程序,其中,所述中间应用测试程序的数据类型与所述硬件架构的数据类型相同;将所述中间应用测试程序和所述硬件架构的计算结果进行比较,根据比较结果验证所述硬件架构计算流程是否正确。结合第一方面,本专利技术实施例提供了第一方面的第一种可能的实施方式,其中,根据比较结果验证所述硬件架构计算流程是否正确,包括:如果所述比较结果为第一比较结果,则验证所述硬件架构计算流程正确,其中,所述第一比较结果为所述中间应用测试程序的计算结果和所述硬件架构的计算结果相同;如果所述比较结果为第二比较结果,则验证所述硬件架构计算流程错误,其中,所述第二比较结果为所述中间应用测试程序的计算结果和所述硬件架构的计算结果不相同。结合第一方面的第一种可能的实施方式,本专利技术实施例提供了第一方面的第二种可能的实施方式,其中,在验证所述硬件架构计算流程错误之后,所述方法还包括:基于所述中间应用测试程序的计算结果,对所述硬件架构计算流程进行校正。结合第一方面,本专利技术实施例提供了第一方面的第三种可能的实施方式,其中,基于所述硬件架构的数据类型,调节所述应用测试程序的数据类型,得到中间应用测试程序,包括:判断所述硬件架构的数据类型与所述应用测试程序的数据类型的是否相同;如果判断出不相同,则对所述应用测试程序的数据类型进行调整,以使所述应用测试程序的数据类型与所述硬件架构的数据类型相同,从而得到所述中间应用测试程序;如果判断出相同,则将当前的所述应用测试程序确定为所述中间应用测试程序。结合第一方面,本专利技术实施例提供了第一方面的第四种可能的实施方式,其中,获取应用测试程序,包括:获取预先设计的原始应用测试程序,所述原始应用测试程序的数据类型和所述预选标准计算流程的数据类型相同;基于所述预选标准计算流程的计算结果,对所述原始应用测试程序的计算流程进行校正,得到所述应用测试程序。结合第一方面,本专利技术实施例提供了第一方面的第五种可能的实施方式,其中,所述应用测试程序为采用C语言或者C++语言编写的应用测试程序。第二方面,本专利技术实施例还提供一种硬件架构的验证装置,所述硬件架构用于执行机器学习算法,所述装置包括:获取模块,用于获取应用测试程序,其中,所述应用测试程序为预先设计的用于对待验证的硬件架构进行验证的程序,且所述应用测试程序的计算结果与预选标准计算流程的计算结果相同,所述预选标准计算流程与所述硬件架构所执行的任务相同。调节模块,用于基于所述硬件架构的数据类型,调节所述应用测试程序的数据类型,得到中间应用测试程序,其中,所述中间应用测试程序的数据类型与所述硬件架构的数据类型相同;验证模块,用于将所述中间应用测试程序和所述硬件架构的计算结果进行比较,根据比较结果验证所述硬件架构计算流程是否正确。结合第二方面,本专利技术实施例提供了第二方面的第一种可能的实施方式,其中,所述验证模块用于:在所述比较结果为第一比较结果的情况下,则验证所述硬件架构计算流程正确,其中,所述第一比较结果为所述中间应用测试程序的计算结果和所述硬件架构的计算结果相同;在所述比较结果为第二比较结果的情况下,则验证所述硬件架构计算流程错误,其中,所述第二比较结果为所述中间应用测试程序的计算结果和所述硬件架构的计算结果不相同。结合第二方面的第一种可能的实施方式,本专利技术实施例提供了第二方面的第二种可能的实施方式,其中,所述装置还包括矫正模块,所述矫正模块用于:在验证所述硬件架构计算流程错误之后,基于所述中间应用测试程序的计算结果,对所述硬件架构计算流程进行校正。结合第二方面,本专利技术提供了第二方面的第三种可能的实施方式,其中,所述调节模块包括:判断单元,用于判断所述硬件架构的数据类型与所述应用测试程序的数据类型的是否相同;调整单元,用于在判断出所述硬件架构的数据类型与所述应用测试程序的数据类型不相同的情况下,对所述应用测试程序的数据类型进行调整,以使所述应用测试程序的数据类型与所述硬件架构的数据类型相同,从而得到所述中间应用测试程序;确定单元,用于在判断出所述硬件架构的数据类型与所述应用测试程序的数据类型相同的情况下,将当前的所述应用测试程序确定为所述中间应用测试程序。结合第二方面,本专利技术提供了第二方面的第四种可能的实施方式,其中,所述获取模块包括:获取单元,用于获取预先设计的原始应用测试程序,所述原始应用测试程序的数据类型和所述预选标准计算流程的数据类型相同;矫正单元,用于基于所述预选标准计算流程的计算结果,对所述原始应用测试程序的计算流程进行校正,得到所述应用测试程序。结合第二方面,本专利技术提供了第二方面的第五种可能的实施方式,其中,所述应用测试程序为采用C语言或者C++语言编写的应用测试程序。本专利技术实施例中,获取的应用测试程序的计算结果与预选标准计算流程的计算结果相同,然后,调节应用测试程序的数据类型,得到数据类型与硬件架构的数据类型相同的中间应本文档来自技高网
...
硬件架构的验证方法及装置

【技术保护点】
一种硬件架构的验证方法,其特征在于,所述硬件架构用于执行机器学习算法,所述方法包括:获取应用测试程序,其中,所述应用测试程序为预先设计的用于对待验证的硬件架构进行验证的程序,且所述应用测试程序的计算结果与预选标准计算流程的计算结果相同,所述预选标准计算流程与所述硬件架构所执行的任务相同;基于所述硬件架构的数据类型,调节所述应用测试程序的数据类型,得到中间应用测试程序,其中,所述中间应用测试程序的数据类型与所述硬件架构的数据类型相同;将所述中间应用测试程序和所述硬件架构的数据类型相同的计算结果进行比较,根据比较结果验证所述硬件架构计算流程是否正确。

【技术特征摘要】
1.一种硬件架构的验证方法,其特征在于,所述硬件架构用于执行机器学习算法,所述方法包括:获取应用测试程序,其中,所述应用测试程序为预先设计的用于对待验证的硬件架构进行验证的程序,且所述应用测试程序的计算结果与预选标准计算流程的计算结果相同,所述预选标准计算流程与所述硬件架构所执行的任务相同;基于所述硬件架构的数据类型,调节所述应用测试程序的数据类型,得到中间应用测试程序,其中,所述中间应用测试程序的数据类型与所述硬件架构的数据类型相同;将所述中间应用测试程序和所述硬件架构的数据类型相同的计算结果进行比较,根据比较结果验证所述硬件架构计算流程是否正确。2.根据权利要求1所述的方法,其特征在于,根据比较结果验证所述硬件架构计算流程是否正确,包括:如果所述比较结果为第一比较结果,则验证所述硬件架构计算流程正确,其中,所述第一比较结果为所述中间应用测试程序的计算结果和所述硬件架构的计算结果相同;如果所述比较结果为第二比较结果,则验证所述硬件架构计算流程错误,其中,所述第二比较结果为所述中间应用测试程序的计算结果和所述硬件架构的计算结果不相同。3.根据权利要求2所述的方法,其特征在于,在验证所述硬件架构计算流程错误之后,所述方法还包括:基于所述中间应用测试程序的计算结果,对所述硬件架构计算流程进行校正。4.根据权利要求1所述的方法,其特征在于,基于所述硬件架构的数据类型,调节所述应用测试程序的数据类型,得到中间应用测试程序,包括:判断所述硬件架构的数据类型与所述应用测试程序的数据类型的是否相同;如果判断出不相同,则对所述应用测试程序的数据类型进行调整,以使所述应用测试程序的数据类型与所述硬件架构的数据类型相同,从而得到所述中间应用测试程序;如果判断出相同,则将当前的所述应用测试程序确定为所述中间应用测试程序。5.根据权利要求1所述的方法,其特征在于,获取应用测试程序,包括:获取预先设计的原始应用测试程序,所述原始应用测试程序的数据类型和所述预选标准计算流程的数据类型相同;基于所述预选标准计算流程的计算结果,对所述原始应用测试程序的计算流程进行校正...

【专利技术属性】
技术研发人员:王建辉王金龙肖可伟徐琛陈瑞军
申请(专利权)人:北京深瞐科技有限公司
类型:发明
国别省市:北京,11

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

1