CN116382859A - 任务处理方法、设备、存储介质以及计算机程序产品 - Google Patents
任务处理方法、设备、存储介质以及计算机程序产品 Download PDFInfo
- Publication number
- CN116382859A CN116382859A CN202310194297.9A CN202310194297A CN116382859A CN 116382859 A CN116382859 A CN 116382859A CN 202310194297 A CN202310194297 A CN 202310194297A CN 116382859 A CN116382859 A CN 116382859A
- Authority
- CN
- China
- Prior art keywords
- sub
- target
- compression
- module
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 47
- 238000004590 computer program Methods 0.000 title claims abstract description 22
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000007906 compression Methods 0.000 claims abstract description 217
- 230000006835 compression Effects 0.000 claims abstract description 213
- 238000012545 processing Methods 0.000 claims abstract description 203
- 238000000034 method Methods 0.000 claims abstract description 82
- 238000013144 data compression Methods 0.000 claims abstract description 23
- 230000006837 decompression Effects 0.000 claims abstract description 20
- 230000011218 segmentation Effects 0.000 claims description 133
- 230000008569 process Effects 0.000 claims description 55
- 238000001514 detection method Methods 0.000 claims description 35
- 238000013139 quantization Methods 0.000 claims description 22
- 230000009467 reduction Effects 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 7
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 abstract description 29
- 239000013598 vector Substances 0.000 description 30
- 239000011159 matrix material Substances 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000000513 principal component analysis Methods 0.000 description 4
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 3
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003796 beauty Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013140 knowledge distillation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本申请提供一种任务处理方法、设备、存储介质以及计算机程序产品,属于电力电子技术领域。该方法包括:获取目标任务所对应的目标数据;将目标数据输入目标处理模型中的首个子模块,通过首个子模块对目标数据进行相应的处理,并按照首个子模块所对应的数据压缩策略对所得到的处理结果进行压缩操作,将压缩操作后的数据传输至下个子模块;通过每个非首个子模块接收前一子模块发送的压缩操作后的数据,对压缩操作后的数据进行解压缩操作,对解压缩操作后得到的数据进行相应的处理,并按照其对应的压缩策略对所得到的处理结果进行压缩操作;通过最后一个子模块输出目标任务所对应的处理结果。本申请可以提高模型处理任务时进行数据传输的效率。
Description
技术领域
本申请涉及人工智能技术领域,具体而言,涉及一种任务处理方法、设备、存储介质以及计算机程序产品。
背景技术
在使用模型进行任务处理时,为了降低单个计算节点的计算负担,通常采用的做法是将模型划分为多个部分,分别部署在不同的计算节点上。针对该种情况,各个节点之间通常需要进行数据传输,为了减少数据传输的资源消耗,通常需要对待传输的数据进行压缩。
因此,有必要提出一种技术方案,以便在通过多个节点进行任务处理时,以减少节点之间的数据传输的资源消耗、以及提高数据传输效率。
发明内容
本申请的目的在于提供一任务处理方法、设备、存储介质以及计算机程序产品,以减少节点之间的数据传输的资源消耗、以及提高数据传输效率。
本申请的实施例是这样实现的:
本申请实施例的一方面,提供一种任务处理方法,该方法通过目标处理模型实现,目标处理模型被按照目标切分策略切分为多个子模块,各子模块分别部署在相应的计算节点上,除最后一个子模块外,每个子模块均对应有数据压缩策略;
该方法包括:获取目标任务所对应的目标数据;将目标数据输入目标处理模型中的首个子模块,通过首个子模块对目标数据进行相应的处理,并按照首个子模块所对应的数据压缩策略对所得到的处理结果进行压缩操作,将压缩操作后的数据传输至下个子模块;
通过每个非首个子模块接收前一子模块发送的压缩操作后的数据,对压缩操作后的数据进行解压缩操作,对解压缩操作后得到的数据进行相应的处理,并按照其对应的压缩策略对所得到的处理结果进行压缩操作;通过最后一个子模块输出目标任务所对应的处理结果。
可选地,数据压缩策略包括切分参数和压缩参数;通过子模块按照其对应的数据压缩策略对所得到的处理结果进行压缩操作的过程包括:
通过子模块按照其对应的切分参数对处理结果进行分块操作,得到多个特征块数据,以及按照其对应的压缩参数对特征块数据进行降维压缩操作,并对降维压缩操作后得到的特征数据进行量化操作。
可选地,通过子模块按照其对应的切分参数对处理结果进行分块操作,得到多个特征块数据,包括:
通过子模块,将处理结果按照其对应的切分参数所指示的形状对处理结果进行切分处理,得到多个特征块。
可选地,目标切分策略为通用模型切分算法,其中,每个子模块所对应的切分参数和压缩参数是通过如下过程得到:
遍历候选切分参数集合和候选压缩参数集合,针对每个特定子模块,基于遍历到的任一候选切分参数对特定子模块所对应的样本特征数据进行切分操作,得到多个样本特征块,特定子模块为目标网络中除最后一个子模块外的任意一个子模块;
由特定子模块对各个样本特征块按照遍历到的任一候选压缩参数进行压缩操作,并将压缩后的各个样本特征块发送给特定子模块的后一个子模块;
由特定子模块的后一个子模块对压缩后的各个样本特征块进行还原操作,并对还原后得到的数据进行相应的处理;
基于最后一个子模块每次输出的处理结果,确定满足第一目标条件的目标候选切分参数和目标候选压缩参数,作为特定子模块所对应的切分参数和压缩参数;其中,第一目标条件基于处理结果的精度所设定,或者,第一目标条件基于处理结果的精度和目标候选压缩参数所设定;每遍历到一个候选切分参数和一个候选压缩参数得到一个处理结果。
可选地,每个子模块所对应的切分参数和压缩参数是通过如下过程得到:
基于目标网络中各网络子块的计算量,以及各网络子块所输出特征数据的奇异值分布情况,将目标网络切分为多个子模块;
遍历候选切分参数集合和候选压缩参数集合,针对每个特定子模块,基于遍历到的任一候选切分参数对特定子模块所对应的样本特征数据进行切分操作,得到多个样本特征块,并确定多个样本特征块所对应的奇异值分布情况,特定子模块为目标处理模型中除最后一个子模块外的任意一个子模块;
由特定子模块对各个样本特征块按照遍历到的任一候选压缩参数进行压缩操作,并将压缩后的各个样本特征块发送给特定子模块的后一个子模块;
由特定子模块的后一个子模块对压缩后的各个样本特征块进行还原操作,并对还原后得到的数据进行相应的处理;
基于最后一个子模块每次输出的处理结果,确定满足第二目标条件的目标候选切分参数和目标候选压缩参数,作为特定子模块所对应的切分参数和压缩参数;其中,第二目标条件包括处理结果的精度大于目标阈值且奇异值分布集中程度最高;每遍历到一个候选切分参数和一个候选压缩参数得到一个处理结果。
可选地,基于目标网络中各网络子块的计算量,以及各网络子块所输出特征数据的奇异值分布情况,将目标网络切分为多个子模块,包括:
按照目标网络中各网络子块的计算量将目标网络均匀切分成多个初始子模块;
确定各网络子块所输出特征数据的奇异值分布情况;
基于各网络子块所输出特征数据的奇异值分布情况对初始子模块的大小进行调整,得到多个子模块。
可选地,目标处理模型为目标检测模型,目标任务为目标检测任务,各子模块部署在不同的车载芯片上;
其中,目标检测任务包括障碍物检测任务、车位检测任务以及驾驶员疲劳度检测任务中的任意一种。
本申请实施例的另一方面,提供一种电子设备,包括:存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时,实现任务处理方法的步骤。
本申请实施例的另一方面,提供一种计算机可读存储介质,存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现任务处理方法的步骤。
本申请实施例的另一方面,提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现任务处理方法的步骤。
本申请实施例的有益效果包括:
本申请实施例提供的任务处理方法、设备、存储介质以及计算机程序产品中,可以获取目标任务所对应的目标数据,并且可以将目标数据输入目标处理模型中的子模块中,对于首个子模块,可以通过首个子模块对目标数据进行相应的处理,并按照首个子模块所对应的数据压缩策略对所得到的处理结果进行压缩操作,将压缩操作后的数据传输至下个子模块;对于每个非首个子模块,可以接收前一子模块发送的压缩操作后的数据,对压缩操作后的数据进行解压缩操作,对解压缩操作后得到的数据进行相应的处理,并按照其对应的压缩策略对所得到的处理结果进行压缩操作,对于最后一个子模块,可以通过最后一个子模块输出目标任务所对应的处理结果,其中,由于各个子模块可以对该模块得到的处理结果进行切分以及压缩,并可以在压缩完成之后执行对应的传输操作,从而可以实现将处理结果在各个子模块之间进行传输,并且,通过为每个子模块设置相应的压缩策略的方式,也可以按照更加简单、快速的过程实现处理结果的传输,相应地,也就可以节省传输过程中的通信带宽,从而提高多个子模块之间进行信息传输的效率,进一步可以提高对任务进行处理的效率,降低处理过程中涉及传输时的复杂程度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的任务处理方法的应用场景示意图;
图2为本申请实施例提供的任务处理方法的流程示意图;
图3为本申请实施例提供的任务处理方法的另一流程示意图;
图4为本申请实施例提供的任务处理方法的另一流程示意图;
图5为本申请实施例提供的任务处理方法的另一流程示意图;
图6为本申请实施例提供的任务处理方法的另一流程示意图;
图7为本申请实施例提供的任务处理方法的另一流程示意图;
图8为本申请实施例提供的任务处理方法的另一流程示意图;
图9为本申请实施例提供的任务处理装置的结构示意图;
图10为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
近年来,基于人工智能的计算机视觉、深度学习、机器学习、图像处理、图像识别等技术研究取得了重要进展。人工智能(Artificial Intelligence,简称AI)是研究、开发用于模拟、延伸人的智能的理论、方法、技术及应用系统的新兴科学技术。人工智能学科是一门综合性学科,涉及芯片、大数据、云计算、物联网、分布式存储、深度学习、机器学习、神经网络等诸多技术种类。计算机视觉作为人工智能的一个重要分支,具体是让机器识别世界,计算机视觉技术通常包括人脸识别、活体检测、指纹识别与防伪验证、生物特征识别、人脸检测、行人检测、目标检测、行人识别、图像处理、图像识别、图像语义理解、图像检索、文字识别、视频处理、视频内容识别、行为识别、三维重建、虚拟现实、增强现实、同步定位与地图构建(Simultaneous Localization and Mapping,简称SLAM)、计算摄影、机器人导航与定位等技术。随着人工智能技术的研究和进步,该项技术在众多领域展开了应用,例如安防、城市管理、交通管理、楼宇管理、园区管理、人脸通行、人脸考勤、物流管理、仓储管理、机器人、智能营销、计算摄影、手机影像、云服务、智能家居、穿戴设备、无人驾驶、自动驾驶、智能医疗、人脸支付、人脸解锁、指纹解锁、人证核验、智慧屏、智能电视、摄像机、移动互联网、网络直播、美颜、美妆、医疗美容、智能测温等领域。
需要说明的是,在上述多个领域中,例如:自动驾驶、无人驾驶等,通常会需要使用模型处理相关任务,而这些任务可能会存在多个处理节点,各个节点之间通常需要进行信息传输,为了减少信息传输的资源消耗,通常需要对待传输的信息进行压缩,从而实现信息在芯片之间的传输。
这些模型可以应用在设备集群、电路集群或者芯片集群等场景中,以芯片集群为例,由于单个芯片通常无法独自承担大规模的计算,因此,为了实现大规模的计算,通常需要多个芯片共同来完成,而在共同完成的过程中,各个芯片之间不可避免地需要进行通信,也即是需要进行信息传输,为了更加快速地实现计算,信息传输过程占用的资源消耗应当满足一定需求。
对于现有技术中,存在有多种类型的数据传输方式,例如:利用中间特征的稀疏性质,采用稀疏编码、游程编码、熵编码等无损数据压缩技术,将特征压缩后再进行通信。然而采用此类方式进行数据压缩时,依赖使用的硬件结构,导致在使用过程中的吞吐率不高,并且由于该压缩的方式是变长压缩,也会导致传输过程中流水的复杂度的增加。
又例如,对于芯片这一场景中,也可以通过升级芯片之间的带宽连接的方式,然而这类方法仅仅适用于高性能的计算设备中的相关芯片,并不适用于普遍使用的芯片,另外,提升带宽也会产生高额的成本。
又例如,对于任意的模型,还可以对模型进行低比特量化、稀疏化剪裁或者知识蒸馏等方式,降低传输过程中的中间特征的数据量,然而这类方法会对模型本身进行改造,可能会影响到传输过程中数据的精度。
有鉴于此,本申请实施例中提出了一种任务处理方法、设备、存储介质以及计算机程序产品,用于解决上述存在的缺陷,下面来具体解释本申请实施例中提供的任务处理方法的应用场景。
图1为本申请实施例提供的任务处理方法的应用场景示意图,请参照图1,该场景中所涉及的模型可以被切分为多个子模块。
对于每个子模块,可以分别部署在其对应的计算节点上,除最后一个子模块130之外,每个子模块均可以预先配置有数据压缩策略,各个子模块在进行相应的计算处理得到计算结果之后,可以将计算结果按照该数据压缩策略对数据进行切分以及压缩处理,并传输给下一个子模块。
需要说明的是,图1中以多个子模块为例,若模型被切分成了两个子模块,则不存在中间子模块,也即是中间子模块120的数量为0,只存在首个子模块110和最后一个子模块130。
可选地,该方法通过目标处理模型实现,目标处理模型被按照目标切分策略切分为多个子模块,各子模块分别部署在相应的计算节点上,除最后一个子模块外,每个子模块均对应有数据压缩策略。
可选地,对于其中除最后一个子模块外,每个子模块上均可以部署有数据压缩策略,基于该数据压缩策略可以对该模块处理完的数据进行压缩,相应地,除了首个子模块外,每个子模块上均可以部署有数据解压策略,基于该数据解压策略可以对该模型即将处理的数据进行解压缩。
可选地,在通过目标处理模型执行一项目标任务时,每个子模块均可以执行该目标任务中的一部分子任务。
下面来具体解释本申请实施例中提供的任务处理方法的具体实施过程。
图2为本申请实施例提供的任务处理方法的流程示意图,请参照图2,该方法包括:
S210:获取目标任务所对应的目标数据。
该步骤的执行主体可以是运行有上述目标处理模型的计算机设备等,在此不作具体限制。
其中,目标任务可以是整个目标处理模型需要执行的任务,对应的目标数据可以是输入到该目标处理模型中的相关数据,例如:可以是图片数据、音频数据、文本数据等,在此不作具体限制。
S220:将目标数据输入目标处理模型中的首个子模块,通过首个子模块对目标数据进行相应的处理,并按照首个子模块所对应的数据压缩策略对所得到的处理结果进行压缩操作,将压缩操作后的数据传输至下个子模块。
可选地,针对其中的每个子模块,均可以完成自身所需要处理的子任务,不同的子模块可以处理不同的子任务。
可选地,不同的子模块可以对应有不同的压缩策略,对于首个子模块,其可以按照对应的压缩策略将处理后的目标数据进行压缩操作,并将压缩操作后的数据传输至下个子模块。
例如:对于数据A,首个子模块可以先对该数据A进行其所对应阶段的任务处理,得到数据B,并对数据B执行上述压缩策略,得到数据C,并将数据C发送给了下一个子模块。
需要说明的是,各个子模块之间的关系可以是串行也可以是并行,在此不作具体限制,也即是说,多个子模块之间可以是依次连接的,或者也可以存在同一个子模块之后连接多个子模块的。若首个子模块后存在有多个相邻的子模块,则可以将压缩操作后的数据分别发送给这些子模块。
S230:通过每个非首个子模块接收前一子模块发送的压缩操作后的数据,对压缩操作后的数据进行解压缩操作,对解压缩操作后得到的数据进行相应的处理,并按照其对应的压缩策略对所得到的处理结果进行压缩操作。
可选地,对于各个非首个子模块,其输入的数据可以是前一个子模块所发送的压缩操作之后的数据,例如上述示例中的数据C。
对于非首个子模块,可以先对接收到的数据进行解压操作,再进行对应的处理,进而对处理完成的数据执行与首个子模块所执行相类似的压缩操作(最后一个子模块可以不执行该步骤)。
例如:对于非首个子模块,可以对输入的数据C进行解压缩处理得到数据D,进而对数据D进行该子模块所对应阶段的任务处理,得到数据E,然后若该子模块不是最后一个子模块,则可对该数据E执行压缩操作,得到数据F,并将数据F发送给下一个子模块。
S240:通过最后一个子模块输出目标任务所对应的处理结果。
可选地,对于最后一个子模块,可以在处理完成之后不进行对应的压缩处理,直接输出目标任务所对应的处理结果,或者,也可以根据实际需求,在输出之前对该数据进行额外的处理等,在此不作具体限制。
本申请实施例提供的任务处理方法中,可以获取目标任务所对应的目标数据,并且可以将目标数据输入目标处理模型中的子模块中,对于首个子模块,可以通过首个子模块对目标数据进行相应的处理,并按照首个子模块所对应的数据压缩策略对所得到的处理结果进行压缩操作,将压缩操作后的数据传输至下个子模块;对于每个非首个子模块,可以接收前一子模块发送的压缩操作后的数据,对压缩操作后的数据进行解压缩操作,对解压缩操作后得到的数据进行相应的处理,并按照其对应的压缩策略对所得到的处理结果进行压缩操作,对于最后一个子模块,可以通过最后一个子模块输出目标任务所对应的处理结果,其中,由于各个子模块可以对该模块得到的处理结果进行切分以及压缩,并可以在压缩完成之后执行对应的传输操作,从而可以实现将处理结果在各个子模块之间进行传输,并且,通过切分和压缩相结合的方式,也可以按照更加简单、快速的过程实现处理结果的传输,相应地,也就可以节省传输过程中的通信带宽,从而提高多个子模块之间进行信息传输的效率,进一步可以提高对任务进行处理的效率,降低处理过程中涉及传输时的复杂程度。
下面来具体解释本申请实施例中提供的任务处理方法中各个子模块所进行的具体实施过程。
可选地,数据压缩策略包括切分参数和压缩参数。
其中,通过子模块按照其对应的数据压缩策略对所得到的处理结果进行压缩操作的过程包括:
通过子模块按照其对应的切分参数对处理结果进行分块操作,得到多个特征块数据,以及按照其对应的压缩参数对特征块数据进行降维压缩操作,并对降维压缩操作后得到的特征数据进行量化操作。
需要说明的是,切分参数可以是对处理结果进行分块的参数,以一个处理结果为特征图或者特征矩阵为例,若为三维的特征矩阵,则切分参数所表征的即是具体如何将该三维特征矩阵切分成多个小的矩阵,该切分参数中可以包括切分的位置,每个切分块的大小等,基于该切分参数对处理结果进行切分之后,可以得到对应数量和形状的切分结果,也即是上述特征块数据。
压缩参数可以是具体压缩的倍数,得到多个特征块数据之后,可以对这些特征块数据进行压缩处理,得到对应数量个压缩后的特征块数据,进而可以对压缩之后的数据进行量化操作,得到量化结果。
其中,处理结果可以是该子模块对其输入的数据进行处理后得到的结果,以首个子模块为例,输入的数据可以是上述目标数据,则处理结果即为目标数据的处理结果;以非首个子模块为例,输入的数据可以是前一个子模块输入的压缩后的数据,则处理结果可以是对该压缩后的数据进行解压以及进一步处理后得到的处理结果。
需要说明的是,执行压缩策略之前可以是对处理结果进行中间特征提取,例如,可以对处理结果进行特征提取,得到其对应的中间特征,该中间特征可以是一个H×W×C的三维特征,具体可以在空间中以一个三维特征数据的形状来表示。
而切分参数即为对该H×W×C的三维特征数据的切分方式,压缩参数即为对切分后的每个特征块数据进行压缩的压缩倍数。
可选地,通过子模块按照其对应的切分参数对处理结果进行分块操作,得到多个特征块数据,包括:通过子模块,将处理结果按照其对应的切分参数所指示的形状对处理结果进行切分处理,得到多个特征块。
其中,切分参数具体所指示的内容可以是对该处理结果进行切分的切分点,对这些切分点进行切分之后,可以得到对应的形状。
继续以处理结果为H×W×C的三维特征数据为例,例如:若需要将该子模块切分为两份,则可以确定一个切分面,这个切分面由多个切分点组成,基于这个切分面进行切分之后,可以得到两个特征块数据,相应地,对于需求的形状和数量不同,可以基于不同的切分参数进行切分,从而得到对应的特征块数据。
下面来解释具体实现压缩操作的过程:
可选地,可以将特征块数据转换为向量数据,并且可以对向量数据进行降维压缩处理,具体可以是对向量数据进行如下运算:
首先可以令向量数据减去均值向量,再左乘以压缩矩阵,完成降维压缩。
其中,均值向量可以是在进行压缩处理时,芯片中压缩使用的均值,压缩矩阵可以是一个固定的矩阵,对于不同的特征块数据,其对应的均值向量以及压缩矩阵可以不同。
需要说明的是,特征块数据转换得到的向量数据可以是长度为L的向量,均值向量也可以是长度为L的向量,压缩矩阵可以是大小为L×L’(其中,L’小于L)的矩阵,通过上述降维压缩处理后,可以得到长度为L’的向量,该向量即为降维压缩处理后的向量数据。
可选地,得到降维压缩处理后的向量数据之后,可以对该向量数据进行INT8量化,也即是转换为8位二进制数的量化处理,在实际量化处理时,也可以根据实际需求选择对应的量化方式,上述INT8量化仅为一种示例,在此并不作限制。
具体解压过程可以与压缩过程互逆,可以先对数据进行反量化处理,再对反量化处理得到的结果进行解压,解压后的数据相当于多个特征块数据,进而可以对这些特征块数据进行拼凑,得到解压结果。
其中,反量化的方式与量化方式对应,解压使用的解压参数与上述压缩参数相对应,拼凑使用的参数与上述切分参数相对应,在此不作重复解释。
例如:反量化处理可以将量化处理后的数据缩放回到原本的值域,也即是原本的向量的大小,进而可以进行解压,具体可以是将反量化后的向量右乘压缩矩阵,再加上均值,得到重建向量,对重建向量进行变形后,可以得到结果,该结果也即是相当于上述特征块数据,在得到多个特征块数据之后,可以对这些特征块数据进行对应的拼凑处理,得到最终的解压结果。
下面来具体解释本申请实施例中提供的任务处理方法中各个切分参数以及压缩参数的确定的具体过程。
图3为本申请实施例提供的任务处理方法的另一流程示意图,请参照图3,目标切分策略为通用模型切分算法,其中,每个子模块所对应的切分参数和压缩参数是通过如下过程得到:
S310:按照通用模型切分算法将目标网络切分为多个子模块。
可选地,通用模型切分算法可以是一种神经网络切分方式,例如:可以按照神经网络各个部分的计算量进行对应的切分,从而将神经网络切分为若干部分,每个部分可以作为一个子模块。
其中,目标网络为设置相应数据压缩策略之前的用于执行目标任务的神经网络模型,确定出其对应的切分参数和压缩参数后的目标网络即为上述目标处理模型,切分得到的多个子模块即可以包括图1中所示的首个子模块、至少一个中间子模块以及最后一个子模块。
S320:遍历候选切分参数集合和候选压缩参数集合,针对每个特定子模块,基于遍历到的任一候选切分参数对特定子模块所对应的样本特征数据进行切分操作,得到多个样本特征块。
其中,特定子模块为目标网络中除最后一个子模块外的任意一个子模块。
可选地,候选切分参数集合中可以预先配置有多个候选切分参数,每个候选切分参数均可以实现一种对处理结果的切分,多个候选切分参数可以是基于实际需求所选择的,在此不作具体限制。
可以采用候选切分参数集合中的任一个候选切分参数进行切分,得到多个样本特征块。
S330:由特定子模块对各个样本特征块按照遍历到的任一候选压缩参数进行压缩操作,并将压缩后的各个样本特征块发送给特定子模块的后一个子模块。
其中,候选压缩参数集合中可以包括多个候选压缩参数,每个候选压缩参数实际上指代的是压缩倍数。当然,在对特征数据进行压缩的实际过程中,除了使用压缩倍数之外,还需要使用另外一个压缩参数,也即压缩矩阵,压缩矩阵具体可以是PCA(principalcomponents analysis,主成分分析)矩阵,该PCA矩阵可以是预先设置的固定矩阵,后续也可以在固定切分参数和压缩参数之后,基于训练数据对该PCA矩阵进行微调,以进一步提升任务处理结果的精度。
进而通过该压缩矩阵以及对应的压缩倍数对各个样本特征块进行压缩处理,得到压缩后的各个样本特征块。
S340:由特定子模块的后一个子模块对压缩后的各个样本特征块进行还原操作,并对还原后得到的数据进行相应的处理。
其中,还原操作可以包括:反量化操作、解压操作、拼凑操作等相关操作,用于实现对数据的还原处理。
可选地,解压操作以及拼凑操作即为上述压缩操作和分块操作的逆过程,可以对压缩处理后的子数据进行反操作,也即是解压处理以及拼凑处理,具体可以是对压缩处理后的子数据先做反量化,再乘以压缩矩阵,最后再将解压向量拼凑回原来的位置,并可以对还原后得到的数据进行相应的处理。
S350:基于最后一个子模块每次输出的处理结果,确定满足第一目标条件的目标候选切分参数和目标候选压缩参数,作为特定子模块所对应的切分参数和压缩参数。
其中,第一目标条件基于处理结果的精度所设定,或者,第一目标条件基于处理结果的精度和目标候选压缩参数所设定;每遍历到一个候选切分参数和一个候选压缩参数得到一个处理结果。
需要说明的是,对于上述每一种候选切分参数均可以执行步骤S320-S350的步骤,从而可以得到多个输出的处理结果。
需要说明的是,第一目标条件可以根据实际情况进行设置,例如:可以基于处理结果的精度来进行设置,或者基于处理结果的精度和目标候选压缩参数所设定进行设置。
可选地,可以设置一个精度的损失阈值,当处理结果的精度损失大于或者等于该损失阈值时,则可以舍弃该处理结果,仅保留精度损失小于该损失阈值的处理结果。
其中,精度损失具体指的是该处理结果的精度的损失情况,精度损失越大则精度越低,相应地,精度损失越小则精度越高。
可选地,基于第一目标条件进行目标候选切分参数和目标候选压缩参数的选择时,可以采用以下两种方式中任意一种进行选择:
(1)仅考虑处理结果的精度:
对于该种方式,可以确定候选切分参数集合中的每个候选切分参数对应的处理结果的精度,将其中精度最大时的候选切分参数以及对应的候选压缩参数作为上述目标候选切分参数和目标候选压缩参数。
(2)综合考虑处理结果的精度和目标候选压缩参数:
对于该种方式,可以综合考虑处理结果的精度较大时对应的候选切分参数以及压缩操作的倍数较大时对应的候选压缩参数。
例如:可以设置一压缩参数的最低限制,然后在满足压缩参数最低限制的前提下确定精度较大时对应的候选切分参数,将对应的候选切分参数和候选压缩参数作为上述目标候选切分参数和目标候选压缩参数。
又例如:可以设置一处理结果的精度最低限制,然后在满足精度需求最低限制的前提下确定压缩参数较大时对应的候选压缩参数,将对应的候选压缩参数和候选切分参数作为上述目标候选压缩参数和目标候选切分参数。
可选地,除了上述示例之外,也可以基于处理结果的精度和压缩参数设置一参考评分的计算公式,计算不同切分参数、不同压缩参数对应的评分,选择其中评分最高时的候选切分参数和候选压缩参数作为上述目标候选切分参数和目标候选压缩参数。
需要说明的是,可以采用上述方式依次或者同步确定每一个子模块中所使用的切分参数以及压缩参数,在此不作具体限制。
本申请实施例中提供的任务处理方法中,可以通过上述步骤分别得到切分参数以及压缩参数,在确定这两个参数的过程中,通过遍历候选切分参数集合以及候选压缩参数集合,在数据精度损失范围内,可以更加准确地得到切分参数和压缩参数的具体值,进而可以提高任务处理过程中,对处理结果进行切分以及压缩的效率以及保证数据传输的精度。
下面来具体解释本申请实施例中提供的任务处理方法中实现压缩操作的具体实施过程。
图4为本申请实施例提供的任务处理方法的另一流程示意图,请参照图4,由特定子模块对各个样本特征块按照遍历到的任一候选压缩参数进行压缩操作,并将压缩后的各个样本特征块发送给特定子模块的后一个子模块,包括:
S410:由特定子模块对样本特征块进行投影处理,得到投影后的样本特征数据。
可选地,在实现投影的过程中,可以对每个样本特征块,乘以压缩矩阵进行投影,例如乘以压缩矩阵后加上均值,进而实现投影的过程,得到投影后的样本特征数据,该投影后的样本特征数据可以是一种向量数据。
S420:由特定子模块按照遍历到的任一候选压缩参数所指示的压缩倍数,从投影后的样本特征数据中选择对应数量的投影分量,得到降维处理后的样本特征数据。
可选地,具体可以根据压缩倍数,取前若干个投影分量,例如原始向量长度16,压缩倍数4,则可以取投影后的前4个值,这4个值即可以作为降维处理后的样本特征数据。
S430:由特定子模块对降维处理后的样本特征数据进行量化处理,得到压缩后的各个样本特征块,并将压缩后的各个样本特征块发送给特定子模块的后一个子模块。
可选地,压缩完成后,可以对压缩后的样本特征块进行INT8量化,例如:可以取最小值和最大值后做归一化,放缩到0到255区间内,再进行四舍五入处理。
需要说明的是,该四舍五入处理的误差很小,对于模型影响不大,可以忽略不计。
通过上述方式可以得到压缩后的各个样本特征块,进而可以进行数据的传输,也即是将压缩后的各个样本特征块发送给特定子模块的下一个子模块。
为了更加清楚的对压缩操作所进行的整个过程进行具体解释,下面来解释对于每一个切分后的样本特征块变为压缩后的样本特征块的具体过程。
图5为本申请实施例提供的任务处理方法的另一流程示意图,请参照图5,其中,图5所展示的过程即为由切分后的样本特征块变为压缩后的样本特征块的过程。
对于任一切分后的样本特征块,具体确定该样本特征块对应的向量数据,进而可以通过向量数据与压缩矩阵以及均值向量进行处理,得到降维压缩后的向量数据,进而可以对降维压缩后的向量数据进行量化处理,得到压缩后的样本特征块。
相应地,下面来解释在解压过程中,由压缩后的样本特征块变为待拼凑的样本特征块的具体过程。
图6为本申请实施例提供的任务处理方法的另一流程示意图,请参照图6,其中,图6所展示的过程即为由压缩后的样本特征块变为待拼凑的样本特征块的过程。
图6所展示的过程与上述图5所展示的过程互逆,对于任一压缩后的样本特征块,可以进行反量化处理,进而可以根据反量化处理的结果、压缩矩阵、均值向量,得到待拼凑的样本特征块对应的向量数据。
可以通过上述方式确定出每一个带拼凑的样本特征块之后,对这些样本特征块进行拼凑处理。
下面来具体解释本申请实施例中提供的任务处理方法中确定切分参数以及压缩参数的另一种实施方式。
图7为本申请实施例提供的任务处理方法的另一流程示意图,请参照图7,每个子模块所对应的切分参数和压缩参数是通过如下过程得到:
S710:基于目标网络中各网络子块的计算量,以及各网络子块所输出特征数据的奇异值分布情况,将目标网络切分为多个子模块。
可选地,目标网络中可以包括多个网络子块(block),每个网络子块具有一定的计算量,可以基于目标网络中各网络子块的计算量和各网络子块所输出特征数据的奇异值分布情况,将目标网络切分为多个目标大小的子模块。
需要说明的是,对于不同的子模块,其目标大小可以不同,可以基于实际的使用需求进行对应的子模块的切分,在此不作具体限制。
S720:遍历候选切分参数集合和候选压缩参数集合,针对每个特定子模块,基于遍历到的任一候选切分参数对特定子模块所对应的样本特征数据进行切分操作,得到多个样本特征块,并确定多个样本特征块所对应的奇异值分布情况。
其中,特定子模块为目标处理模型中除最后一个子模块外的任意一个子模块。
可选地,进行子模块的大小调整之后,可以基于候选切分参数集合中的任一候选切分参数对输入特定子模块中的初始样本特征数据进行切分操作,该过程与前述S320步骤中的切分过程相类似,在此不作重复解释。
其中,切分完成后可以得到样本特征块所对应的奇异值分布情况,具体可以是通过对分块进行冗余度分析的方式的得到该奇异值分布情况。
需要说明的是,奇异值分布情况具体指的是各个特征的奇异值分布,例如:可以将子模块中输出的处理结果进行切分,得到多个样本特征块后,确定这些样本特征块的奇异值分布,具体可以是采用矩阵的形式将多个奇异值的点位置来表征为奇异值分布情况。
可选地,奇异值可以是一个用于表征压缩的难易程度的量。
S730:由特定子模块对各个样本特征块按照遍历到的任一候选压缩参数进行压缩操作,并将压缩后的各个样本特征块发送给特定子模块的后一个子模块。
可选地,该过程与S330步骤中的压缩过程相类似,在此不作重复解释。
S740:由特定子模块的后一个子模块对压缩后的各个样本特征块进行还原操作,并对还原后得到的数据进行相应的处理。
可选地,该过程与S340步骤中的解压以及拼凑过程相类似,在此不作重复解释。
S750:基于最后一个子模块每次输出的处理结果,确定满足第二目标条件的目标候选切分参数和目标候选压缩参数,作为特定子模块所对应的切分参数和压缩参数。
其中,第二目标条件包括处理结果的精度大于目标阈值且奇异值分布集中程度最高;每遍历到一个候选切分参数和一个候选压缩参数得到一个处理结果。
可选地,可以设置有一个精度的目标阈值,大于该精度目标阈值的前提下,可以选择奇异值分布集中程度最高时对应的目标候选切分参数和目标候选压缩参数,作为特定子模块所对应的切分参数和压缩参数。
本申请实施例中提供的任务处理方法中,可以通过上述步骤分别得到切分参数以及压缩参数,在确定这两个参数的过程中,通过将其中处理结果的精度大于目标阈值且奇异值分布集中程度最高时所选择的目标候选切分参数作为切分参数,对应的目标候选压缩参数作为压缩参数的方式,可以更加准确地得到切分参数和压缩参数的具体值,进而可以提高任务处理过程中,对处理结果进行切分以及压缩的效率以及保证数据传输的精度。
下面来具体解释本申请实施例中确定子模块的大小的具体过程。
图8为本申请实施例提供的任务处理方法的另一流程示意图,请参照图8,基于目标网络中各网络子块的计算量,以及各网络子块所输出特征数据的奇异值分布情况,将目标网络切分为多个子模块,包括:
S810:按照目标网络中各网络子块的计算量将目标网络均匀切分成多个初始子模块。
可选地,可以按照各网络子块的计算量将目标网络均匀地切分成若干段,从而得到按照计算量均分的多个子模块,这些子模块的大小即为各个子模块的初始大小。
S820:确定各网络子块所输出特征数据的奇异值分布情况。
可选地,对于每个子模块,可以确定其中初始样本特征数据传输后,各网络子块所输出特征数据的奇异值分布情况,其中,初始样本特征数据可以是该子模块中所包括的初始特征,可以通过前向传播样本数据的方式,采样各个初始样本特征数据,具体可以是从这些特征中采样若干固定长度的向量,例如:长度为16的向量,并可以计算SVD(SingularValue Decomposition,奇异值分解),得到各网络子块所输出特征数据的奇异值分布情况。例如,可以以前25%奇异值的占比作为集中程度的评估指标,评估的同时可以考虑该位置的特征张量体积大小。
可以通过上述方法确定出每个子模块中所划分的各网络子块的奇异值分布情况。
S830:基于各网络子块所输出特征数据的奇异值分布情况对初始子模块的大小进行调整,得到多个子模块。
可选地,得到各网络子块所输出特征数据的奇异值分布情况之后,可以进行子模块大小的微调,具体可以是通过微调对子模块进行切分时的切分点的位置,以使得每个子模块其中的特征数据的奇异值分布情况更加集中,当奇异值更加集中时,对应的子模块的冗余度更大,可以更好的对该子模块中的处理结果进行压缩。
需要说明的是,切分点具体可以是用于对目标网络进行切分的位置,通过对多个切分点进行切分之后,可以得到多个子模块。通过上述方式可以调整切分点的位置,从而可以实现对各个子模块的大小的调整,以得到各个目标大小的子模块。
可选地,目标处理模型为目标检测模型,目标任务为目标检测任务,各子模块部署在不同的车载芯片上;其中,目标检测任务包括障碍物检测任务、车位检测任务以及驾驶员疲劳度检测任务中的任意一种。
需要说明的是,本申请实施例中提供的任务处理方法具体可以应用在自动驾驶或者无人驾驶的技术领域,目标检测任务可以是基于自动驾驶汽车(或者无人驾驶汽车)所进行的障碍物检测、车位检测等,若有驾驶员,还可以进行驾驶员疲劳度检测。
在实际实施的过程中,可以将目标处理模型的目标网络划分为多个子模块,每个子模块可以部署在其中的一个车载芯片上,从而实现对应的任务处理。
示例地,以目标检测任务为障碍物检测任务为例,该目标处理模型的输入数据可以是拍摄到的周围环境的图像,部署在各个节点的车载芯片上的子模块可以依次对输入的处理结果执行上述切分、压缩、量化处理等步骤,从而可以完成障碍物检测,最终输出的结果可以是该障碍物提示信息,用于提示该障碍物是否会发生碰撞等。
图9为本申请实施例提供的任务处理装置的结构示意图,请参照图9,该装置通过目标处理模型实现,目标处理模型被按照目标切分策略切分为多个子模块,各子模块分别部署在相应的计算节点上,除最后一个子模块外,每个子模块均对应有数据压缩策略;该装置包括:获取模块910以及处理模块920。
获取模块910,用于获取目标任务所对应的目标数据;
处理模块920,用于将目标数据输入目标处理模型中的首个子模块,通过首个子模块对目标数据进行相应的处理,并按照首个子模块所对应的数据压缩策略对所得到的处理结果进行压缩操作,将压缩操作后的数据传输至下个子模块;
处理模块920,还用于通过每个非首个子模块接收前一子模块发送的压缩操作后的数据,对压缩操作后的数据进行解压缩操作,对解压缩操作后得到的数据进行相应的处理,并按照其对应的压缩策略对所得到的处理结果进行压缩操作;通过最后一个子模块输出目标任务所对应的处理结果。
可选地,数据压缩策略包括切分参数和压缩参数;处理模块920,具体用于通过子模块按照其对应的切分参数对处理结果进行分块操作,得到多个特征块数据,以及按照其对应的压缩参数对特征块数据进行降维压缩操作,并对降维压缩操作后得到的特征数据进行量化操作。
可选地,处理模块920,具体用于通过子模块,将处理结果按照其对应的切分参数所指示的形状对处理结果进行切分处理,得到多个特征块。
可选地,在该装置中,目标切分策略为通用模型切分算法,其中,每个子模块所对应的切分参数和压缩参数是通过如下过程得到:遍历候选切分参数集合和候选压缩参数集合,针对每个特定子模块,基于遍历到的任一候选切分参数对特定子模块所对应的样本特征数据进行切分操作,得到多个样本特征块,特定子模块为目标网络中除最后一个子模块外的任意一个子模块;由特定子模块对各个样本特征块按照遍历到的任一候选压缩参数进行压缩操作,并将压缩后的各个样本特征块发送给特定子模块的后一个子模块;由特定子模块的后一个子模块对压缩后的各个样本特征块进行还原操作,并对还原后得到的数据进行相应的处理;基于最后一个子模块每次输出的处理结果,确定满足第一目标条件的目标候选切分参数和目标候选压缩参数,作为特定子模块所对应的切分参数和压缩参数;其中,第一目标条件基于处理结果的精度所设定,或者,第一目标条件基于处理结果的精度和目标候选压缩参数所设定;每遍历到一个候选切分参数和一个候选压缩参数得到一个处理结果。
可选地,在该装置中,每个子模块所对应的切分参数和压缩参数是通过如下过程得到:
基于目标网络中各网络子块的计算量,以及各网络子块所输出特征数据的奇异值分布情况,将目标网络切分为多个子模块;遍历候选切分参数集合和候选压缩参数集合,针对每个特定子模块,基于遍历到的任一候选切分参数对特定子模块所对应的样本特征数据进行切分操作,得到多个样本特征块,并确定多个样本特征块所对应的奇异值分布情况,特定子模块为目标处理模型中除最后一个子模块外的任意一个子模块;由特定子模块对各个样本特征块按照遍历到的任一候选压缩参数进行压缩操作,并将压缩后的各个样本特征块发送给特定子模块的后一个子模块;由特定子模块的后一个子模块对压缩后的各个样本特征块进行还原操作,并对还原后得到的数据进行相应的处理;基于最后一个子模块每次输出的处理结果,确定满足第二目标条件的目标候选切分参数和目标候选压缩参数,作为特定子模块所对应的切分参数和压缩参数;其中,第二目标条件包括处理结果的精度大于目标阈值且奇异值分布集中程度最高;每遍历到一个候选切分参数和一个候选压缩参数得到一个处理结果。
可选地,处理模块920,还用于按照目标网络中各网络子块的计算量将目标网络均匀切分成多个初始子模块;确定各网络子块所输出特征数据的奇异值分布情况;基于各网络子块所输出特征数据的奇异值分布情况对初始子模块的大小进行调整,得到多个子模块。
可选地,该装置中,目标处理模型为目标检测模型,目标任务为目标检测任务,各子模块部署在不同的车载芯片上;其中,目标检测任务包括障碍物检测任务、车位检测任务以及驾驶员疲劳度检测任务中的任意一种。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图10为本申请实施例提供的电子设备的结构示意图,请参照图10,电子设备包括:存储器930、处理器940,存储器930中存储有可在处理器940上运行的计算机程序,处理器940执行计算机程序时,实现上述任务处理方法的步骤。
可选地,该电子设备例如可以是:车辆控制器或者任意需求领域内的计算机设备等,在此不作具体限制。
本申请实施例的另一方面,还提供一种计算机可读存储介质,存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现上述任务处理方法的步骤。
本申请实施例的另一方面,提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现任务处理方法的步骤。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种任务处理方法,其特征在于,所述方法通过目标处理模型实现,所述目标处理模型被按照目标切分策略切分为多个子模块,各所述子模块分别部署在相应的计算节点上,除最后一个子模块外,每个所述子模块均对应有数据压缩策略;
所述方法包括:
获取目标任务所对应的目标数据;
将所述目标数据输入所述目标处理模型中的首个子模块,通过所述首个子模块对所述目标数据进行相应的处理,并按照所述首个子模块所对应的数据压缩策略对所得到的处理结果进行压缩操作,将压缩操作后的数据传输至下个子模块;
通过每个非首个子模块接收前一子模块发送的压缩操作后的数据,对所述压缩操作后的数据进行解压缩操作,对解压缩操作后得到的数据进行相应的处理,并按照其对应的压缩策略对所得到的处理结果进行压缩操作;
通过最后一个子模块输出所述目标任务所对应的处理结果。
2.如权利要求1所述的任务处理方法,其特征在于,所述数据压缩策略包括切分参数和压缩参数;通过所述子模块按照其对应的数据压缩策略对所得到的处理结果进行压缩操作的过程包括:
通过所述子模块按照其对应的切分参数对所述处理结果进行分块操作,得到多个特征块数据,以及按照其所对应的压缩参数对所述特征块数据进行降维压缩操作,并对降维压缩操作后得到的特征数据进行量化操作。
3.如权利要求2所述的任务处理方法,其特征在于,通过所述子模块按照其对应的切分参数对所述处理结果进行分块操作,得到多个特征块数据,包括:
通过所述子模块,将所述处理结果按照其对应的切分参数所指示的形状对所述处理结果进行切分处理,得到多个特征块。
4.如权利要求2所述的任务处理方法,其特征在于,所述目标切分策略为通用模型切分算法,其中,每个所述子模块所对应的所述切分参数和所述压缩参数通过如下过程得到:
按照所述通用模型切分算法将目标网络切分为多个子模块;
遍历候选切分参数集合和候选压缩参数集合,针对每个特定子模块,基于遍历到的任一候选切分参数对所述特定子模块所对应的样本特征数据进行切分操作,得到多个样本特征块,所述特定子模块为所述目标网络中除最后一个子模块外的任意一个子模块;
由所述特定子模块对各个样本特征块按照遍历到的任一候选压缩参数进行压缩操作,并将压缩后的各个样本特征块发送给所述特定子模块的后一个子模块;
由所述特定子模块的后一个子模块对所述压缩后的各个样本特征块进行还原操作,并对还原后得到的数据进行相应的处理;
基于最后一个子模块每次输出的处理结果,确定满足第一目标条件的目标候选切分参数和目标候选压缩参数,作为所述特定子模块所对应的切分参数和压缩参数;其中,所述第一目标条件基于所述处理结果的精度所设定,或者,所述第一目标条件基于所述处理结果的精度和所述目标候选压缩参数所设定;每遍历到一个候选切分参数和一个候选压缩参数得到一个处理结果。
5.如权利要求2所述的任务处理方法,其特征在于,每个所述子模块所对应的所述切分参数和所述压缩参数通过如下过程得到:
基于目标网络中各网络子块的计算量,以及各网络子块所输出特征数据的奇异值分布情况,将所述目标网络切分为多个子模块;
遍历候选切分参数集合和候选压缩参数集合,针对每个特定子模块,基于遍历到的任一候选切分参数对所述特定子模块所对应的样本特征数据进行切分操作,得到多个样本特征块,并确定所述多个样本特征块所对应的奇异值分布情况,所述特定子模块为所述目标处理模型中除最后一个子模块外的任意一个子模块;
由所述特定子模块对各个样本特征块按照遍历到的任一候选压缩参数进行压缩操作,并将压缩后的各个样本特征块发送给所述特定子模块的后一个子模块;
由所述特定子模块的后一个子模块对所述压缩后的各个样本特征块进行还原操作,并对还原后得到的数据进行相应的处理;
基于最后一个子模块每次输出的处理结果,确定满足第二目标条件的目标候选切分参数和目标候选压缩参数,作为所述特定子模块所对应的切分参数和压缩参数;其中,所述第二目标条件包括所述处理结果的精度大于目标阈值且所述奇异值分布集中程度最高;每遍历到一个候选切分参数和一个候选压缩参数得到一个处理结果。
6.如权利要求5所述的任务处理方法,其特征在于,所述基于目标网络中各网络子块的计算量,以及各网络子块所输出特征数据的奇异值分布情况,将所述目标网络切分为多个子模块,包括:
按照所述目标网络中各网络子块的计算量将所述目标网络均匀切分成多个初始子模块;
确定各网络子块所输出特征数据的奇异值分布情况;
基于各网络子块所输出特征数据的奇异值分布情况对所述初始子模块的大小进行调整,得到多个子模块。
7.如权利要求1-6任一项所述的任务处理方法,其特征在于,所述目标处理模型为目标检测模型,所述目标任务为目标检测任务,各所述子模块部署在不同的车载芯片上;
其中,所述目标检测任务包括障碍物检测任务、车位检测任务以及驾驶员疲劳度检测任务中的任意一种。
8.一种电子设备,其特征在于,包括:存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现权利要求1-7任一项所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现权利要求1-7中任一项所述方法的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310194297.9A CN116382859A (zh) | 2023-02-24 | 2023-02-24 | 任务处理方法、设备、存储介质以及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310194297.9A CN116382859A (zh) | 2023-02-24 | 2023-02-24 | 任务处理方法、设备、存储介质以及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116382859A true CN116382859A (zh) | 2023-07-04 |
Family
ID=86960516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310194297.9A Pending CN116382859A (zh) | 2023-02-24 | 2023-02-24 | 任务处理方法、设备、存储介质以及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116382859A (zh) |
-
2023
- 2023-02-24 CN CN202310194297.9A patent/CN116382859A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112529150B (zh) | 一种模型结构、模型训练方法、图像增强方法及设备 | |
CN114612987A (zh) | 一种表情识别方法及装置 | |
WO2024164694A9 (zh) | 图像压缩方法、装置、电子设备、计算机程序产品及存储介质 | |
EP4283876A1 (en) | Data coding method and related device | |
WO2022028197A1 (zh) | 一种图像处理方法及其设备 | |
CN113807361A (zh) | 神经网络、目标检测方法、神经网络训练方法及相关产品 | |
CN111488810A (zh) | 人脸识别方法、装置、终端设备及计算机可读介质 | |
CN115082306A (zh) | 一种基于蓝图可分离残差网络的图像超分辨率方法 | |
CN113177483B (zh) | 视频目标分割方法、装置、设备以及存储介质 | |
CN114501031B (zh) | 一种压缩编码、解压缩方法以及装置 | |
CN113177466A (zh) | 基于人脸图像的身份识别方法、装置、电子设备及介质 | |
CN117036436A (zh) | 一种基于双编码器-解码器的单目深度估计方法及系统 | |
CN113591838B (zh) | 目标检测方法、装置、电子设备和存储介质 | |
CN116382859A (zh) | 任务处理方法、设备、存储介质以及计算机程序产品 | |
CN116629375A (zh) | 模型处理方法以及系统 | |
CN115631339A (zh) | 视觉特征提取方法、装置及电子设备 | |
CN116091763A (zh) | 苹果叶部病害图像语义分割系统及分割方法、设备和介质 | |
CN115311152A (zh) | 图像处理方法、装置、电子设备以及存储介质 | |
CN114399648A (zh) | 行为识别方法及装置、存储介质及电子设备 | |
JP2022129683A (ja) | 画像符号化装置、画像符号化方法、画像復号化装置、及び画像復号化方法 | |
CN113610856A (zh) | 训练图像分割模型和图像分割的方法和装置 | |
CN113221835A (zh) | 面审视频的场景分类方法、装置、设备及存储介质 | |
CN112580772A (zh) | 卷积神经网络的压缩方法及装置 | |
CN112733585A (zh) | 图像识别方法 | |
CN113554719A (zh) | 一种图像编码方法、解码方法、存储介质及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |