神经网络的开发验证方法、装置、系统及存储介质制造方法及图纸

技术编号:24799083 阅读:24 留言:0更新日期:2020-07-07 20:58
本发明专利技术公开了一种神经网络的开发验证方法、装置、系统及存储介质,属于数据处理技术领域。所述方法应用于异构系统的主处理器中,该异构系统还包括异构硬件和共享内存,共享内存用于主处理器与异构硬件之间进行核间通信,该方法包括:向该异构硬件发送任务执行消息,该任务执行消息携带该异构硬件执行神经网络中目标神经网络层的运算任务时所需的执行数据;当获取到用于对该异构硬件进行验证的验证任务消息时,从该共享内存中获取该异构硬件发送的执行结果数据,基于执行结果数据对目标神经网络层进行验证。本发明专利技术解决了由于异构硬件无法自行验证运行结果以及无法存储运行结果导致无法对神经网络的开发进行验证的问题。

【技术实现步骤摘要】
神经网络的开发验证方法、装置、系统及存储介质
本专利技术实施例涉及数据处理
,特别涉及一种神经网络的开发验证方法、装置、系统及存储介质。
技术介绍
目前,神经网络在诸如图像识别、语音识别、自然语言处理等领域得到广泛的应用,因此,神经网络的开发尤为重要。通常情况下,神经网络的开发可以采用异构系统来实现,该异构系统一般包括主处理器和异构硬件,该主处理器和异构硬件之间可以通过串行总线互联。该主处理器具有调度、分配任务、接口通信等功能,譬如,将神经网络中计算密集型运算任务调度至异构硬件中,比如该计算密集型运算任务包括每个神经网络层的执行任务等。该异构硬件可以用于执行各类运算任务。然而,在上述实现方式中,由于异构硬件无法自行验证运行结果,也无法存储运行结果,因此,如何对神经网络的开发进行验证成为本领域研究的热点。
技术实现思路
本专利技术实施例提供了一种神经网络的开发验证方法、装置、系统及存储介质,可以解决异构硬件无法自动对神经网络的开发进行验证的问题。所述技术方案如下:第一方面,提供了一种神经网络的开发本文档来自技高网...

【技术保护点】
1.一种神经网络的开发验证方法,其特征在于,应用于异构系统的主处理器中,所述异构系统还包括异构硬件和共享内存,所述共享内存与所述主处理器为集成器件,或者所述共享内存与所述主处理器为相互独立的器件,所述共享内存用于所述主处理器与所述异构硬件之间进行核间通信,所述方法包括:/n向所述异构硬件发送任务执行消息,所述任务执行消息携带所述异构硬件执行神经网络中目标神经网络层的运算任务时所需的执行数据;/n当获取到用于对所述异构硬件进行验证的验证任务消息时,从所述共享内存中获取所述异构硬件发送的执行结果数据,所述执行结果数据是由所述异构硬件执行完所述神经网络中的目标神经网络层对应的执行数据后确定的;/n基...

【技术特征摘要】
1.一种神经网络的开发验证方法,其特征在于,应用于异构系统的主处理器中,所述异构系统还包括异构硬件和共享内存,所述共享内存与所述主处理器为集成器件,或者所述共享内存与所述主处理器为相互独立的器件,所述共享内存用于所述主处理器与所述异构硬件之间进行核间通信,所述方法包括:
向所述异构硬件发送任务执行消息,所述任务执行消息携带所述异构硬件执行神经网络中目标神经网络层的运算任务时所需的执行数据;
当获取到用于对所述异构硬件进行验证的验证任务消息时,从所述共享内存中获取所述异构硬件发送的执行结果数据,所述执行结果数据是由所述异构硬件执行完所述神经网络中的目标神经网络层对应的执行数据后确定的;
基于所述执行结果数据对所述目标神经网络层进行验证。


2.如权利要求1所述的方法,其特征在于,所述共享内存还用于存储消息队列,所述当获取到用于对所述异构硬件进行验证的验证任务消息时,从所述共享内存中获取所述异构硬件发送的执行结果数据,包括:
当检测到所述消息队列中有所述验证任务消息到来时,从所述消息队列中读取所述验证任务消息,所述验证任务消息是由所述异构硬件执行完所述目标神经网络层的运算任务后发送至所述消息队列中的,所述验证任务消息携带所述目标神经网络层的层标识;
基于所述目标神经网络层的层标识,从所述共享内存中获取所述目标神经网络层对应的执行结果数据。


