一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于目标检测任务的加速框架生成方法、装置及电子设备与流程

2022-03-16 04:46:07 来源:中国专利 TAG:


1.本技术涉及人工智能技术领域,尤其涉及深度学习、计算机视觉领域,特别的涉及一种用于目标检测任务的加速框架生成方法、装置、电子设备和存储介质。


背景技术:

2.目标检测是将目标的分割和识别合二为一的处理方法,其广泛应用于机器人导航、智能视频监控、工业检测、航空航天等诸多领域。
3.目前,在ai(artificial intelligence人工智能)芯片上有cpu(central processing unit中央处理器)、npu(neural-network processing unit网络处理器)或gpu(graphic processing unit图像处理器)、图像处理等多个计算单元。相关技术中,目标检测在读取摄像头进行实时检测时,其中就可能涉及cpu、npu、图像处理等多个计算单元的计算。如何提高目标检测的算法性能已经成为目标检测过程中亟待解决的技术问题。


技术实现要素:

4.本技术提供了一种用于目标检测任务的加速框架生成方法、装置及电子设备。
5.根据本技术的第一方面,提供了一种用于目标检测任务的加速框架生成方法,包括:
6.获取目标检测任务的多个处理流程;
7.根据所述多个处理流程,确定所述目标检测任务所使用的目标检测算法流程所占用的n个不同硬件处理单元,其中,所述n为正整数;
8.根据所述n个不同硬件处理单元,创建n条流水线;其中,每个所述硬件处理单元对应一条流水线;
9.根据所述多个处理流程和所述n条流水线,生成所述目标检测任务的加速框架。
10.根据本技术的第二方面,提供了一种用于目标检测任务的加速框架生成装置,包括:
11.获取模块,用于获取目标检测任务的多个处理流程;
12.确定模块,用于根据所述多个处理流程,确定所述目标检测任务所使用的目标检测算法流程所占用的n个不同硬件处理单元,其中,所述n为正整数;
13.创建模块,用于根据所述n个不同硬件处理单元,创建n条流水线;其中,每个所述硬件处理单元对应一条流水线;
14.生成模块,用于根据所述多个处理流程和所述n条流水线,生成所述目标检测任务的加速框架。
15.根据本技术的第三方面,提供了一种电子设备,包括:
16.至少一个处理器;以及
17.与所述至少一个处理器通信连接的存储器;其中,
18.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一
个处理器执行,以使所述至少一个处理器能够执行前述第一方面所述的方法。
19.根据本技术的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行前述第一方面所述的方法。
20.根据本技术的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据前述第一方面所述的方法。
21.根据本技术的技术方案,通过获取目标检测任务的处理流程,实现对于目标检测算法流程所占用的硬件处理单元的确定,为后续创建流水线提供基础,通过根据不同的硬件处理单元创建流水线,再通过流水线与多个处理流程的结合,生成目标检测任务的加速框架,实现多条流水线并行执行,互不干扰,每个硬件处理单元可连续执行处理流程。由此,本技术中生成的加速框架中存在多条硬件处理单元的流水线,条流水线并行执行,相互不干扰,从而提高硬件单元的利用率和算法执行效率,解决了目标检测的性能受流程中每个环节约束的问题,克服了过分依赖某个硬件处理单元造成的性能瓶颈,实现对于目标检测算法性能的充分发挥。
22.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
23.附图用于更好地理解本方案,不构成对本技术的限定。其中:
24.图1为本技术提供的一种用于目标检测任务的加速框架生成方法的流程图;
25.图2为本技术实施例提供的另一种用于目标检测任务的加速框架生成方法的流程图;
26.图3为本技术实施例提供的另一种用于目标检测任务的加速框架生成方法的流程图;
27.图4为本技术实施例提供的另一种用于目标检测任务的加速框架生成方法的流程图;
28.图5为本技术实施例提供的目标检测任务的加速框架的示例图;
29.图6为本技术实施例提供的一种用于目标检测任务的加速框架生成装置的结构框图;
30.图7为本技术实施例提供的另一种用于目标检测任务的加速框架生成装置的结构框图;
31.图8为本技术实施例提供的另一种用于目标检测任务的加速框架生成装置的结构框图;
32.图9为本技术实施例提供的另一种用于目标检测任务的加速框架生成装置的结构框图;
33.图10是本技术实施例提供的一种电子设备的结构框图。
具体实施方式
34.以下结合附图对本技术的示范性实施例做出说明,其中包括本技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识
到,可以对这里描述的实施例做出各种改变和修改,而不会背离本技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
35.目前,目前,在ai(artificial intelligence人工智能)芯片上有cpu(central processing unit中央处理器)、npu(neural-network processing unit网络处理器)或gpu(graphic processing unit图像处理器)、图像处理等多个计算单元。相关技术中,目标检测读取摄像头实时检测采用的传统方案都是按照算法流程串行的,流程中可能涉及有cpu、npu、图像处理等多个计算单元的计算。然而,由于流程是按需使用计算单元的,所以在传统方案中硬件计算单元存在大量空载情况,大量的空载极大限制了硬件资源的合理化均衡化使用,并且算法处理的性能受流程中每个环节约束,并且硬件为按需调用,硬件的吞吐量低。例如,当某个流程或者处理单元由于意外无法处理时,会造成整个流程宕机,局部问题对全局影响较大。综上,目标检测算法的性能没有得到很好的发挥。
36.基于上述问题,本技术提出了一种用于目标检测任务的加速框架生成方法,需要说明的是,本技术实施例的用于目标检测任务的加速框架生成方法可应用于本技术实施例的用于目标检测任务的加速框架生成装置,该用于目标检测任务的加速框架生成装置可以被配置于电子设备上。如图1所示,,图1为本技术提供的一种用于目标检测任务的加速框架生成方法的流程图,该用于目标检测任务的加速框架生成方法包括以下步骤:
37.步骤101,获取目标检测任务的多个处理流程。
38.其中,在本技术实施例中,该目标检测任务可以是对某个视频中多张图像进行目标检测,用于检测该视频中是否含有目标物体的任务。
39.作为一种示例,目标检测任务为检测视频a中是否出现物体b,则该目标检测任务的处理流程为检测视频a中是否含有物体b的具体操作流程。
40.需要说明的是,该目标检测算法的主要流程可大致分为四个步骤:(1)获取图像数据,从摄像头或者网络等途径获取目标检测算法处理的原始图像数据,这个过程中大多发生在cpu或图像生成单元。(2)图像数据预处理,将原始图像数据经过图像处理、量化或归一化等处理,得到更容易被处理的数据,这个过程的计算大多发生cpu或者图像处理单元。(3)图像数据推理:将预处理后的数据喂给目标检测算法进行算法推理,该过程由于计算量大,计算发生在gpu或者npu单元。(4)推理结果解析:将目标检测模型计算得到的经过回归、过滤、降噪等处理,得到目标检测结果,计算发生在cpu。
41.在本技术实施例中,可基于目标检测算法的步骤对目标检测任务拆分处理流程,以得到该目标检测任务的多个处理流程。
42.步骤102,根据多个处理流程,确定目标检测任务所使用的目标检测算法流程所占用的n个不同硬件处理单元,其中,n为正整数。
43.举例而言,响应于目标检测任务的触发,获取目标检测任务的三个处理流程,假设处理流程1所占用的硬件处理单元为gpu,假设处理流程2所占用的硬件处理单元为npu,假设处理流程3所占用的硬件处理单元为gpu,则可以确定三个处理流程占用了两个不同的硬件处理单元。
44.步骤103,根据n个不同硬件处理单元,创建n条流水线;其中,每个硬件处理单元对应一条流水线。
45.举例而言,响应于目标检测任务的触发,获取目标检测任务的三个处理流程,假设
处理流程1所占用的硬件处理单元为gpu,假设处理流程2所占用的硬件处理单元为gpu,假设处理流程3所占用的硬件处理单元为npu,则可以确定三个处理流程占用了两个不同的硬件处理单元,根据gpu和npu创建两条流水线,分别是gpu流水线和npu流水线。
46.步骤104,根据多个处理流程和n条流水线,生成目标检测任务的加速框架。
47.需要说明的是,目标检测任务的加速框架的应用场景有很多,作为一种示例,目标检测任务为检测视频a中是否出现物体b,从视频a中获取帧图像,将帧图像逐张输入至目标检测任务的加速框架中,每一张帧图像均可根据处理流程在n条流水线中被加工处理,最终目标检测任务的加速框架输出得到每张帧图像中是否存在物体b,进而可以判断出视频a中是否出现物体b。
48.根据本技术实施例的用于目标检测任务的加速框架生成方法,通过获取目标检测任务的处理流程,实现对于目标检测算法流程所占用的硬件处理单元的确定,为后续创建流水线提供基础,通过根据不同的硬件处理单元创建流水线,再通过流水线与多个处理流程的结合,生成目标检测任务的加速框架,实现多条流水线并行执行,互不干扰,每个硬件处理单元可连续执行处理流程。
49.例如,在相关技术中,cpu对原始图像数据进行预处理后,需要等待预处理结果经过推理、解析等操作得到检测结果后,才能够对新的原始图像数据进行预处理。而本技术可在cpu对原始图像数据进行预处理后,无需等待得到该原始图像数据的检测结果就可直接对新的原始图像数据进行处理和检测。由此,本技术中生成的加速框架中存在多条硬件处理单元的流水线,条流水线并行执行,相互不干扰,从而提高硬件单元的利用率和算法执行效率,解决了目标检测的性能受流程中每个环节约束的问题,克服了过分依赖某个硬件处理单元造成的性能瓶颈,实现对于目标检测算法性能的充分发挥。
50.需要说明的是,在本技术一些实施例中,可以对目标检测任务进行步骤拆分,基于步骤拆分结果来获取目标检测任务的处理流程。图2为本技术实施例提供的另一种用于目标检测任务的加速框架生成方法的流程图。
51.如图2所示,该用于目标检测任务的加速框架生成方法包括以下步骤:
52.步骤201,响应于目标检测任务的触发,对目标检测任务进行步骤拆分。
53.作为一种示例,目标检测任务是对某个视频中多张图像进行目标检测,进行步骤拆分后得到结果是提取中视频中的该多张图像,对每张图像进行图像数据预处理,将预处理后的结果进行图像数据推理,最后对推理结果解析,得到目标检测结果。
54.作为一种示例,目标检测任务为检测视频a中是否出现物体b,对目标检测任务进行步骤拆分以后得到:(1)从视频a中获取若干张原始图像,(2)将原始图像进行预处理操作,其中包括图像处理、量化或归一化等处理,得到更易被处理的数据。(3)将预处理后的数据进行算法推理。(4)将推理结果经过回归、过滤、降噪等处理,得到目标检测结果。
55.步骤202,根据目标检测任务的步骤拆分结果,获取目标检测任务的多个处理流程。
56.作为一种示例,目标检测任务为检测视频a中是否出现物体b,对目标检测任务进行步骤拆分以后得到:(1)从视频a中获取若干张原始图像,(2)将原始图像进行预处理操作,其中包括图像处理、量化或归一化等处理,得到更易被处理的数据。(3)将预处理后的数据进行算法推理。(4)将推理结果经过回归、过滤、降噪等处理,得到目标检测结果。在得到
步骤拆分结果以后,则根据该结果可以确定多个处理流程,其中,该每个处理流程对应一张原始图像的目标检测流程,以其中一个处理流程为例:对提取的一张原始图像进行预处理,将处理后的数据进行算法推理,将推理后的结果经过回归、过滤、降噪等处理,得到该张原始图像的目标检测结果。
57.步骤203,根据多个处理流程,确定目标检测任务所使用的目标检测算法流程所占用的n个不同硬件处理单元,其中,n为正整数。
58.在本技术的实施例中,步骤203可以分别采用本技术的各实施例中的任一种方式实现,本技术实施例并不对此作出限定,也不再赘述。
59.步骤204,根据n个不同硬件处理单元,创建n条流水线;其中,每个硬件处理单元对应一条流水线。
60.在本技术的实施例中,步骤204可以分别采用本技术的各实施例中的任一种方式实现,本技术实施例并不对此作出限定,也不再赘述。
61.步骤205,根据多个处理流程和n条流水线,生成目标检测任务的加速框架。
62.在本技术的实施例中,步骤205可以分别采用本技术的各实施例中的任一种方式实现,本技术实施例并不对此作出限定,也不再赘述。
63.根据本技术实施例的用于目标检测任务的加速框架生成方法,通过对目标检测进行步骤的拆分,便于后续得到目标检测的多个处理流程,为后续能够通过处理流程顺利的创建流水线提供基础保障,保证了后续能够增加每个硬件处理单元的利用率与算法执行率。保证了目标检测任务的加速框架的顺利生成。
64.需要说明的是,在本技术一些实施例中,可以通过确定硬件处理单元,创建不同的流水线。图3为本技术实施例提供的另一种用于目标检测任务的加速框架生成方法的流程图。
65.如图3所示,该用于目标检测任务的加速框架生成方法包括以下步骤:
66.步骤301,获取目标检测任务的多个处理流程。
67.在本技术的实施例中,步骤301可以分别采用本技术的各实施例中的任一种方式实现,本技术实施例并不对此作出限定,也不再赘述。
68.步骤302,根据步骤中所执行过程占用硬件计算资源不同,对每个处理流程进行步骤拆分。
69.步骤303,拆分后重新将每个处理流程的各自步骤串联,以得到每个处理流程所占用的硬件处理单元。
70.步骤304,对每个处理流程所占用的硬件处理单元进行统计,并根据统计结果确定目标检测任务所使用的目标检测算法流程所占用的n个不同硬件处理单元。
71.步骤305,根据n个不同硬件处理单元,创建n条流水线;其中,每个硬件处理单元对应一条流水线。
72.作为一种实现方式,根据算法流程进行细分,标记每个流程所占用的硬件处理单元。根据不同的硬件处理单元创建的流水线,可采用多线程、多进程技术创建。
73.需要说明的是,根据步骤中所执行过程占用硬件计算资源,按照步骤的执行顺序,将每个处理流程的各自拆分步骤加入至对应的流水线中。
74.步骤306,根据多个处理流程和n条流水线,生成目标检测任务的加速框架。
75.在本技术的实施例中,步骤306可以分别采用本技术的各实施例中的任一种方式实现,本技术实施例并不对此作出限定,也不再赘述。
76.根据本技术实施例的用于目标检测任务的加速框架生成方法,根据处理流程所占用的硬件处理单元的不同,确定目标检测任务所使用的目标检测算法流程所占用的n个不同硬件处理单元,实现对于后续流水线数量的确定,以此来实现多流水线的并行执行,通过互不干扰的并行流水线,实现对于硬件处理单元的利用率和算法执行效率的增强。
77.需要说明的是,图4为本技术实施例提供的另一种用于目标检测任务的加速框架生成方法的流程图。
78.如图4所示,在本技术一些实施例中,通过确定输入输出关系,在流水线上添加生产消费关系,从而得到目标检测任务的加速框架。该用于目标检测任务的加速框架生成方法包括以下步骤:
79.步骤401,获取目标检测任务的多个处理流程。
80.在本技术的实施例中,步骤401可以分别采用本技术的各实施例中的任一种方式实现,本技术实施例并不对此作出限定,也不再赘述。
81.步骤402,根据多个处理流程,确定目标检测任务所使用的目标检测算法流程所占用的n个不同硬件处理单元,其中,n为正整数。
82.在本技术的实施例中,步骤402可以分别采用本技术的各实施例中的任一种方式实现,本技术实施例并不对此作出限定,也不再赘述。
83.步骤403,根据n个不同硬件处理单元,创建n条流水线;其中,每个硬件处理单元对应一条流水线。
84.在本技术的实施例中,步骤403可以分别采用本技术的各实施例中的任一种方式实现,本技术实施例并不对此作出限定,也不再赘述。
85.步骤404,根据每个处理流程的各自步骤间的关系,分析每个处理流程在每条流水线的输入输出关系。
86.作为一种实现方式,根据目标检测算法流程,分析每条流水线的io(input/output,输入输出)关系,将io关系改造为生产者消费者关系。按照处理流程的各自步骤,添加流水线的生产消费关系,上一个步骤为生产者,下一个步骤为消费者。
87.步骤405,根据每个处理流程在每条流水线的输入输出关系,在每条流水线上添加生产者消费者关系,得到目标检测任务的加速框架。
88.在一种实现方式中,如图5所示,目标检测任务的加速框架分为纵向和横向两个方向:(1)横向:分为生产者服务和消费者服务,配合每个处理单元的io,有的是生产者有的是消费者。(2)纵向:根据硬件处理单元数量分配多条流水线,多条流水线并行执行,相互不干扰。
89.根据本技术实施例的用于目标检测任务的加速框架生成方法,通过在每条流水线上添加生产者消费者关系,保证了处理流程中的各个步骤均能够结合流水线独立高效运行,保证了数据处理的同步和一致性,增加了目标检测的时效性,实现对于硬件处理单元的利用率和算法执行效率的提高,解决了目标检测的性能受流程中每个环节约束的问题,克服了过分依赖某个硬件处理单元造成的性能瓶颈,实现对于目标检测算法性能的充分发挥。
90.为了实现上述实施例,本技术还提出了一种用于目标检测任务的加速框架生成装置。
91.图6为本技术实施例提供的一种用于目标检测任务的加速框架生成装置的结构框图。如图6所示,该用于目标检测任务的加速框架生成装置可以包括:获取模块610、确定模块620、创建模块630和生成模块640。
92.其中,获取模块610,用于获取目标检测任务的多个处理流程。
93.确定模块620,用于根据多个处理流程,确定目标检测任务所使用的目标检测算法流程所占用的n个不同硬件处理单元,其中,n为正整数。
94.创建模块630,用于根据n个不同硬件处理单元,创建n条流水线;其中,每个硬件处理单元对应一条流水线。
95.生成模块640,用于根据多个处理流程和n条流水线,生成目标检测任务的加速框架
96.根据本技术实施例的用于目标检测任务的加速框架生成装置,通过获取目标检测任务的处理流程,实现对于目标检测算法流程所占用的硬件处理单元的确定,为后续创建流水线提供基础,通过根据不同的硬件处理单元创建流水线,再通过流水线与多个处理流程的结合,生成目标检测任务的加速框架,实现多条流水线并行执行,互不干扰,每个硬件处理单元可连续执行处理流程。
97.例如,在相关技术中,cpu对原始图像数据进行预处理后,需要等待预处理结果经过推理、解析等操作得到检测结果后,才能够对新的原始图像数据进行预处理。而本技术可在cpu对原始图像数据进行预处理后,无需等待得到该原始图像数据的检测结果就可直接对新的原始图像数据进行处理和检测。由此,本技术中生成的加速框架中存在多条硬件处理单元的流水线,条流水线并行执行,相互不干扰,从而提高硬件单元的利用率和算法执行效率,解决了目标检测的性能受流程中每个环节约束的问题,克服了过分依赖某个硬件处理单元造成的性能瓶颈,实现对于目标检测算法性能的充分发挥。
98.在本技术的一些实施例中,如图7所示,图7为本技术实施例提供的另一种实施例的用于目标检测任务的加速框架生成装置的结构框图,该用于目标检测任务的加速框架生成装置中获取模块710可以包括:第一拆分单元711,获取单元712。
99.其中,第一拆分单元711,用于响应于目标检测任务的触发,对目标检测任务进行步骤拆分。
100.获取单元712,用于根据目标检测任务的步骤拆分结果,获取目标检测任务的多个处理流程。
101.根据本技术实施例的用于目标检测任务的加速框架生成装置,通过对目标检测进行步骤的拆分,便于后续得到目标检测的多个处理流程,为后续能够通过处理流程顺利的创建流水线提供基础保障,保证了后续能够增加每个硬件处理单元的利用率与算法执行率。保证了目标检测任务的加速框架的顺利生成。
102.其中,图7中710-740和图6中610-640具有相同功能和结构。
103.在本技术的一些实施例中,如图8所示,图8为本技术实施例提供的另一种实施例的用于目标检测任务的加速框架生成装置的结构框图,该用于目标检测任务的加速框架生成装置中确定模块820可以包括:第二拆分单元821,串联单元822和统计单元823。
104.其中,第二拆分单元821,用于根据步骤中所执行过程占用硬件计算资源不同,对每个处理流程进行步骤拆分。
105.串联单元822,用于在拆分后重新将每个处理流程的各自步骤串联,以得到每个处理流程所占用的硬件处理单元。
106.统计单元823,用于对每个处理流程所占用的硬件处理单元进行统计,并根据统计结果确定目标检测任务所使用的目标检测算法流程所占用的n个不同硬件处理单元。
107.需要说明的是,根据n个不同硬件处理单元,创建n条流水线,根据步骤中所执行过程占用硬件计算资源,按照步骤的执行顺序,将每个处理流程的各自拆分步骤加入至对应的流水线中。
108.根据本技术实施例的用于目标检测任务的加速框架生成装置,根据处理流程所占用的硬件处理单元的不同,确定目标检测任务所使用的目标检测算法流程所占用的n个不同硬件处理单元,实现对于后续流水线数量的确定,以此来实现多流水线的并行执行,通过互不干扰的并行流水线,实现对于硬件处理单元的利用率和算法执行效率的增强。
109.其中,图8中810-840和图7中710-740具有相同功能和结构。
110.在本技术的一些实施例中,如图9所示,图9为本技术实施例提供的另一种实施例的用于目标检测任务的加速框架生成装置的结构框图,该用于目标检测任务的加速框架生成装置中生成模块940可以包括:关系确定单元941和生成单元942。
111.其中,关系确定单元941,用于根据每个处理流程的各自步骤间的关系,分析每个处理流程在每条流水线的输入输出关系。
112.生成单元942,用于根据每个处理流程在每条流水线的输入输出关系,在每条流水线上添加生产者消费者关系,得到目标检测任务的加速框架。
113.根据本技术实施例的用于目标检测任务的加速框架生成装置,通过在每条流水线上添加生产者消费者关系,保证了处理流程中的各个步骤均能够结合流水线独立高效运行,保证了数据处理的同步和一致性,增加了目标检测的时效性,实现对于硬件处理单元的利用率和算法执行效率的提高,解决了目标检测的性能受流程中每个环节约束的问题,克服了过分依赖某个硬件处理单元造成的性能瓶颈,实现对于目标检测算法性能的充分发挥。
114.其中,图9中910-940和图8中810-840具有相同功能和结构。
115.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
116.根据本技术的实施例,本技术还提供了一种电子设备和一种可读存储介质。
117.如图10所示,是根据本技术实施例的用于目标检测任务的加速框架生成的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本技术的实现。
118.如图10所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以
被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器1001为例。
119.存储器1002即为本技术所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本技术所提供的用于目标检测任务的加速框架生成的方法。本技术的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本技术所提供的用于目标检测任务的加速框架生成的方法。
120.存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本技术实施例中的用于目标检测任务的加速框架生成的方法对应的程序指令/模块(例如,附图6所示的获取模块610、确定模块620、创建模块630和生成模块640)。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的用于目标检测任务的加速框架生成的方法。
121.存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于目标检测任务的加速框架生成的电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至用于目标检测任务的加速框架生成的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
122.用于目标检测任务的加速框架生成的方法的电子设备还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
123.输入装置1003可接收输入的数字或字符信息,以及产生与用于目标检测任务的加速框架生成的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
124.此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
125.这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
126.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
127.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
128.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
129.根据本技术实施例的技术方案,通过获取目标检测任务的处理流程,实现对于目标检测算法流程所占用的硬件处理单元的确定,为后续创建流水线提供基础,通过根据不同的硬件处理单元创建流水线,再通过流水线与多个处理流程的结合,生成目标检测任务的加速框架,实现多条流水线并行执行,互不干扰,每个硬件处理单元可连续执行处理流程。
130.例如,在相关技术中,cpu对原始图像数据进行预处理后,需要等待预处理结果经过推理、解析等操作得到检测结果后,才能够对新的原始图像数据进行预处理。而本技术可在cpu对原始图像数据进行预处理后,无需等待得到该原始图像数据的检测结果就可直接对新的原始图像数据进行处理和检测。由此,本技术中生成的加速框架中存在多条硬件处理单元的流水线,条流水线并行执行,相互不干扰,从而提高硬件单元的利用率和算法执行效率,解决了目标检测的性能受流程中每个环节约束的问题,克服了过分依赖某个硬件处理单元造成的性能瓶颈,实现对于目标检测算法性能的充分发挥。
131.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例
如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本技术公开的技术方案所期望的结果,本文在此不进行限制。
132.上述具体实施方式,并不构成对本技术保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本技术的精神和原则之内所作的修改、等同替换和改进等,均应包含在本技术保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献