对运行于人工智能芯片上的区域候选网络进行优化的编译方法及其相关产品技术

技术编号:36155033 阅读:18 留言:0更新日期:2022-12-31 20:01
本公开涉及一种对运行于人工智能芯片上的区域候选网络进行优化的编译方法及相关产品,该相关产品包括编译器、设备和计算机可读存储介质。该设备可以包括在组合处理装置的计算处理装置中,该计算处理装置可以包括一个或多个数据处理装置。前述的组合处理装置还可以包括接口装置和其他处理装置。所述计算处理装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与设备和其他处理装置连接,用于存储该设备和其他处理装置的数据。通过本公开的方案,可以减少候选框筛选过程中因排序带来的计算开销。排序带来的计算开销。排序带来的计算开销。

【技术实现步骤摘要】
对运行于人工智能芯片上的区域候选网络进行优化的编译方法及其相关产品


[0001]本公开一般地涉及人工智能
更具体地,本公开涉及一种对运行于人工智能芯片上的区域候选网络进行优化的编译方法、编译器、用于执行前述方法的设备和计算机程序产品、包括前述编译器或设备的集成电路装置,以及包括该集成电路装置的板卡。

技术介绍

[0002]随着人工智能技术的发展,作为人工智能的核心技术之一的计算机视觉技术已被广泛应用于安防、金融、硬件、营销、驾驶、医疗等领域。目前计算机视觉技术中的目标检测任务已成为重点研究对象,目标检测任务是指给定一张图像或是一个视频帧,让计算机找出其中所有目标的位置,并给出每个目标的具体类别。相关技术中在执行目标检测任务时,可采用 Faster R

CNN(快速区域神经卷积网络检测网络,Faster Region

basedCNN)架构中的RPN(Region Proposal Networks,区域候选网络)来筛选候选框的编译方法。具体地,在RPN筛选候选框的编译过程中,需要先对初选后的所有候选框进行排序,然后再对排序后的候选框进行筛减来确定最后保留的候选框。然而在实际应用过程中,这种编译时先排序的运算逻辑不仅对运算结果没有任何帮助,反而会因为排序带来的计算开销而影响整体运算效率,并进而降低系统的计算性能。

技术实现思路

