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

多任务的部署方法、装置、电子设备及存储介质与流程

2021-12-15 02:03:00 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,具体涉及大数据和深度学习等人工智能技术领域,尤其涉及一种多任务的部署方法、装置和电子设备及存储介质。


背景技术:

2.近年,深度学习技术由于具有能够降低用户使用复杂度和用户技术理解难度的特性,被快速应用到各个行业的业务场景中。
3.现有深度学习系统一般根据经验,放置一个或多个训练好的深度学习模型。但是什么时候,选择用什么模型运行某个任务,没有经过精确设计。尤其是当复杂的任务波动变化,经验性的给某个任务匹配深度学习模型难以保证实时可调度性。因此如何获取合适的深度学习模型成为了现在需要解决的问题。


技术实现要素:

4.本公开提供了一种用于多任务的部署方法、装置、电子设备及存储介质。
5.根据本公开的第一方面,提供了一种多任务的部署方法,包括:获取n个第一任务和k个网络模型,其中,n和k为大于或者等于1的正整数;将所述n个第一任务轮换地分配到所述k个网络模型上进行运算,以获取任务与网络模型之间的至少一个候选组合,每个所述候选组合中包括所述n个第一任务与所述k个网络模型之间的映射关系;从所述至少一个候选组合中选取组合运算正确率最大的目标组合;将所述k个网络模型和所述目标组合的目标映射关系部署到预测机器上。
6.根据本公开的第二方面,提供了一种多任务的部署装置,包括:获取模块,用于获取n个第一任务和k个网络模型,其中,n和k为大于或者等于1的正整数;运算模块,用于将所述n个第一任务轮换地分配到所述k个网络模型上进行运算,以获取任务与网络模型之间的至少一个候选组合,每个所述候选组合中包括所述n个第一任务与所述k个网络模型之间的映射关系;选取模块,用于从所述至少一个候选组合中选取组合运算正确率最大的目标组合;部署模块,将所述k个网络模型和所述目标组合的目标映射关系部署到预测机器上。
7.根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面实施例所述的多任务的部署方法
8.根据本公开第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其上存储有计算机程序/指令,所述计算机指令用于使所述计算机执行上述第一方面实施例所述的多任务的部署方法。
9.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述第一方面实施例所述的多任务的部署方法。
10.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特
征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
11.附图用于更好地理解本方案,不构成对本公开的限定。其中:
12.图1为本公开实施例提供的一多任务的部署方法的流程示意图;
13.图2为本公开实施例提供的另一多任务的部署方法的流程示意图;
14.图3为本公开实施例提供的另一多任务的部署方法的流程示意图;
15.图4为本公开实施例提供的另一多任务的部署方法的流程示意图;
16.图5为本公开实施例提供的另一多任务的部署方法的流程示意图;
17.图6为本公开实施例提供的另一多任务的部署方法的流程示意图;
18.图7为本公开实施例提供的另一多任务的部署方法的流程示意图;
19.图8为本公开实施例提供的另一多任务的部署方法的流程示意图;
20.图9为本公开实施例提供的另一多任务的部署方法的流程示意图;
21.图10为本公开实施例提供的另一多任务的部署方法的流程示意图;
22.图11为本公开实施例提供的另一多任务的部署方法的流程示意图;
23.图12为本公开实施例提供的另一多任务的部署方法的流程示意图;
24.图13为本公开实施例提供的另一多任务的部署方法的总体流程示意图;
25.图14为本公开实施例提供的一多任务的部署装置的结构示意图;
26.图15为根据本公开实施例的多任务的部署方法的电子设备的框图。
具体实施方式
27.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
28.下面参考附图描述本公开实施例的多任务的部署方法、装置和电子设备。
29.自然语言处理(natural language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。自然语言处理主要应用于机器翻译、舆情监测、自动摘要、观点提取、文本分类、问题回答、文本语义对比、语音识别等方面。
30.深度学习(deep learning,简称dl),是机器学习(machine learning,简称ml)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能。深度学习是学习样本数据的内在律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
31.图1为本公开实施例提供的一种多任务的部署方法的流程示意图。
32.如图1所示,该多任务的部署方法,可包括:
33.s101,获取n个第一任务和k个网络模型,其中,n和k为大于或者等于1的正整数。
34.本公开实施例所提供的任务部署方法,可由电子设备来执行,该电子设备可为pc(personal computer,个人计算机)和服务器等,可选地,该服务器可为云服务器。
35.第一任务可为多种,举例来说,第一任务可为图像检测、图像类型识别和图像切割等。相对应地,网络模型可为图像检测模型、图像类型识别模型和图像切割模型等。需要说明的是,本实施例中所描述的网络模型为提前训练好的,并存储在电子设备的存储空间中,以方便调取使用。
36.在本公开实施例中,获取n个第一任务的方法可为多种。可选地可以采集n个图像,每个图像对应一个第一任务。图像可以为实时采集的,也可以为从图像库中获取到的。可选地,可将n个第一任务输入至电子设备中,该任务可为图像处理任务。
37.s102,将n个第一任务轮换地分配到k个网络模型上进行运算,以获取任务与网络模型之间的至少一个候选组合,每个候选组合中包括n个第一任务与k个网络模型之间的映射关系。
38.在本公开实施例中,可将n个第一任务中分别分配至k个网络模型上进行运算,例如,有10个任务,5个网络模型,任务1和任务2分配到网络模型1上,任务3和任务4分配到网络模型2上,任务5和任务6分配到网络模型3上,任务7和任务8分配到网络模型4上,任务9和任务10分配到网络模型5上。在运算结束后,再将n个第一任务重新分配至k个网络模型上进行运算,例如,任务1和任务9分配到网络模型1上,任务2和任务10分配到网络模型2上,任务3和任务7分配到网络模型3上,任务6和任务8分配到网络模型4上,任务2和任务5分配到网络模型5上。重复上述步骤直至轮换分配结束,输出至少一个候选组合。需要说明的是每次将n个第一任务分配到k个网络模型上所形成的任务

网络模型的组合是不同的,即每次形成组合中任务与网络模型之间的映射关系不同。
39.需要说明的是,该实施例中所描述的映射关系为该n个第一任务与候选组合中的k网络模型之间的对应关系。继续基于上述示例进行说明映射关系,其中该映射关系中包括任务1和任务9与网络模型1的映射,任务2和任务10与网络模型2存的映射,任务3和任务7与网络模型3的映射,任务6和任务8与网络模型4的映射,任务2和任务5与网络模型5的映射。
40.s103,从至少一个候选组合中选取组合运算正确率最大的目标组合。
41.在将n个第一任务轮换地分配到k个网络模型上进行运算后,可生成至少一个候选组合,并可以计算出候选组合的组合运算正确率。可以理解的是,候选组合的最大正确率越大,该候选组合对n个第一任务的计算正确率和效率越高,因此可以将组合运算正确率最大的候选组合确认为目标组合。
42.可选地,当候选组合为一个时,则该候选组合即为目标组合。
43.可选地,当候选组合为多个时,可通过对多个候选组合的组合运算正确率进行比较,选取组合运算正确率最大的候选组合为目标组合。
44.在本公开实施例中,可通过组合运算正确率算法对候选组合进行处理,以生成多个候选组合的组合运算正确率。该算法可为提前设置好的,并存储在电子设备的存储空间中,以便在需要时调取使用。
45.s104,将k个网络模型和目标组合的目标映射关系部署到预测机器上。
46.在本公开实施例中,预测机器为直接进行预测的设备,该设备能够通过部署的网
络模型对任务进行预测,并输出预测结果。
47.预测机器在部署了k个网络模型和目标组合的目标映射关系后,响应于接收到第一任务时,可通过目标映射关系调取k个网络模型中对应的网络模型,并通过对应的网络模型对第一任务进行运算。通过将任务与网络模型进行匹配,以获取到任务

网络模型的最佳组合,由此,可以提高任务处理的时效性和正确率。
48.上述实施例中,将n个第一任务轮换地分配到k个网络模型上进行运算,以获取任务与模型之间的至少一个候选组合,可结合图2进一步解释,如图所示,它包括:
49.s201,每当完成n个第一任务的分配后,获取分配所形成的任务与网络模型之间的备选组合的任务执行所需的消耗时间。
50.在本公开实施例中,不同的第一任务通过不同的网络模型进行处理,所需的消耗时间可为不同。
51.可选地,同一个第一任务通过不同的网络模型进行处理,任务执行所需的消耗时间可为不同。
52.可选地,不同的第一任务通过同一个网络模型进行处理,任务执行所需的消耗时间可为不同。
53.s202,响应于备选组合的消耗时间满足可调度约束参数,确定备选组合为候选组合。
54.在本公开实施例中,当备选组合的消耗时间小于调度约束参数时,则可认为备选组合在可调度范围内,可确定该备选组合为候选组合。
55.需要说明的是,使用不同的调度算法,调度约束参数可为不同。举例来说,当系统使用最早截止时间优先算法(earliest deadline first,edf)调度算法,其系统利用率约束值可为100%,确保其可调度性;当系统使用响应时刻(response time,rm)算法时,其系统利用率约束值可为70%。
56.每当完成n个第一任务的分配后,获取分配所形成的任务与网络模型之间的备选组合的任务执行所需的消耗时间,并响应于备选组合的消耗时间满足可调度约束参数,确定备选组合为候选组合。由此,通过调度约束参数过滤掉备选组合中可调度性差的组合,从而可以减小确定目标组合的范围,提升效率,减小成本,提高可调度性。
57.可选地,响应于备选组合的消耗时间未满足可调度约束参数,丢弃备选组合,并重新获取下一个备选组合。由此,可以历遍备选组合,选出符合可调度约束参数的候选组合,为后续从候选组合中确定目标组合提供基础。
58.上述实施例中,候选组合的生成方法,还可用图3来进一步解释,如图3所示,该方法包括:
59.s301,根据第一任务的数量n和网络模型的数量k,确定总迭代次数。
60.在本公开实施例中,可使用edf调度算法进行设计,当第一任务的数量为n个,网络模型的数量为k个时,总迭代次数为k
n
次。
61.s302,响应于迭代次数大于迭代次数阈值,基于上一个备选组合的组合运算正确率,通过粒子群优化算法pso搜索出下一个备选组合。
62.实现中,当总迭代次数过大时,可能会超出系统的计算能力,如果这时,将n个第一任务轮换地分配到k个网络模型上进行运算,成本很高,因此,可通过粒子群优化算法pso从
k个网络模型中搜索出下一个可使用的模型组合,并通过该模型组合对n个第一任务进行处理。
63.具体地,pso可将所有可能的组合作为粒子,所有粒子构成一个搜索空间,基于上一个备选组合的组合运算正确率,获取每个粒子的适应值,并根据适应值更新曾经到全局最优位置(pbest)和全局极值(gbest),更新例子位置速度,然后通过判断gbest达到最大迭代次数或全局最优位置pbest是否满足最小界限,如果不满足则重新搜索一个例子重复以上步骤。如果满足上述一个条件,pso则将该粒子发送给网络模型进行运算。应该说明的是,该实施例中所描述的最小界限为提前设定好的,并根据可实际需要进行修改。
64.需要说明的是,迭代次数阈值并不唯一,可根据电子设备的计算能力和消耗时间进行设定,此处不做任何限制。
65.在本公开实施例中,首先根据第一任务的数量n和网络模型的数量k,确定总迭代次数,然后响应于迭代次数大于迭代次数阈值,基于上一个备选组合的组合运算正确率,通过粒子群优化算法pso搜索出下一个备选组合。由此,针对一些数据量比较大的情况时,可通过pso算法对备选组合进行过滤,从而减小运算数据量,降低成本。
66.上述实施例中,获取分配所形成的任务与网络模型之间的备选组合的任务执行所需的消耗时间,可通过图4进一步解释,如图4所示,该方法包括:
67.s401,获取备选组合中n个第一任务中每个第一任务在各自分配至的目标网络模型上被执行时的任务最坏情况执行时间wcet。
68.实现中,考虑到每个网络模型计算时间的抖动,第一任务在目标网络模型上处理的时间也不唯一,任务最坏情况执行时间(worst case execution time,wcet)为第一任务在目标模型上执行时的最长时间。
69.在本公开实施例中,可通过wcet生成算法,计算第一任务的wcet。需要说明的是,由于目标网络模型存在计算时间的抖动,wcet的值并非固定,而是在一个固定值之间来回摆动。
70.s402,基于每个第一任务的wcet和任务处理周期,获取备选组合的消耗时间。
71.在本公开实施例中,以基于edf算法进行调度的场景下,可以采用公式(1)获取备选组合的消耗时间,该计算公式(1)可为:
[0072][0073]
其中,为第i个第一任务放到第j个网络模型上运算的wcet,t为任务处理周期。应该说明的是,需要在任务处理周期内执行完所有任务,即k个网络模型需在任务处理周期t内将n个第一任务处理完成。
[0074]
本实施例,首先获取备选组合中n个第一任务中每个第一任务在各自分配至的目标网络模型上被执行时的任务最坏情况执行时间wcet,并基于每个第一任务的wcet和任务处理周期,获取备选组合的消耗时间。由此,通过任务的wcet筛选备选组合,可以缩小备选任务的范围,增加目标组合的精确度。
[0075]
上述实施例中,基于每个第一任务的任务最坏情况执行时间,获取备选组合的消耗时间,可通过图5进一步解释,如图5所示,该方法包括:
[0076]
s501,根据每个第一任务的wcet,获取备选组合的总wcet。
[0077]
可选地,如公式(1)所示,在基于edf算法获取备选组合的消耗时间时,总wcet可表示为
[0078]
可以看出,n越大,即第一任务数量越大,总wcet的值越大。不难理解,第一任务越多,相对应的处理第一任务的时间越长。
[0079]
s502,根据备选组合的总wcet和任务处理周期,获取备选组合的消耗时间。
[0080]
可选地,如公式(1)所示,获取备选组合的总wcet,对每个第一任务的wcet求和,得到备选组合的总wcet。进一步地,将总wcet与任务处理周期做比值,得到备选组合的消耗时间。
[0081]
在本公开实施例中,根据每个第一任务的wcet,获取备选组合的总wcet,然后根据备选组合的总wcet和任务处理周期,获取备选组合的消耗时间。由此,获取备选组合的周期内的消耗时间,进而可以基于该消耗时间判断备选组合是否满足可调度参数,以对备选组合进行筛选。
[0082]
上述实施例中,根据每个任务的wcet,获取备选组合的总wcet,可通过图6进一步解释,如图6所示,该方法包括:
[0083]
s601,针对每个第一任务,获取第一任务对应的目标网络模型的多个历史wcet。
[0084]
可选地,可通过连接数据库,获取第一任务对应的目标网络模型的多个历史wcet,应该说明的是,该数据库中可存储有历史wcet和第一任务的映射关系。该数据库可存储在电子设备的存储空间中,也可位于服务器上。
[0085]
可选地,可通过将第一任务输入至历史wcet生成算法中,以获取多个历史wcet。
[0086]
s602,基于多个历史wcet和当次的wcet,获取第一任务在目标网络模型上的平均wcet。
[0087]
在本公开实施例中,由于每个网络模型计算时间的抖动,多个历史wcet的值可为不同,可通过多个历史wcet和当次的wcet求平均值以获取平均wcet。
[0088]
s603,根据第一任务的平均wcet,获取备选组合的总wcet。
[0089]
在本公开实施例中,可基于edf算法计算总wcet,该计算公式可为
[0090]
在本公开实施例中,首先针对每个第一任务,获取第一任务对应的目标网络模型的多个历史wcet,然后基于多个历史wcet和当次的wcet,获取第一任务在目标网络模型上的平均wcet,最后根据第一任务的平均wcet,获取备选组合的总wcet。由此,可以通过求wcet平均值,减小模型计算时间的抖动对运算结果的影响,增加系统的稳定性。
[0091]
上述实施例中,根据任务的平均wcet,获取备选组合的总wcet,可结合图7进一步解释,如图7所示,该方法包括:
[0092]
s701,获取多个历史wcet和当次的wcet的第一标准差。
[0093]
在本公开实施例中,wcet的第一标准差δ为历史wcet和平均wcet的差值。
[0094]
s702,获取第一任务的平均wcet和第一标准差之间的第一和值。
[0095]
s703,对所有第一任务的第一和值求和,得到备选组合的总wcet。
[0096]
在本公开实施例中,考虑到每个网络模型计算时间的抖动,可以通过wcet的平均值加上其第一标准差δ的三倍时间,这样系统的稳定性更好。
[0097]
可选地,可基于edf算法计算总wcet,该计算公式可为
[0098]
基于上述实施例,首先获取多个历史wcet和当次的wcet的第一标准差,然后获取第一任务的平均wcet和第一标准差之间的第一和值,对所有第一任务的第一和值求和,得到备选组合的总wcet。由此,可以通过平均wcet和第一标准差之间的第一和值,增加系统的稳定性,减小wcet抖动对系统的影响。
[0099]
上述实施例中,根据备选组合的总wcet和任务处理周期,获取备选组合的消耗时间,可结合图8进一步解释,如图8所示,该方法包括:
[0100]
s801,获取多个历史任务处理周期。
[0101]
在本公开实施例中,由于每个网络模型计算时间的抖动,多个历史任务处理周期t的值可为不同。
[0102]
s802,基于多个历史任务处理周期和当次的任务处理周期,获取平均任务处理周期。
[0103]
在本公开实施例中,由于每个网络模型计算时间的抖动,多个历史任务处理周期和当次的任务处理周期可通过求平均值获取。
[0104]
s803,根据备选组合的总wcet和平均任务处理周期,确定备选组合的消耗时间。
[0105]
基于edf算法获取备选组合的消耗时间,该消耗时间可用公式(2)表示:
[0106][0107]
由公式(2)可以看出,相较于公式(1),通过平均任务处理周期可以减小任务处理周期抖动对系统造成的影响,使系统更加平衡,从而获取更加准确的候选组合。
[0108]
上述实施例中,根据备选组合的总wcet和平均任务处理周期,确定备选组合的消耗时间,可结合图9进一步解释,如图9所示,该方法包括:
[0109]
s901,获取多个历史任务处理周期和当次的任务处理周期的第二标准差。
[0110]
在本公开实施例中,第二标准差μ可根据历史任务处理周期和当次的任务处理周期分别与平均任务处理周期求差值获取。
[0111]
s902,获取平均任务处理周期和第二标准差之间的第二和值。
[0112]
在本公开实施例中,由于每个网络模型计算时间的抖动,可以通过将任务处理周期和三倍的第二标准差求和,以生成第二和值。通过这种方式,可以加强系统的稳定性。
[0113]
s903,获取备选组合的总wcet与第二和值的比值,作为备选组合的消耗时间。
[0114]
基于edf算法获取备选组合,该消耗时间可用公式(3)表示:
[0115][0116]
可以看出,相比于公式(2),通过任务处理周期和三倍的第二标准差求和,可以减小任务处理周期波动对系统的影响,使系统更加稳定。
[0117]
上述实施例中,从至少一个候选组合中选取组合运算正确率最大的目标组合之前,可结合图10进一步解释,如图10所示,该方法包括:
[0118]
s1001,针对每个候选组合,获取第一任务在分配至的目标网络模型上的任务组合
运算正确率。
[0119]
可用a
ji
表示第i个任务放到第j个网络上计算得到的任务组合运算正确率。在本公开实施例中,任务组合运算正确率可通过任务组合运算正确率处理算法计算获得。
[0120]
可以理解的是,该任务的任务组合运算正确率值越大,说明该模型处理该任务的结果正确率越大。
[0121]
s1002,根据所有的第一任务的任务组合运算正确率,获取候选组合的组合运算正确率。
[0122]
可选地,可通过公式(4)获取候选组合的组合运算正确率。
[0123][0124]
在本公开实施例中,首先针对每个候选组合,获取第一任务在分配至的目标网络模型上的任务组合运算正确率,然后根据所有的第一任务的任务组合运算正确率,获取候选组合的组合运算正确率。由此,通过获取第一任务分配至每个网络模型的正确率,可以找出第一任务最优的网络模型,并以此从候选组合中确定目标组合。
[0125]
上述实施例中,根据所有任务的任务组合运算正确率,获取候选组合的组合运算正确率,可结合图11进一步解释,如图11所示,该方法包括:
[0126]
s1101,获取每个第一任务的权重。
[0127]
实现中,每个第一任务的权重w各不相同,为了提高系统的稳定性和准确性,需要将第一任务的权重加入至系统中。
[0128]
可选地,每个第一任务的权重w可为提前设定好的,并预存在电子设备的存储空间中,以在需要时调取使用。
[0129]
可选地,可通过连接第一任务权重数据库,通过数据库中的第一任务与权重的映射关系获取第一任务的权重。需要说明的是,该第一任务权重数据库可存储在电子设备的存储空间中,也可位于服务器上。
[0130]
s1102,基于第一任务的权重,对第一任务的任务组合运算正确率进行加权,获取候选组合的组合运算正确率。
[0131]
可选地,可通过公式(5)获取候选组合的组合运算正确率。
[0132][0133]
可以看出,公式(5)与公式(4)相比,加入了第一任务的权重w,第一任务的权重越大,该任务的正确率占比就越大。由此,可以增加数据的重要性,使计算结果更加准确。
[0134]
上述实施例中,将k个网络模型和目标组合的目标映射关系部署到预测机器上之后,可结合图12进一步展示后续步骤,如图12所示,该方法包括:
[0135]
s1201,响应于在目标任务处理周期内接收到一个第二任务,对目标任务周期内待处理的第二任务进行排序。
[0136]
在本公开实施例中,响应于在目标任务处理周期内接收到一个第二任务,可先对该第二任务进行分类,并将第二任务划分至某个类别的任务中。
[0137]
需要说明的是,该类别的任务需要与某个第一任务的类别为同一类别,以保证目标映射关系中有该类别的映射关系。
[0138]
s1202,按序对待处理的第二任务进行目标映射关系的查询,以获取当前查询到的待处理的第二任务对应的目标网络模型。
[0139]
在本公开实施例中,通过第二任务的类别,可以根据目标映射关系获取目标组合中与该类别对应的目标网络模型。
[0140]
s1203,将待处理任务下发至预测机器上的目标网络模型进行处理。
[0141]
在本公开实施例中,首先响应于在目标任务处理周期内接收到一个第二任务,对目标任务周期内待处理的第二任务进行排序,然后按序对待处理的第二任务进行目标映射关系的查询,以获取当前查询到的待处理的第二任务对应的目标网络模型,最后将待处理任务下发至预测机器上的目标网络模型进行处理。由此,可以通过确定任务类别,并根据目标映射关系,获取准备的目标网络模型,这种方法正确率高,可调度性强。
[0142]
在本公开实施例中,图13为多任务的部署方法的总体流程示意图,如图13所示,首先获取n个任务分配到不同的网络模型组合上进行计算,并统计组合运算正确率和组合的消耗时间,判断消耗时间是否满足可调度性,如果满足可调度性,则保留当前任务

网络模型的组合,并继续搜索下一个任务

网络模型的组合,若不满足可调度性,则丢弃该组合,继续搜索,判断k
n
能否遍历搜索,如果能够遍历搜索,则继续迭代总共搜索k
n
次,如果不能遍历搜索,则采用pso等搜索算法,从网络模型组合中获取可使用的网络模型组合,重复上述步骤,直至历遍搜索,最后从上述保留的组合中选择组合运算正确率最大的组合部署到预测机器中。
[0143]
与上述几种实施例提供的多任务的部署方法相对应,本公开的一个实施例还提供了一种多任务的部署装置,由于本公开实施例提供的多任务的部署装置与上述几种实施例提供的多任务的部署方法相对应,因此上述多任务的部署方法的实施方式也适用于本公开实施例提供的多任务的部署装置,在下述实施例中不再详细描述。
[0144]
图14为本公开实施例提供的一种多任务的部署装置的结构示意图。
[0145]
如图14所示,该多任务的部署装置1400可包括:获取模块1401,运算模块1402,选取模块1403,部署模块1404。
[0146]
其中,获取模块1401,用于获取n个第一任务和k个网络模型,其中,n和k为大于或者等于1的正整数。
[0147]
运算模块1402,用于将n个第一任务轮换地分配到k个网络模型上进行运算,以获取任务与网络模型之间的至少一个候选组合,每个候选组合中包括n个第一任务与k个网络模型之间的映射关系;
[0148]
选取模块1403,用于从至少一个候选组合中选取组合运算正确率最大的目标组合。
[0149]
部署模块1404,将k个网络模型和目标组合的目标映射关系部署到预测机器上。
[0150]
在本公开的一个实施例中,运算模块1402还用于:每当完成n个第一任务的分配后,获取分配所形成的任务与网络模型之间的备选组合的任务执行所需的消耗时间;响应于备选组合的消耗时间满足可调度约束参数,确定备选组合为候选组合。
[0151]
在本公开的一个实施例中,运算模块1402还用于:响应于备选组合的消耗时间未满足可调度约束参数,丢弃备选组合,并重新获取下一个备选组合。
[0152]
在本公开的一个实施例中,运算模块1402还用于:根据第一任务的数量n和网络模
型的数量m,确定总迭代次数;响应于迭代次数大于迭代次数阈值,基于上一个备选组合的组合运算正确率,通过粒子群优化算法pso搜索出下一个备选组合。
[0153]
在本公开的一个实施例中,运算模块1402还用于:获取备选组合中n个第一任务中每个第一任务在各自分配至的目标网络模型上被执行时的任务最坏情况执行时间wcet;基于每个第一任务的wcet和任务处理周期,获取备选组合的消耗时间。
[0154]
在本公开的一个实施例中,运算模块1402还用于:根据每个第一任务的wcet,获取备选组合的总wcet;根据备选组合的总wcet和任务处理周期,获取备选组合的消耗时间。
[0155]
在本公开的一个实施例中,运算模块1402还用于:针对每个第一任务,获取第一任务对应的目标网络模型的多个历史wcet;基于多个历史wcet和当次的wcet,获取第一任务在目标网络模型上的平均wcet;根据第一任务的平均wcet,获取备选组合的总wcet。
[0156]
在本公开的一个实施例中,运算模块1402还用于:获取多个历史wcet和当次的wcet的第一标准差;获取第一任务的平均wcet和第一标准差之间的第一和值;对所有第一任务的第一和值求和,得到备选组合的总wcet。
[0157]
在本公开的一个实施例中,运算模块1402还用于:获取多个历史任务处理周期;基于多个历史任务处理周期和当次的任务处理周期,获取平均任务处理周期;根据备选组合的总wcet和平均任务处理周期,确定备选组合的消耗时间。
[0158]
在本公开的一个实施例中,运算模块1402还用于:获取多个历史任务处理周期和当次的任务处理周期的第二标准差;获取平均任务处理周期和第二标准差之间的第二和值;获取备选组合的总wcet与第二和值的比值,作为备选组合的消耗时间。
[0159]
在本公开的一个实施例中,运算模块1402还用于:获取多个历史wcet和当次的wcet的第一标准差;获取第一任务的平均wcet和第一标准差之间的第一和值;对所有第一任务的第一和值求和,得到备选组合的总wcet。
[0160]
在本公开的一个实施例中,运算模块1402还用于:获取多个历史任务处理周期;基于多个历史任务处理周期和当次的任务处理周期,获取平均任务处理周期;根据备选组合的总wcet和平均任务处理周期,确定备选组合的消耗时间。
[0161]
在本公开的一个实施例中,运算模块1402还用:获取多个历史任务处理周期和当次的任务处理周期的第二标准差;获取平均任务处理周期和第二标准差之间的第二和值;获取备选组合的总wcet与第二和值的比值,作为备选组合的消耗时间。
[0162]
在本公开的一个实施例中,其中,从至少一个候选组合中选取组合运算正确率最大的目标组合之前,还包括:针对每个候选组合,获取第一任务在分配至的目标网络模型上的任务组合运算正确率;根据所有的第一任务的任务组合运算正确率,获取候选组合的组合运算正确率。
[0163]
在本公开的一个实施例中,其中,根据所有任务的任务组合运算正确率,获取候选组合的组合运算正确率,包括:获取每个第一任务的权重;基于第一任务的权重,对第一任务的任务组合运算正确率进行加权,获取候选组合的组合运算正确率。
[0164]
在本公开的一个实施例中,其中,将k个网络模型和目标组合的目标映射关系部署到预测机器上之后,还包括:响应于在目标任务处理周期内接收到一个第二任务,对目标任务周期内待处理的第二任务进行排序;按序对待处理的第二任务进行目标映射关系的查询,以获取当前查询到的待处理的第二任务对应的目标网络模型;将待处理任务下发至预
测机器上的目标网络模型进行处理。
[0165]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0166]
图15示出了可以用来实施本公开的实施例的示例电子设备1500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0167]
如图15所示,设备1500包括计算单元1501,其可以根据存储在只读存储器(rom)1502中的计算机程序/指令或者从存储单元1506载到随机访问存储器(ram)1503中的计算机程序/指令,来执行各种适当的动作和处理。在ram 1503中,还可存储设备1500操作所需的各种程序和数据。计算单元1501、rom 1502以及ram 1503通过总线1504彼此相连。输入/输出(i/o)接口1505也连接至总线1504。
[0168]
设备1500中的多个部件连接至i/o接口1505,包括:输入单元1506如键盘、鼠标等;输出单元1507,例如各种类型的显示器、扬声器等;存储单元1508,例如磁盘、光盘等;以及通信单元1509,例如网卡、调制解调器、无线通信收发机等。通信单元1509允许设备1500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0169]
计算单元1501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1501执行上文所描述的各个方法和处理,例如多任务的部署方法。例如,在一些实施例中,多任务的部署方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1506些实施例中,计算机程序/指令的部分或者全部可以经由rom 1502和/或通信单元1509而被载入和/或安装到设备1500上。当计算机程序/指令加载到ram 1503并由计算单元1501执行时,可以执行上文描述的多任务的部署方法的一个或多个步骤。备选地,在其他实施例中,计算单元1501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行多任务的部署方法。
[0170]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序/指令中,该一个或者多个计算机程序/指令可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0171]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0172]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0173]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0174]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
[0175]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序/指令来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0176]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0177]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

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

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

相关文献