一种基于FPGA的卷积神经网络算法的测试方法及设备技术

技术编号:20763555 阅读:22 留言:0更新日期:2019-04-03 14:12
本发明专利技术公开了一种基于FPGA的卷积神经网络算法的测试方法及设备,用于提高测试效率。其中的基于FPGA的卷积神经网络算法的测试方法包括:接收来自终端设备的控制参数,其中,所述控制参数用于触发测试卷积神经网络算法的至少一个待测试模块;接收来自终端设备的测试参数,其中,所述测试参数用于对所述至少一个待测试模块进行测试;基于所述控制参数以及所述测试参数对所述至少一个待测试模块进行测试。

【技术实现步骤摘要】
一种基于FPGA的卷积神经网络算法的测试方法及设备
本专利技术涉及算法测试
,特别涉及一种基于FPGA的卷积神经网络算法的测试方法及设备。
技术介绍
卷积神经网络算法可以通过现场可编程门阵列(Field-ProgrammableGateArray,FPGA)实现。但是卷积神经网络算法结构复杂,完全转换成硬件语言在FPGA上实现,需要对算法进行反复调试。目前基于FPGA对卷积神经网络算法进行调试的方法是修改卷积神经网络算法程序后,重新编译程序,再通过编译后从程序进行测试。但是重新编译程序往往需要1-2小时以上的时间,调试效率较低。在卷积神经网络算法调试的过程中需要将数据量较大的测试图像、权重参数等导入FPGA中作为计算参数同时将大量的计算结果导出进行数据比对。还需要实时的将数据量较小的控制信号导入FPGA中,控制FPGA的运行到需要测试的程序模块,同时将该位置的一些信号的状态导出到上位机,对错误进行定位。
技术实现思路
本专利技术实施例提供一种基于FPGA的卷积神经网络算法的测试方法及设备,用于提高测试效率。本专利技术实施例提供了一种基于现场可编程门阵列FPGA的卷积神经网络算法的测试方法,该方法包括:接收来自终端设备的控制参数,其中,所述控制参数用于触发测试卷积神经网络算法的至少一个待测试模块;接收来自终端设备的测试参数,其中,所述测试参数用于对所述至少一个待测试模块进行测试;基于所述控制参数以及所述测试参数对所述至少一个待测试模块进行测试。本专利技术实施例中,卷积神经网络算法可以划分成多个功能实现模块,在对卷积神经网络算法进行测试时,可以选择分别对各个功能实现模块进行测试。具体地,本专利技术实施例可以通过终端设备向FPGA输入控制参数,以选择待测试的模块,并通过终端设备向FPGA输入测试参数,以用于测试所选择的待测试模块。当测试参数发生改变时,不需要更改基于FPGA的卷积神经网络算法的程序,也不需要重新编译程序,从而提高了测试效率。可选的,在接收来自终端设备的控制参数之后,还包括:将所述控制参数写入寄存器或者双倍速率内存DDR。可选的,在接收来自终端设备的测试参数之后,还包括:将所述测试参数写入DDR。本专利技术实施例,将控制参数写入寄存器或双倍速率内存(DoubleDataRateSDRAM,DDR),而将测试参数写入DDR,可以节约FPGA自身的资源。且控制参数的数据量一般较小,将控制参数写入寄存器相较于将控制参数写入DDR,写入的速率较快,从而进一步提高测试效率。可选的,将所述控制参数写入寄存器或者双倍速率内存DDR,包括:基于Xing分布式媒体结构XDMA接收所述控制参数;基于协议转换模块将所述控制参数写入所述寄存器,其中,所述协议转换模块用于在所述Xing分布式媒体结构支持的通信协议和所述寄存器所支持的通信协议之间相互转化;或,基于AXI4总线协议将所述控制参数写入所述DDR。可选的,将所述测试参数写入DDR,包括:基于AXI4总线协议将所述测试参数写入所述DDR。本专利技术实施例可以基于XDMA或AXI4总线协议将控制参数写入寄存器,并基于AXI4总线协议将测试参数写入DDR。由于AXI4结构支持多个主接口和多个从接口,兼容性较强,从而在数据传输过程中,不需要更多的其他外设接口,降低了测试设备的复杂度。可选的,基于所述控制参数以及所述测试参数对所述至少一个待测试模块进行测试,包括:从寄存器或者所述DDR读取所述控制参数,并从所述DDR中读取所述测试参数;基于读取的所述测试参数对所述控制参数触发的待测试模块进行测试。可选的,在基于所述控制参数以及所述测试参数对所述至少一个待测试模块进行测试之后,还包括:将所述至少一个待测试模块中的每个待测试模块的测试结果发送给所述终端设备;将所述至少一个待测试模块中的每个待测试模块的运行状态参数写入所述寄存器,以使得所述终端设备根据来自所述寄存器的所述运行状态参数确定所述每个待测试模块的运行状态。本专利技术实施例中,在对每个待测试模块进行测试之后,将每个待测试模块的运行状态参数写入寄存器,这样终端设备读取寄存器中的运行状态参数与自身的存储的运行状态进行对比,从而确定测试模块的运行状态是否正确,如果不正确,则可以确定正在测试的模块存在问题。可选的,将所述至少一个待测试模块中的每个待测试模块的测试结果发送给所述终端设备,包括:判断所接收的请求消息是否来自所述每个待测试模块,其中,所述每个待测试模块发送的请求消息用于请求写入所述每个待测试模块的测试结果;若确定所述请求消息来自所述每个待测试模块,则将所述测试结果发送给XDMA,以通过所述XDMA将所述测试结果发送给所述终端设备。本专利技术实施例中,在对每个待测试模块进行测试之后,将每个待测试模块的测试结果写入XDMA,这样终端设备读取XDMA中的测试结果与自身的存储的测试结果进行对比,从而对正在测试的模块进行问题的定位。第二方面,本专利技术实施例提供了一种测试设备,该测试设备包括:至少一个处理器,以及与所述至少一个处理器连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面任一项所述的方法。第三方面,本专利技术实施例提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。本专利技术实施例中,卷积神经网络算法可以划分成多个功能实现模块,在对卷积神经网络算法进行测试时,可以选择分别对各个功能实现模块进行测试。具体地,本专利技术实施例可以通过终端设备向FPGA输入控制参数,以选择待测试的模块,并通过终端设备向FPGA输入测试参数,以用于测试所选择的待测试模块。当测试参数发生改变时,不需要更改基于FPGA的卷积神经网络算法的程序,也不需要重新编译程序,从而提高了测试效率。附图说明图1是本专利技术实施例提供的基于FPGA的卷积神经网络算法的测试方法的流程示意图;图2为本专利技术实施例提供的测试设备的一种结构示意图;图3为本专利技术实施例提供的测试设备的一种结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。目前基于FPGA对卷积神经网络算法进行调试的方法是修改卷积神经网络算法程序后,重新编译程序,再通过编译后从程序进行测试。但是重新编译程序往往需要1-2小时以上的时间,调试效率较低。鉴于此,本专利技术实施例提供了一种新的卷积神经网络算法的测试方法,在该方法中,卷积神经网络算法可以划分成多个功能实现模块,在对卷积神经网络算法进行测试时,可以选择分别对各个功能实现模块进行测试。具体地,本专利技术实施例可以通过终端设备向FPGA输入控制参数,以选择待测试的模块,并通过终端设备向FPGA输入测试参数,以用于测试所选择的待测试模块。当测试参数发生改变时,不需要更改基于FPGA的卷积神经网络算法的程序,也不需要重新编译程序,从而提高了测试效率。下面结合说明书附图介绍本专利技术实施例提供的技术方案。请参见图1,本专利技术实施例提供了一种基于FPGA的卷积神经网络算法的测试方法,该测试方法可以由FPGA执行,该测试方法涉及到终端设备和FPGA的交互,所以在下述接收测试方法的流程中本文档来自技高网...