[0003]鉴于上述
技术介绍
部分所提及的技术问题,本公开提出一种对运行于人工智能芯片上的区域候选网络进行优化的编译方案。利用本公开的方案,可以通过对图像在区域网络中的初始候选框进行多次筛减,并且利用候选框的重叠度来对经过一次筛减得到的中间级候选框进行二次筛减,以得到本公开上下文中的前K个中间级候选框。由此,可以利用前K个中间级候选框来作为区域候选网络的输出候选框,从而实现对区域候选网络的优化。另外,通过这样的优化,可以有效减少编译过程中因排序带来的计算开销,从而在确保运算精度的同时也提高了运算效率。由此,也可以显著提升包括人工智能处理器的智能计算系统的计算性能。鉴于此,本公开在如下的多个方面中提供对运行于人工智能芯片上的区域候选网络进行优化的编译方案。
[0004]在第一方面中,本公开提供了一种对运行于人工智能芯片上的区域候选网络进行优化的编译方法,所述编译方法由处理器来执行,并且包括:获取图像在所述区域候选网络中的初始候选框;基于预设条件对所述初始候选框进行一次筛减,以获得中间级候选框;基于候选框的重叠度对所述中间级候选框进行二次筛减,以从中间级候选框中选取前K个中间级候选框作为所述区域候选网络的输出候选框,以完成对所述区域候选网络的优化,其中K是正整数;以及将优化后的所述区域候选网络编译成对应的二进制指令序列,以分配至人工智能处理器上执行对应的任务。
[0005]在第二方面中,本公开提供了一种对运行于人工智能芯片上的区域候选网络进行
优化的编译器,包括:获取模块,其用于获取图像在所述区域候选网络中的初始候选框;第一筛减模块,其用于基于预设条件对所述初始候选框进行一次筛减,以获得中间级候选框;第二筛减模块,其用于对基于候选框的重叠度对所述中间级候选框进行二次筛减,以从中间级候选框中选取前K个中间级候选框作为所述区域候选网络的输出候选框,以完成对所述区域候选网络的优化,其中K是正整数;以及编译模块,其用于将优化后的所述区域候选网络编译成对应的二进制指令序列,以分配至人工智能处理器上执行对应的任务。
[0006]在第三方面中,本公开提供了一种对运行于人工智能芯片上的区域候选网络进行优化的设备,包括:至少一个处理器;以及至少一个存储器,其存储有对运行于人工智能芯片上的区域候选网络进行优化的程序指令,当所述程序指令由所述至少一个处理器加载并执行时,使得所述设备执行前述以及在下文多个实施例中所述的方法。
[0007]在第四方面中,本公开提供了一种计算机程序产品,包括对运行于人工智能芯片上的区域候选网络进行优化的计算机程序,所述计算机程序在被处理器执行时实现前述以及在下文多个实施例中所述的方法。
[0008]在第五方面中,本公开提供了一种集成电路装置,包括如上所述以及在下文多个实施例中所述的设备。
[0009]在第六方面中,本公开提供了一种板卡,包括如上所述以及在下文多个实施例中所述的集成电路装置。
[0010]通过本公开如上多个方面中所提供的编译方案,可以对区域候选网络中的初始候选框进行多次筛减来确定区域候选网络的输出。在筛减过程中,特别是在进行二次筛减时,本公开的方案提出利用候选框的重叠度来对中间级候选框进一步筛减,以便能够从中选取出前K个中间级候选框作为输出候选框。根据本公开的方案设计,由于这里的前K个中间级候选框已经是按照评估(例如稍后提到的度量值)由高到低进行排序的,因此使得编译时中无需再引入排序运算,从而有效减少了候选框筛选过程中因排序带来的计算开销。进一步,本公开的方案通过对区域候选网络的优化,可以在确保运算精度的同时还提高了运算效率。由此,本公开的方案也显著提升包括人工智能处理器的智能计算系统的计算性能。
附图说明
[0011]通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
[0012]图1是示出根据本公开实施例的板卡的结构图;
[0013]图2是示出根据本公开实施例的组合处理装置的结构图;
[0014]图3是示出根据本公开实施例的计算装置的内部结构示意图;
[0015]图4是示出根据本公开实施例的处理器核的内部结构示意图;
[0016]图5是示出根据本公开实施例的不同集群的处理器核间的数据写入过程示意图;
[0017]图6是示出根据本公开实施例的数据流编程的软硬件架构的结构示意图;
[0018]图7是示出根据本公开的一个实施例的对运行于人工智能芯片上的区域候选网络进行优化的编译方法的流程图;
[0019]图8是示出根据本公开的另一个实施例的对运行于人工智能芯片上的区域候选网
络进行优化的编译方法的流程图;以及
[0020]图9是示出根据本公开实施例的编译器的示意框图。
具体实施方式
[0021]下面将结合本公开实施方式中的附图,对本公开实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。
[0022]应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对运行于人工智能芯片上的区域候选网络进行优化的编译方法,所述编译方法由处理器来执行,并且包括:获取图像在所述区域候选网络中的初始候选框;基于预设条件对所述初始候选框进行一次筛减,以获得中间级候选框;基于候选框的重叠度对所述中间级候选框进行二次筛减,以从中间级候选框中选取前K个中间级候选框作为所述区域候选网络的输出候选框,以完成对所述区域候选网络的优化,其中K是正整数;以及将优化后的所述区域候选网络编译成对应的二进制指令序列,以分配至人工智能芯片处执行对应的任务。2.根据权利要求1所述的编译方法,其中获取图像在所述区域候选网络中的初始候选框包括:获取所述区域候选网络的输出参数;以及基于对所述输出参数的叠加,生成所述初始候选框。3.根据权利要求2所述的编译方法,其中所述输出参数包括锚点参数以及边界框参数。4.根据权利要求1所述的编译方法,其中所述预设条件包括:在所述图像的原图尺寸中长宽小于阈值的候选框;和/或在所述图像的原图尺寸中超出图像区域的候选框。5.根据权利要求1至4中任一项所述的编译方法,其中基于候选框的重叠度对所述中间级候选框进行二次筛减包括迭代地执行以下操作,直至选取完所述中间级候选框中的所有目标候选框:从当前的中间级候选框中选取目标候选框和与所述目标候选框重叠度大于阈值的重叠候选框,其中所述目标候选框是当前的中间级候选框中具有最大度量值的候选框;以及从当前的所述中间级候选框中删除所述重叠候选框,并且移除所述目标候选框以得到更新后的中间级候选框,以便在执行下一次迭代时将所述更新后的中间级候选框作为当前的中间级候选框。6.根据权利要求5所述的编译方法,其中从中间级候选...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:

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

1