3.如权利要求1所述的方法,其特征在于,
所述当获取到用于对所述异构硬件进行验证的验证任务消息时,从所述共享内存中获取所述异构硬件发送的执行结果数据,包括:
当接收到所述异构硬件向所述主处理器发送的所述验证任务消息时,从所述验证任务消息中获取携带的所述目标神经网络层的层标识;
基于所述层标识,从所述共享内存中获取所述目标神经网络层对应的执行结果数据。


4.如权利要求3所述的方法,其特征在于,所述基于所述执行结果数据对所述目标神经网络层进行验证之后,还包括:
当对所述目标神经网络层验证完成时,向所述异构硬件发送验证完成消息,所述验证完成消息用于指示所述目标神经网络层的验证成功消息或验证失败消息。


5.如权利要求1-4任一项所述的方法,其特征在于,所述基于所述执行结果数据对所述目标神经网络层进行验证,包括:
获取所述目标神经网络层对应的数据验证样本;
当所述目标神经网络层对应的数据验证样本与执行结果数据相同时,确定所述目标神经网络层验证通过。


6.一种神经网络的开发验证方法,其特征在于,应用于异构系统的异构硬件中,所述异构系统还包括主处理器和共享内存,所述共享内存与所述主处理器为集成器件,或者所述共享内存与所述主处理器为相互独立的器件,所述共享内存用于所述主处理器与所述异构硬件之间进行核间通信,所述方法包括:
接收所述主处理器发送的任务执行消息,所述任务执行消息携带所述异构硬件执行神经网络中的目标神经网络层的运算任务时所需的执行数据;
基于所述神经网络中的目标神经网络层所需的执行数据,执行所述目标神经网络层的运算任务,将执行后得到的执行结果数据发送至所述共享内存中,并发送验证任务消息,所述验证任务消息用于指示所述主处理器基于所述共享内存内接收的执行结果数据对所述目标神经网络层进行验证。


7.如权利要求6所述的方法,其特征在于,所述任务执行消息还携带所述神经网络包括的层数,所述共享内存还用于存储消息队列,所述基于所述神经网络中的目标神经网络层所需的执行数据,执行所述目标神经网络层的运算任务,将执行后得到的执行结果数据发送所述至共享内存中,并发送验证任务消息,包括:
令i=1;将所述神经网络的第i个神经网络层确定为所述目标神经网络层,基于所述目标神经网络层所需的执行数据,执行所述目标神经网络层的运算任务,将所述目标神经网络层的执行结果数据发送至所述共享内存中,向所述共享内存的消息队列中发送所述验证任务消息,所述验证任务消息携带所述目标神经网络层的层标识;
若i小于所述层数,则令所述i=i+1,返回所述将所述神经网络的第i个神经网络层确定为所述目标神经网络层,基于所述目标神经网络层所需的执行数据,执行所述目标神经网络层的运算任务,将所述目标神经网络层的执行结果数据发送至所述共享内存中,向所述共享内存的消息队列中发送所述验证任务消息,所述验证任务消息携带所述目标神经网络层的层标识的操作;若i大于所述层数,则结束操作。


8.如权利要求6所述的方法,其特征在于,所述基于所述神经网络中的目标神经网络层所需的执行数据,执行所述目标神经网络层的运算任务,将执行后得到的执行结果数据发送至所述共享内存中,并发送验证任务消息,包括:
令j=1;将所述神经网络的第j个神经网络层确定为所述目标神经网络层,基于所述目标神经网络层所需的执行数据,执行所述目标神经网络层的运算任务,将所述目标神经网络层的执行结果数据发送至所述共享内存中,向所述主处理器发送所述验证任务消息,所述验证任务消息携带所述目标神经网络层的层标识;
当接收到所述主处理器发送的对所述第j个神经网络层的验证成功消息时,若所述j小于所述层数,则令j=j+1,返回所述将所述神经网络的第j个神经网络层确定为所述目标神经网络层,基于所述目标神经网络层所需的执行数据,执行所述目标神经网络层的运算任务,将所述目标神经网络层的执行结果数据发送至所述共享内存中,向所述主处理器发送所述验证任务消息,所述验证任务消息携带所述目标神经网络层的层标识的操作;若j大于所述层数,则结束操作。


9.一种神经网络的开发验证异构系统,其特征在于,所述异构系统包括主处理器、异构硬件和共享内存,所述共享内存与所述主处理器为集成器件,或者所述共享内存与所述主处理器为相互独立的器件,所述共享内存用于所述主处理器与所述异构硬件之间进行核间通信:
所述主处理器,用于向所述异构硬件发送任务执行消息,所述任务执行消息携带所述异构硬件执行神经网络中的目标神经网络层的运算任务...

【专利技术属性】
技术研发人员:张朋
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

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

1