【技术实现步骤摘要】
神经网络模型的指令调度方法及装置
本申请涉及人工神经网络的
,尤其涉及一种神经网络模型的指令调度方法及装置。
技术介绍
在某些特定的应用场景(比如,自动驾驶、人脸识别)中,需要运行多个神经网络模型才能获得所需的结果。而对于需要运行多个神经网络模型来获得所需结果的情况,如何在这多个神经网络模型的指令序列之间建立流水线,减少硬件资源的闲置和浪费,从而在不增加硬件资源的前提下尽可能的提高多个神经网络的整体执行效率,目前尚未提出有效的解决方案。
技术实现思路
为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种神经网络模型的指令调度方法及装置。根据本申请的一个方面,提供了一种神经网络模型的指令调度方法,包括:在需要运行对应第一神经网络模型的第一指令序列时,确定要运行的对应第二神经网络模型的第二指令序列,所述第一神经网络模型先于所述第二神经网络模型运行;选择所述第二指令序列中的至少一条指令;将所述至少一条指令插入到所述第一指令序列中;以及运行包含所述至少一条指令的所述第一指令序列。根据本申请的另一个方面,提供了一种电子设备,包括:一个或多个处理器;以及,存储器,存 ...
【技术保护点】
1.一种神经网络模型的指令调度方法,包括:在需要运行对应第一神经网络模型的第一指令序列时,确定要运行的对应第二神经网络模型的第二指令序列,所述第一神经网络模型先于所述第二神经网络模型运行;选择所述第二指令序列中的至少一条指令;将所述至少一条指令插入到所述第一指令序列中;以及运行包含所述至少一条指令的所述第一指令序列。
【技术特征摘要】
1.一种神经网络模型的指令调度方法,包括:在需要运行对应第一神经网络模型的第一指令序列时,确定要运行的对应第二神经网络模型的第二指令序列,所述第一神经网络模型先于所述第二神经网络模型运行;选择所述第二指令序列中的至少一条指令;将所述至少一条指令插入到所述第一指令序列中;以及运行包含所述至少一条指令的所述第一指令序列。2.根据权利要求1所述的指令调度方法,其中,选择所述第二指令序列中的至少一条指令,包括:遍历所述第二指令序列以查找所述第二指令序列中的首位计算指令;以及,选择所述第二指令序列中的在所述首位计算指令之前的指令。3.根据权利要求1所述的指令调度方法,其中,将所述至少一条指令插入到所述第一指令序列中,包括:按照指令操作的数据由大到小的次序逐个将所述至少一条指令插入到所述第一指令序列中。4.根据权利要求1所述的指令调度方法,其中,所述至少一条指令为用于加载所述第二神经网络模型运算所需数据的加载指令。5.根据权利要求1所述的指令调度方法,其中,将所述至少一条指令插入到所述第一指令序列中,包括:将所述至少一条指令插入到所述第一指令序列中的计算指令之间。6.根据权利要求1所述的指令调度方法,其中,将所述至少一条指令插入到所述第一指令序列中,包括:校验所述至少一条指令与所述第一指令序列中的各条指令之间是否存在数据冲突和/或硬件资源冲突,以确定所述至少一条指令于所述第一指令序列中的合法位置,以便将所述至少一条指令插入到所述第一指令序列中。7.根据权利要求6所述的指令调度方法,其中,如果所述至少一条指令于所述第一指令序列中存在两个或更多合法位置,确定并行时间最长的合法位置为所述至少一条指令的插入位置。8.根据权利要求6所述的指令调度方法,其中,如果所述至少一条指令于所述第一指令序列中存在两个或更多合法位置,确定并行时间最长且在第一指令序列中最靠前的合法位置为所述至少一条指令的插入位置。9.根据权利要求6所述的指令调度方法,其中,如果所述至少一条指令于所述第一指令序列中不存在合法位置,拆分所述至少一条指令为两组指令,将所述两组指令中与所述第一指令序列中的指令不存在数据冲突的一组指令插入到所述第一指令序列中。10.根据权利要求9所述的指令调度方法,其中,所述拆分所述至少一条指令为两组指令,包括:确定所述至少一条指令与所述第一指令序列中的指令之间存在冲突的数据和不存在冲突的数据;以及,按照所述存在冲突的数据和不存在冲突的数据,将所述至少一条指令拆分为两组指令,所述两组指令中的第一组指令用于操作所述存在冲突的数据,所述两组指令中的第二组指令用于操作所述不存在冲突的数据。11.根据权利...
【专利技术属性】
技术研发人员:李军,李建军,黄畅,
申请(专利权)人:北京地平线机器人技术研发有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。