【技术保护点】
1.一种基于现场可编程门阵列FPGA的卷积神经网络算法的测试方法,其特征在于,包括:接收来自终端设备的控制参数,其中,所述控制参数用于触发测试卷积神经网络算法的至少一个待测试模块;接收来自终端设备的测试参数,其中,所述测试参数用于对所述至少一个待测试模块进行测试;基于所述控制参数以及所述测试参数对所述至少一个待测试模块进行测试。

【技术特征摘要】
1.一种基于现场可编程门阵列FPGA的卷积神经网络算法的测试方法,其特征在于,包括:接收来自终端设备的控制参数,其中,所述控制参数用于触发测试卷积神经网络算法的至少一个待测试模块;接收来自终端设备的测试参数,其中,所述测试参数用于对所述至少一个待测试模块进行测试;基于所述控制参数以及所述测试参数对所述至少一个待测试模块进行测试。2.如权利要求1所述的测试方法,其特征在于,在接收来自终端设备的控制参数之后,还包括:将所述控制参数写入寄存器或者双倍速率内存DDR。3.如权利要求2所述的测试方法,其特征在于,在接收来自终端设备的测试参数之后,还包括:将所述测试参数写入DDR。4.如权利要求3所述的测试方法,其特征在于,将所述控制参数写入寄存器或者双倍速率内存DDR,包括:基于Xing分布式媒体结构XDMA接收所述控制参数;基于协议转换模块将所述控制参数写入所述寄存器,其中,所述协议转换模块用于在所述Xing分布式媒体结构支持的通信协议和所述寄存器所支持的通信协议之间相互转化;或,基于AXI4总线协议将所述控制参数写入所述DDR。5.如权利要求3所述的测试方法,其特征在于,将所述测试参数写入DDR,包括:基于AXI4总线协议将所述测试参数写入所述DDR。6.如权利要求4或5所述的测试方法,其特征在于,基于所述控制参数以及所述测试参数对所述至少一个待测试模块进行测试,包括:从寄存器或者所述DD...

【专利技术属性】
技术研发人员:陈海波
申请(专利权)人:深兰人工智能芯片研究院江苏有限公司
类型:发明
国别省市:江苏,32

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

1