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)等器件将实现机器学习算法的硬件进行重新组建。具体地,在将实现机器学习算法的硬件进行重新组建过程中,由于涉及到了分块计算、数据拆分等操作,因而针对硬件架构的不同,需要对机器学习的计算流程进行不同的编写。然而,鉴于硬件架构适合采用的数据类型和现有软件框架 ...
【技术保护点】
一种硬件架构的验证方法,其特征在于,所述硬件架构用于执行机器学习算法,所述方法包括:获取应用测试程序,其中,所述应用测试程序为预先设计的用于对待验证的硬件架构进行验证的程序,且所述应用测试程序的计算结果与预选标准计算流程的计算结果相同,所述预选标准计算流程与所述硬件架构所执行的任务相同;基于所述硬件架构的数据类型,调节所述应用测试程序的数据类型,得到中间应用测试程序,其中,所述中间应用测试程序的数据类型与所述硬件架构的数据类型相同;将所述中间应用测试程序和所述硬件架构的数据类型相同的计算结果进行比较,根据比较结果验证所述硬件架构计算流程是否正确。
【技术特征摘要】
1.一种硬件架构的验证方法,其特征在于,所述硬件架构用于执行机器学习算法,所述方法包括:获取应用测试程序,其中,所述应用测试程序为预先设计的用于对待验证的硬件架构进行验证的程序,且所述应用测试程序的计算结果与预选标准计算流程的计算结果相同,所述预选标准计算流程与所述硬件架构所执行的任务相同;基于所述硬件架构的数据类型,调节所述应用测试程序的数据类型,得到中间应用测试程序,其中,所述中间应用测试程序的数据类型与所述硬件架构的数据类型相同;将所述中间应用测试程序和所述硬件架构的数据类型相同的计算结果进行比较,根据比较结果验证所述硬件架构计算流程是否正确。2.根据权利要求1所述的方法,其特征在于,根据比较结果验证所述硬件架构计算流程是否正确,包括:如果所述比较结果为第一比较结果,则验证所述硬件架构计算流程正确,其中,所述第一比较结果为所述中间应用测试程序的计算结果和所述硬件架构的计算结果相同;如果所述比较结果为第二比较结果,则验证所述硬件架构计算流程错误,其中,所述第二比较结果为所述中间应用测试程序的计算结果和所述硬件架构的计算结果不相同。3.根据权利要求2所述的方法,其特征在于,在验证所述硬件架构计算流程错误之后,所述方法还包括:基于所述中间应用测试程序的计算结果,对所述硬件架构计算流程进行校正。4.根据权利要求1所述的方法,其特征在于,基于所述硬件架构的数据类型,调节所述应用测试程序的数据类型,得到中间应用测试程序,包括:判断所述硬件架构的数据类型与所述应用测试程序的数据类型的是否相同;如果判断出不相同,则对所述应用测试程序的数据类型进行调整,以使所述应用测试程序的数据类型与所述硬件架构的数据类型相同,从而得到所述中间应用测试程序;如果判断出相同,则将当前的所述应用测试程序确定为所述中间应用测试程序。5.根据权利要求1所述的方法,其特征在于,获取应用测试程序,包括:获取预先设计的原始应用测试程序,所述原始应用测试程序的数据类型和所述预选标准计算流程的数据类型相同;基于所述预选标准计算流程的计算结果,对所述原始应用测试程序的计算流程进行校正...
【专利技术属性】
技术研发人员:王建辉,王金龙,肖可伟,徐琛,陈瑞军,
申请(专利权)人:北京深瞐科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。