计算资源规划方法以及电子设备、存储装置

文档序号:7337 发布日期:2021-09-17 浏览:76次 英文

计算资源规划方法以及电子设备、存储装置

技术领域

本申请涉及信息

技术领域

,特别是涉及一种计算资源规划方法以及电子设备、存储装置。

背景技术

随着电子信息技术的发展,各种不同算法被开发出来,以满足不同应用场景以及不同应用需求。例如,在视频监控领域,诸如交通识别、人脸分析、行为分析等不同算法可以使得监控相机适用于不同场景中。众所周知,算法执行依赖于计算资源,然而目前计算资源要么是静态地分配给算法,要么是随机地分配给算法,难以确保算法的执行效果。有鉴于此,如何提高算法执行效果成为极具研究价值的课题。

发明内容

本申请主要解决的技术问题是提供一种计算资源规划方法以及电子设备、存储装置,能够提高算法执行效果。

为了解决上述问题,本申请第一方面提供了一种计算资源规划方法,包括:获取算法集合在第一周期的第一资源规划方案和实际资源消耗情况;其中,算法集合包括若干种算法,第一资源规划方案包括分别为若干种算法规划的在第一周期内使用计算资源的方案;基于第一资源规划方案、实际资源消耗情况和若干种算法的属性信息,得到算法集合的第二资源规划方案;其中,第二资源规划方案包括分别为若干种算法规划的在第二周期内使用计算资源的方案,且第二周期在第一周期之后。

为了解决上述问题,本申请第二方面提供了一种电子设备,包括相互耦接的存储器和处理器,存储器存储有程序指令,处理器用于执行程序指令以实现上述第一方面中的计算资源规划方法。

为了解决上述问题,本申请第三方面提供了一种存储装置,存储有能够被处理器运行的程序指令,程序指令用于上述第一方面中的计算资源规划方法。

上述方案,获取算法集合在第一周期的第一资源规划方案和实际资源消耗情况,且算法集合包括若干种算法,第一资源规划方案包括分别为若干种算法规划的在第一周期内使用计算资源的方案,在此基础上,再基于第一资源规划方案、实际资源消耗情况和若干种算法的属性信息,得到算法集合的第二资源规划方案,且第二资源规划方案包括分别为若干种算法规划的在第一周期之后的第二周期内使用计算资源的方案,故此能够在各个周期动态地为算法集合内若干算法规划计算资源,从而能够有利于大大提高为算法所规划的计算资源的合理性,有利于提高算法执行效果。

附图说明

图1是本申请计算资源规划方法一实施例的流程示意图;

图2是本申请计算资源规划方法一实施例的状态示意图;

图3是图1中步骤S12一实施例的流程示意图;

图4是获取候选资源规划方案一实施例的状态示意图;

图5是本申请计算资源规划方法另一实施例的流程示意图;

图6是本申请计算资源规划装置一实施例的框架示意图;

图7是本申请电子设备一实施例的框架示意图;

图8是本申请存储装置一实施例的框架示意图。

具体实施方式

下面结合说明书附图,对本申请实施例的方案进行详细说明。

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。

本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。

请参阅图1,图1是本申请计算资源规划方法一实施例的流程示意图。具体而言,可以包括如下步骤:

步骤S11:获取算法集合在第一周期的第一资源规划方案和实际资源消耗情况。

本公开实施例中,算法集合包括若干种算法,第一资源规划方案包括分别为若干种算法规划的在第一周期内使用计算资源的方案。

在一个实施场景中,算法集合中若干种算法可以根据实际应用场景进行设置。例如,在视频监控场景中,若干种算法可以包括但不限于:人流量分析算法、交通识别算法、人脸分析算法、行为分析算法等等,在此不做限定。其他情况可以以此类推,在此不再一一举例。需要说明的是,不同种算法可以满足不同应用需求。仍以前述视频监控场景为例,人流量分析算法可以满足诸如景区、商城、车站等场所对于人流量分析的应用需求;而行为分析算法可以满足诸如园区、小区等场所对于攀高、高空抛物等异常行为分析的应用需求;交通识别算法可以满足诸如卡口、道路等场所对于机动车过车、行驶等行为分析的应用需求,以此类推,在此不再一一举例。

在一个实施场景中,计算资源可以包括但不限于:边缘计算资源、云计算资源、本地计算资源等等,在此不做限定。需要说明的是,云计算资源包括专为支撑算法集合而搭建的服务器等资源,而边缘计算资源包括并非专为支撑算法集合而搭建的服务器所剩余的资源,本地计算资源包括前端设备(如,监控相机)自身的计算资源,例如,前端设备的CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)、内存等等,在此不做限定。

在一个实施场景中,第一周期可以是算法集合所含若干种算法执行完成若干次(如,1次、2次、3次等)所需要的周期时长;或者,第一周期也可以设置为一固定时长(如,1小时、2小时、3小时等),在此不做限定。

在一个实施场景中,如前所述,第一资源规划方案包括分别为若干种算法规划的在第一周期内使用计算资源的方案。具体地,第一资源规划方案可以包括若干种算法在第一周期内的执行先后顺序。以算法集合包括人流量分析算法、交通识别算法、人脸分析算法和行为分析算法为例,第一资源规划方案可以包括:人流量分析算法和交通识别算法并行执行,待人流量分析算法和交通识别算法执行完毕之后,再并行执行人脸分析算法和行为分析算法;或者,第一资源规划方案也可以包括:依次分别执行人流量分析算法、交通识别算法、人脸分析算法和行为分析算法;或者,第一资源规划方案还可以包括:并行执行人流量分析算法、交通识别算法、人脸分析算法和行为分析算法,在此不做限定。此外,第一资源规划方案还可以包括为算法集合中每种算法单位时间(如,秒)预分配的计算资源。仍以算法集合包括人流量分析算法、交通识别算法、人脸分析算法和行为分析算法为例,第一资源规划方案可以包括:为人流量分析算法每秒预分配10%的GPU计算资源、10%的边缘计算资源和10%的云计算资源,为交通识别算法每秒预分配15%的GPU计算资源、20%的边缘计算资源和15%的云计算资源,为人脸分析算法每秒预分配5%的GPU计算资源、15%的边缘计算资源和20%的云计算资源,以及为行为分析算法每秒预分配10%的GPU计算资源、20%的边缘计算资源和5%的云计算资源,在此不做限定。需要说明的是,上述第一资源规划方案的具体举例仅仅为实际应用过程中一种可能情况,并不因此而限定实际应用过程中可能出现的第一资源规划方案。

在一个实施场景中,如前所述,第一资源规划方案还可以包括为算法集合中每种算法单位时间预分配的计算资源,算法集合在第一周期实际执行过程中,算法单位时间内实际消耗的计算资源可能与预分配的计算资源有所偏差,如第一资源规划方案中为人流量分析算法每秒预分配10%的GPU计算资源、10%的边缘计算资源和10%的云计算资源,在对第一周期内人流量分析算法监测可以得到其实际消耗的计算资源包括:每秒实际消耗11%的GPU计算资源、9%的边缘计算资源和12%的云计算资源,其他算法可以以此类推,在此不再一一举例。故此,为了提高计算资源规划的准确性,可以获取算法集合在第一周期的单位时间内实际消耗的计算资源,得到实际资源消耗情况。

在一个具体的实施场景中,如前所述,算法单位时间内实际消耗的计算资源可能与预分配的计算资源有所偏差,若干种算法在实际过程中,可以按照第一资源规划方案所包含的若干种算法在第一周期内的执行先后顺序来进行执行。

在另一个具体的实施场景中,请结合参阅图2,图2是本申请计算资源规划方法一实施例的状态示意图。如图2所示,为了提高实际资源消耗情况的准确性,可以设置算力监控设备,通过算力监控设备一方面可以实时监测不同算法单位时间实际消耗的计算资源,得到第一周期内的实际资源消耗情况,另一方面可以将监测到的实际消耗情况反馈给用于实施本申请计算资源规划方法的电子设备,以供该电子设备基于实际资源消耗情况进行下一周期的计算资源规划。此外,需要说明的是,如前所述,第一资源规划方案可以包括若干种算法在第一周期内的执行先后顺序,故暂不执行的算法可以在算法等待序列中等待。例如,在第一资源规划方案包括:人流量分析算法和交通识别算法并行执行,待人流量分析算法和交通识别算法执行完毕之后,再并行执行人脸分析算法和行为分析算法的情况下,可以先并行执行人流量分析算法和交通识别算法,在此过程中,人脸分析算法和行为分析算法可以在算法等待序列中等待,待人流量分析算法和交通识别算法执行完毕之后,可以从算法等待序列中取出人脸分析算法和行为分析算法,并将两者并行执行。其他情况可以以此类推,在此不再一一举例。

步骤S12:基于第一资源规划方案、实际资源消耗情况和若干种算法的属性信息,得到算法集合的第二资源规划方案。

本公开实施例中,第二资源规划方案包括分别为若干种算法规划的在第二周期内使用计算资源的方案,且第二周期在第一周期之后。

在一个实施场景中,与第一周期类似地,第二周期可以是算法集合所含若干种算法执行完成若干次(如,1次、2次、3次等)所需要的周期时长;或者,第二周期也可以设置为一固定时长(如,1小时、2小时、3小时等),在此不做限定。需要说明的是,为了提高计算资源规划的一致性,第一周期与第二周期的具体含义可以保持一致,如第一周期和第二周期可以均为算法集合所含若干种算法执行完成若干次(如,1次、2次、3次等)所需要的周期时长,或者,第一周期和第二周期可以均为一固定时长(如,1小时、2小时、3小时等),在此不做限定。

在另一个实施场景中,第二周期具体可以是第一周期的后N个周期,如可以将第一周期的后一个周作为第二周期,或者,可以将第一周期之后的第二个周期作为第二周期,或者,可以将第一周期之后的第三个周期作为第二周期,在此不做限定。

在一个实施场景中,与第一资源规划方案类似地,第二资源规划方案可以包括:若干种算法在第二周期内的执行先后顺序,具体可以参阅第一资源规划方案的相关描述,在此不再赘述。此外,第二资源规划方案还可以包括:为算法集合中每种算法单位时间(如,秒)预分配的计算资源,具体可以参阅第一资源规划方案的相关描述,在此不再赘述。

在一个实施场景中,属性信息可以包括但不限于:算法调用频率和算法需求程度。其中,算法调用频率表示算法单位时间被调用的次数,仍以若干种算法包括人流量分析算法、交通识别算法、人脸分析算法和行为分析算法为例,人流量分析算法的算法调用频率可以为30次/秒,交通识别算法的算法调用频率可以为50次/秒,人脸分析算法的算法调用频率可以为10次/秒,行为分析算法的算法调用频率可以为35次/秒,在此不做限定;算法需求程度表示用户对不同算法的需求程度,仍以若干种算法包括人流量分析算法、交通识别算法、人脸分析算法和行为分析算法为例,人流量分析算法的算法需求程度可以为30次/秒“十分需要”,交通识别算法的算法需求程度可以为“十分需要”,人脸分析算法的算法需求程度可以为“需要”,行为分析算法的算法需求程度可以为“略需要”,在此不做限定。此外,为了量化算法需求程度,可以以10表示“十分需要”,以7表示“需要”,以4表示“略需要”,以0表示“不需要”,在此不做限定。

在另一个实施场景中,除算法调用频率和算法需求程度之外,算法的属性信息还可以包括其他算法属性,例如,某一种算法(如,人流量分析算法)在全生命周期内基本上处于低频率调用的状态,但是在一些特殊时节(如,春节)会呈现高频率调用。其他算法属性具体可以根据实际应用需要进行设置,在此不做限定。

在一个实施场景中,为了降低规划计算资源过程的负荷,可以基于第一资源规划方案,得到算法集合在第一周期的规划资源消耗情况,并在实际资源消耗情况与规划资源消耗情况之间的偏差情况满足预设条件的情况下,基于第一资源规划方案和实际资源消耗情况,预测得到算法集合在第二周期的若干候选资源规划方案,并基于若干种算法的属性信息,在若干候选资源规划方案中选择得到第二资源规划方案。具体过程可以参阅下述公开实施例中相关描述,在此暂不赘述。故此,能够免于在实际资源消耗情况与规划资源消耗情况之间的偏差情况不满足预设条件的情况下,再进行计算资源规划,从而能够有利于降低规划计算资源过程的负荷,提高规划计算规划过程的可靠性。

在另一个实施场景中,为了实现全生命周期内动态调整资源规划方案,也可以基于第一资源规划方案,得到算法集合在第一周期的规划资源消耗情况,并不再比较实际资源消耗情况与规划资源消耗情况之间的偏差情况,而是直接基于第一资源规划方案和实际资源消耗情况,预测得到算法集合在第二周期的若干候选资源规划方案,并基于若干种算法的属性信息,在若干候选资源规划方案中选择得到第二资源规划方案。具体过程可以参阅下述公开实施例中相关描述,在此暂不赘述。故此,能够在全生命周期内根据实际情况动态调整资源规划方案,有利于不断提高资源规划方案与实际情况之间的匹配程度,从而能够在整个生命周期内提高算法执行效果。

在一个实施场景中,在得到算法集合的第二资源规划方案之后,可以监测算法集合在第二周期的实际资源消耗情况,并将第二周期作为新的第一周期,将第二周期的第二资源规划方案作为新的第一周期的第一资源规划方案,以重新执行上述步骤S11和步骤S12,从而可以得到后续周期的第二资源规划方案。例如,在得到T1周期的资源规划方案和实际资源消耗情况之后,可以基于此得到T2周期的资源规划方案,并监测T2周期的实际资源消耗情况,再基于T2周期的资源规划方案和实际资源消耗情况,得到T3周期的资源规划方案,如此循环往复,能够根据实际情况动态调整资源规划方案,有利于不断提高资源规划方案与实际情况之间的匹配程度,从而能够在整个生命周期内提高算法执行效果。

上述方案,获取算法集合在第一周期的第一资源规划方案和实际资源消耗情况,且算法集合包括若干种算法,第一资源规划方案包括分别为若干种算法规划的在第一周期内使用计算资源的方案,在此基础上,再基于第一资源规划方案、实际资源消耗情况和若干种算法的属性信息,得到算法集合的第二资源规划方案,且第二资源规划方案包括分别为若干种算法规划的在第一周期之后的第二周期内使用计算资源的方案,故此能够在各个周期动态地为算法集合内若干算法规划计算资源,从而能够有利于大大提高为算法所规划的计算资源的合理性,有利于提高算法执行效果。

请参阅图3,图3是图1中步骤S12一实施例的流程示意图。具体可以包括如下步骤:

步骤S31:基于第一资源规划方案,得到算法集合在第一周期的规划资源消耗情况。

如前述公开实施例所述,第一资源规划方案还可以包括为算法集合中每种算法单位时间(如,秒)预分配的计算资源,故可以基于为算法集合中每种算法单位时间(如,秒)预分配的计算资源,得到算法集合在第一周期的规划资源消耗情况。

在一个实施场景中,实际资源消耗情况包括若干种算法在第一周期的单位时间内实际消耗的计算资源的第一总量,规划资源消耗情况包括若干种算法在第一周期的单位时间内预计消耗的计算资源的第二总量。为了便于描述,仍以算法集合包括人流量分析算法、交通识别算法、人脸分析算法和行为分析算法为例,经统计上述算法在第一周期的单位时间内实际消耗的计算资源的第一总量可以记为S1,上述算法在第一周期的单位时间内预计消耗的计算资源的第二总量可以记为S2,其他情况可以以此类推,在此不再一一举例。

在一个实施场景中,实际资源消耗情况可以包括若干种算法在第一周期的单位时间内实际分别消耗的计算资源的第一总量,规划资源消耗情况可以包括若干种算法在第一周期的单位时间内预计分别消耗的计算资源的第二总量。为了便于描述,仍以算法集合包括人流量分析算法、交通识别算法、人脸分析算法和行为分析算法为例,人流量分析算法在第一周期的单位时间内实际消耗的计算资源的第一总量可以记为交通识别算法在第一周期的单位时间内实际消耗的计算资源的第一总量可以记为人脸分析算法在第一周期的单位时间内实际消耗的计算资源的第一总量可以记为行为分析算法在第一周期的单位时间内实际消耗的计算资源的第一总量可以记为类似地,人流量分析算法在第一周期的单位时间内预计消耗的计算资源的第一总量可以记为交通识别算法在第一周期的单位时间内预计消耗的计算资源的第一总量可以记为人脸分析算法在第一周期的单位时间内预计消耗的计算资源的第一总量可以记为行为分析算法在第一周期的单位时间内预计消耗的计算资源的第一总量可以记为其他情况可以以此类推,在此不再一一举例。

步骤S32:判断实际资源消耗情况与规划资源消耗情况之间的偏差情况是否满足预设条件的情况,若是,则执行步骤S33,否则执行步骤S35。

在一个实施场景中,在实际资源消耗情况包括若干种算法在第一周期的单位时间内实际消耗的计算资源的第一总量,且规划资源消耗情况包括若干种算法在第一周期的单位时间内预计消耗的计算资源的第二总量的情况下,可以计算第一总量与第二总量之间的偏差值在第二总量中的占比(即|S1-S2|/S2),得到偏差情况,相应地,预设条件可以设置为:占比大于预设阈值,预设阈值可以根据实际情况进行设置,例如可以设置为10%至15%,如可以具体设置为10%、11%、12%、13%、14%、15%等等,在此不做限定。

在另一个实施场景中,在实际资源消耗情况可以包括若干种算法在第一周期的单位时间内实际分别消耗的计算资源的第一总量,且规划资源消耗情况可以包括若干种算法在第一周期的单位时间内预计分别消耗的计算资源的第二总量的情况下,可以分别计算每一种算法的第一总量与第二总量之间的偏差值在第二总量中的占比,得到每一种算法的偏差情况,相应地,预设条件可以设置为:任一种算法对应的占比大于预设阈值。预设阈值设置方式具体可以参阅前述描述,在此不再赘述。

由此可见,在偏差情况满足预设条件的情况下,可以认为实际资源消耗情况与规划资源消耗情况之间的偏差较大,故需要在后续周期对资源规划方案进行动态调整,反之,在偏差情况不满足预设条件的情况下,可以认为实际资源消耗情况与规划资源消耗情况之间的偏差在可接受范围内,故在后续周期无需对资源规划方案进行动态调整,可以沿用当前的资源规划方案。

步骤S33:基于第一资源规划方案和实际资源消耗情况,预测得到算法集合在第二周期的若干候选资源规划方案。

具体地,为了提高资源规划的准确性和效率,可以将第一资源规划方案和实际资源消耗情况输入神经网络进行预测,得到若干候选资源规划方案。需要说明的是,与第一资源规划方案、第二资源规划方案类似,候选资源规划方案也可以包括以下至少一种:若干种算法在第二周期内的执行先后顺序,为算法集合中每种算法单位时间(如,秒)预分配的计算资源,具体可以参阅前述公开实施例中相关描述,在此不再赘述。

在一个实施场景中,神经网络可以包括但不限于:LSTM(Long Short-TermMemory,长短期记忆网络)、CNN(Convolutional Neural Network,卷积神经网络)、RNN(Recurrent Neural Network,循环神经网络)等等,在此不做限定。

在另一个实施场景中,为了便于数据处理,神经网络还可以包括卷积层和池化层,上述第一资源规划方案和实际资源消耗情况可以先分别输入卷积层提取数据特征信息,然后经池化层处理,以将提取到的数据特征信息进行降维。此外,为了提高学习率,还可以在输入卷积层之前,先将输入数据归一化至0至1范围内。请结合参阅图4,图4是获取候选资源规划方案一实施例的状态示意图。如图4所示,为了便于描述,降维之后的第一资源规划方案可以记为ht-1,降维之后的实际资源消耗情况可以记为xt,LSTM的状态信息可以记为St-1,在此基础上,可以将上述ht-1、xt和St-1输入LSTM进行预测,通过LSTM的忘记门函数F对降维之后的第一资源规划方案ht-1进行选择性忘记,并将处理结果与状态信息St-1相乘(即图4中∏),并通过LSTM的记忆门函数i将降维之后的实际资源消耗情况可以记为xt进行选择性记忆,并将处理结果与前述相乘结果相加(即图4中∑),并将相加结果导出至下一时刻的状态信息St。在此基础上,导出门函数O通过tanh激活函数对降维之后的第一资源规划方案ht-1进行放缩,计算得到第二周期的若干候选资源规划方案ht

步骤S34:基于若干种算法的属性信息,在若干候选资源规划方案中选择得到第二资源规划方案。

具体地,可以基于若干种算法的属性信息,得到候选资源规划方案的效用情况,且效用情况包括在执行候选资源规划方案的情况下,若干种算法的总效用值,在此基础上,可以基于若干候选资源规划方案的效用情况,选择一个候选资源规划方案作为第二资源规划方案。上述方式,通过基于若干种算法的属性信息,得到候选资源规划方案的效用情况,且效用情况包括在执行候选资源规划方案的情况下,若干种算法的总效用值,并基于若干候选资源规划方案的效用情况,选择一个候选资源规划方案作为第二资源规划方案,即根据每种候选资源规划方案下若干种算法的总效用值来选取得到第二资源规划方案,有利于提高第二资源规划方案的准确性和可靠性。

在一个实施场景中,具体可以选择总效用值最大的候选资源规划方案,作为第二资源规划方案。以N个候选资源规划方案为例,通过比对总效用值,可以得到其中第i个候选资源规划方案的总效用值最大,则可以将第i个候选资源规划方案作为第二周期的第二资源规划方案。其他情况可以以此类推,在此不再一一举例。

在一个实施场景中,如前所述,属性信息具体可以包括算法调用频率和算法需求程度,在此基础上,可以获取算法调用频率对若干种算法请求候选资源规划方案的第一总效用值,并获取算法需求程度对若干种算法请求候选资源规划方案的第二总效用值,从而可以利用算法调用频率对应的第一权值、算法需求程度对应的第二权值分别对第一总效用值、第二总效用值进行加权处理,得到若干种算法在执行候选资源规划方案的情况下的总效用值。上述方式,通过获取算法调用频率对若干种算法请求候选资源规划方案的第一总效用值以及算法需求程度对若干种算法请求候选资源规划方案的第二总效用值,并利用算法调用频率对应的第一权值、算法需求程度对应的第二权值分别对第一总效用值、第二总效用值进行加权处理得到总效用值,能够从算法调用频率和算法需求程度等角度选择出更具场景自适应性以及用户体验性的资源规划方案。

在一个具体的实施场景中,第一总效用值是算法调用频率对若干种算法分别请求候选资源规划方案的归一化效用值之和。仍以算法集合包括人流量分析算法、交通识别算法、人脸分析算法和行为分析算法为例,第一总效用值是算法调用频率对人流量分析算法请求候选资源规划方案的归一化效用值、对交通识别算法请求候选资源规划方案的归一化效用值、对人脸分析算法请求候选资源规划方案的归一化效用值以及对行为分析算法请求候选资源规划方案的归一化效用值之和。其他情况可以以此类推,在此不再一一举例。

在另一个具体的实施场景中,第二总效用值是算法需求程度对若干种算法分别请求候选资源规划方案的归一化效用值之和。仍以算法集合包括人流量分析算法、交通识别算法、人脸分析算法和行为分析算法为例,第二总效用值是算法需求程度对人流量分析算法请求候选资源规划方案的归一化效用值、对交通识别算法请求候选资源规划方案的归一化效用值、对人脸分析算法请求候选资源规划方案的归一化效用值以及对行为分析算法请求候选资源规划方案的归一化效用值之和。其他情况可以以此类推,在此不再一一举例。

在又一个具体的实施场景中,为了进一步提高总效用值的准确性,可以获取若干种算法在执行候选资源规划方案的情况下的总代价值,并利用第一权值、第二权值对第一总效用值、第二总效用值进行加权求和,得到若干算法在执行候选资源规划方案的情况下的第三总效用值,在此基础上,可以将第三总效用值与总代价值之间的差值,作为总效用值。上述方式,通过获取若干种算法在执行候选资源规划方案的情况下的总代价值,并利用第一权值、第二权值对第一总效用值、第二总效用值进行加权求和,得到若干算法在执行候选资源规划方案的情况下的第三总效用值,从而将第三总效用值与总代价值之间的差值,作为总效用值,能够有利于提高总效用值的准确性。

需要说明的是,效用值可以包括算法执行速度和算法执行准确度两方面。具体可以通过算法执行速度和算法执行准确度与算法所需计算资源之间的比值来进行衡量,即算法消耗的计算资源越少,同时算法执行速度越快,算法执行准确度越高,效用值越高;反之,算法消耗的计算资源越多,同时算法执行速度越慢,算法执行准确度越低,效用值越低。与效用值相对地,代价值表示资源规划对算法执行的负面影响,例如,资源规划所包含的算法执行先后顺序,对于算法执行速度和算法执行准确度的影响,如速度减慢了10%,准确度降低了5%等,在此不做限定。

此外,在属性信息包括算法调用频率和算法需求程度的情况下,算法调用频率对应的第一权值和算法需求程度对应的第二权值之和可以为1。具体数值可以根据实际应用情况进行设置,例如,在算法调用频率对总效用值影响较大的情况下,可以将第一权值设置地稍大一些,如可以设置第一权值为0.6,第二权值为04;或者,在算法需求程度对总效用值影响较大的情况下,可以将第二权值设置地稍大一些,如可以设置第一权值为0.4,第二权值为0.6,在此不做限定。

在另一个实施场景中,为了提高属性信息的全面性,属性信息还可以包括除算法调用频率和算法需求程度的其他算法属性,具体可以参阅前述公开实施例中相关描述,在此不再赘述。在此基础上,还可以获取其他算法属性对若干种算法请求候选资源规划方案的第三总效用值,从而可以利用算法调用频率对应的第一权值、算法需求程度对应的第二权值、其他算法属性对应的第三权值分别对第一总效用值、第二总效用值、第三总效用值进行加权处理,得到若干种算法在执行候选资源规划方案的情况下的总效用值。

在一个具体的实施场景中,与第一总效用值和第二总效用值类似地,第三总效用值是其他算法属性对若干种算法分别请求候选资源规划方案的归一化效用值之和。仍以算法集合包括人流量分析算法、交通识别算法、人脸分析算法和行为分析算法为例,第三总效用值是其他算法属性对人流量分析算法请求候选资源规划方案的归一化效用值、对交通识别算法请求候选资源规划方案的归一化效用值、对人脸分析算法请求候选资源规划方案的归一化效用值以及对行为分析算法请求候选资源规划方案的归一化效用值之和。其他情况可以以此类推,在此不再一一举例。

在另一个具体的实施场景中,如前所述,可以获取若干种算法在执行候选资源规划方案的情况下的总代价值,并利用第一权值、第二权值、第三权值分别对第一总效用值、第二总效用值、第三总效用值进行加权求和,得到若干种算法在执行候选资源规划方案的情况下第三总效用值,并将第三总效用值与总代价值之间的差值,作为总效用值。关于代价值的具体含义可以参阅前述相关描述,在此不再赘述。

此外,在属性信息包括算法调用频率、算法需求程度和其他算法属性的情况下,第一权值、第二权值和第三权值之和为1。具体数值可以根据实际应用情况进行设置,例如,在算法调用频率对总效用值的影响较大的情况下,可以将第一权值设置地稍大一些,如可以设置第一权值为0.6,设置第二权值为0.2,并设置第三权值为0.2;或者,在算法需求程度对总效用值的影响较大的情况下,可以将第二权值设置地稍大一些,如可以设置第一权值为0.2,设置第二权值为0.6,设置第三权值为0.2;或者,在其他算法属性对总效用值的影响较大的情况下,可以将第三权值设置地稍大一些,如可以设置第一权值为0.2,设置第二权值为0.2,设置第三权值为0.6,在此不做限定。

为了便于描述,以算法集合共包含N种算法为例,属性信息中的算法调用频率记为k,属性信息中的算法需求程度记为q,属性信息中的其他算法属性记为o,算法调用频率k对第i种算法请求第j个候选资源规划方案的归一化效用值记为算法需求程度q对第i种算法请求第j个候选资源规划方案的归一化效用值记为其他算法属性o对第i种算法请求第j个候选资源规划方案的归一化效用值记为则第j个候选资源规划方案对应的总效用值Fj可以表示为:

上述公式(1)中,Wk表示第一权值,Wq表示第二权值,Wo表示第三权值,表示第一总效用值,表示第二总效用值,表示第三总效用值,∑i∈NEi,j表示总代价值。在第一权值、第二权值和第三权值之和为1的基础上,可以分别判断各个候选资源规划方案是否等于N(即若干种算法的总数),若是则可以认为该候选资源规划方案为若干候选资源规划方案中的最优方案,即可以将其作为第二资源规划方案,若不存在总效用值等于N的候选资源规划方案,则可以将总效用值最大的候选资源规划方案,作为第二资源规划方案。

步骤S35:将第一资源规划方案,作为算法集合在第二周期的第二资源规划方案。

如前所述,在偏差情况不满足预设条件情况下,可以认为实际资源消耗情况与规划资源消耗情况之间的偏差在可接受范围内,故在后续周期无需对资源规划方案进行动态调整,可以沿用当前的资源规划方案(即第一资源规划方案)。

区别于前述实施例,基于第一资源规划方案,得到算法集合在第一周期的规划资源消耗情况,并在实际资源消耗情况与规划资源消耗情况之间的偏差情况满足预设条件的情况下,基于第一资源规划方案和实际资源消耗情况,预测得到算法集合在第二周期的若干候选资源规划方案,在此基础上,基于若干种算法的属性信息,在若干候选资源规划方案中选择得到第二资源规划方案,故此能够在全生命周期内根据实际情况动态调整资源规划方案,有利于不断提高资源规划方案与实际情况之间的匹配程度,从而能够在整个生命周期内提高算法执行效果。

请参阅图5,图5是本申请计算资源规划方法另一实施例的流程示意图。具体而言,可以包括如下步骤:

步骤S501:获取算法集合在第T周期的第一资源规划方案和实际资源消耗情况。

本公开实施例中,算法集合包括若干种算法,第一资源规划方案包括分别为若干种算法规划的在第T周期内使用计算资源的方案。具体可以参阅前述公开实施例中相关描述,在此不再赘述。

步骤S502:将第一资源规划方案和实际资源消耗情况输入神经网络进行预测,得到算法集合在第T+1周期的若干候选资源规划方案Y={X1,X2,…,Xn}。

本公开实施例中,候选资源规划方案包括分别为若干种算法规划的在第T+1周期内使用计算资源的方案。具体可以参阅前述公开实施例中相关描述,在此不再赘述。

步骤S503:基于若干种算法的属性信息,分别得到每一种候选资源规划方案的效用情况。

本公开实施例中,效用情况包括:在执行候选资源规划方案的情况下,若干种算法的总效用值。具体可以参阅前述公开实施例中相关描述,在此不再赘述。

步骤S504:选择总效用值最大的候选资源规划方案,作为第二资源规划方案。

本公开实施例中,第二资源规划方案包括分别为若干种算法规划的在第T+1周期内使用计算资源的方案。具体可以参阅前述公开实施例中相关描述,在此不再赘述。

步骤S505:基于第二资源规划方案,进行算力分配决策。

具体地,可以解析第二资源规划方案,获取若干种算法在第T+1周期的规划资源消耗情况以及若干种算法的执行先后顺序,以便在T+1周期基于解析后的第二资源规划方案执行若干种算法。

步骤S506:基于解析后的第二资源规划方案,在第T+1周期执行若干种算法。

具体可以参阅前述公开实施例中相关描述,在此不再赘述。

步骤S507:判断第T+1周期的规划资源消耗情况与实际资源消耗情况之间的偏差情况是否满足预设条件,若是,则执行步骤S508,否则执行步骤S510。

如前述公开实施例所述,在偏差情况满足预设条件的情况下,可以认为第T+1周期内实际资源消耗情况与规划资源消耗情况之间的偏差较大,故需要在后续第T+2周期对资源规划方案进行动态调整,反之,在偏差情况不满足预设条件的情况下,可以认为第T+1周期内实际资源消耗情况与规划资源消耗情况之间的偏差在可接受范围内,故在后续第T+2周期无需对资源规划方案进行动态调整,可以沿用第T+1周期的资源规划方案。

步骤S508:将T加1。

具体地,将T加1,则此时为第T+2周期。

步骤S509:重新执行步骤S501以及后续步骤。

具体地,由于第T+1周期内实际资源消耗情况与规划资源消耗情况之间的偏差较大,故需要重新执行上述步骤S501以及后续步骤,以在后续第T+2周期对资源规划方案进行动态调整。

步骤S510:将T加1。

具体地,将T加1,则此时为第T+2周期。

步骤S511:重新执行步骤S506。

具体地,由于第T+1周期内实际资源消耗情况与规划资源消耗情况之间的偏差在可接受范围内,故在后续第T+2周期无需对资源规划方案进行动态调整,可以在第T+2周期沿用第T+1周期的资源规划方案。

区别于前述实施例,通过在全生命周期内循环往复,能够根据实际情况动态调整资源规划方案,有利于不断提高资源规划方案与实际情况之间的匹配程度,从而能够在整个生命周期内提高算法执行效果。

请参阅图6,图6是本申请计算资源规划装置60一实施例的框架示意图。计算资源规划装置60包括第一周期信息获取模块61,用于获取算法集合在第一周期的第一资源规划方案和实际资源消耗情况;其中,算法集合包括若干种算法,第一资源规划方案包括分别为若干种算法规划的在第一周期内使用计算资源的方案,计算资源规划装置60包括第二周期方案规划模块62,用于基于第一资源规划方案、实际资源消耗情况和若干种算法的属性信息,得到算法集合的第二资源规划方案;其中,第二资源规划方案包括分别为若干种算法规划的在第二周期内使用计算资源的方案,且第二周期在第一周期之后。

上述方案,获取算法集合在第一周期的第一资源规划方案和实际资源消耗情况,且算法集合包括若干种算法,第一资源规划方案包括分别为若干种算法规划的在第一周期内使用计算资源的方案,在此基础上,再基于第一资源规划方案、实际资源消耗情况和若干种算法的属性信息,得到算法集合的第二资源规划方案,且第二资源规划方案包括分别为若干种算法规划的在第一周期之后的第二周期内使用计算资源的方案,故此能够在各个周期动态地为算法集合内若干算法规划计算资源,从而能够有利于大大提高为算法所规划的计算资源的合理性,有利于提高算法执行效果。

在一些公开实施例中,第二周期方案规划模块62包括规划消耗获取子模块,用于基于第一资源规划方案,得到算法集合在第一周期的规划资源消耗情况,第二周期方案规划模块62包括候选方案预测子模块,用于在实际资源消耗情况与规划资源消耗情况之间的偏差情况满足预设条件的情况下,基于第一资源规划方案和实际资源消耗情况,预测得到算法集合在第二周期的若干候选资源规划方案,第二周期方案规划模块62包括第二周期方案选择子模块,用于基于若干种算法的属性信息,在若干候选资源规划方案中选择得到第二资源规划方案。

区别于前述实施例,基于第一资源规划方案,得到算法集合在第一周期的规划资源消耗情况,并在实际资源消耗情况与规划资源消耗情况之间的偏差情况满足预设条件的情况下,基于第一资源规划方案和实际资源消耗情况,预测得到算法集合在第二周期的若干候选资源规划方案,在此基础上,基于若干种算法的属性信息,在若干候选资源规划方案中选择得到第二资源规划方案,故此能够在全生命周期内根据实际情况动态调整资源规划方案,有利于不断提高资源规划方案与实际情况之间的匹配程度,从而能够在整个生命周期内提高算法执行效果。

在一些公开实施例中,第二周期方案选择子模块包括效用情况获取单元,用于基于若干种算法的属性信息,得到候选资源规划方案的效用情况;其中,效用情况包括:在执行候选资源规划方案的情况下,若干种算法的总效用值,第二周期方案选择子模块包括规划方案选择单元,用于基于若干候选资源规划方案的效用情况,选择一个候选资源规划方案作为第二资源规划方案。

区别于前述实施例,通过基于若干种算法的属性信息,得到候选资源规划方案的效用情况,且效用情况包括在执行候选资源规划方案的情况下,若干种算法的总效用值,并基于若干候选资源规划方案的效用情况,选择一个候选资源规划方案作为第二资源规划方案,即根据每种候选资源规划方案下若干种算法的总效用值来选取得到第二资源规划方案,有利于提高第二资源规划方案的准确性和可靠性。

在一些公开实施例中,算法调用频率和算法需求程度;效用情况获取单元包括第一效用获取子单元,用于获取算法调用频率对若干种算法请求候选资源规划方案的第一总效用值,效用情况获取单元包括第二效用获取子单元,用于获取算法需求程度对若干种算法请求候选资源规划方案的第二总效用值,效用情况获取单元包括总效用值计算子单元,用于利用算法调用频率对应的第一权值、算法需求程度对应的第二权值分别对第一总效用值、第二总效用值进行加权处理,得到若干种算法在执行候选资源规划方案的情况下的总效用值。

区别于前述实施例,通过获取算法调用频率对若干种算法请求候选资源规划方案的第一总效用值以及算法需求程度对若干种算法请求候选资源规划方案的第二总效用值,并利用算法调用频率对应的第一权值、算法需求程度对应的第二权值分别对第一总效用值、第二总效用值进行加权处理得到总效用值,能够从算法调用频率和算法需求程度等角度选择出更具场景自适应性以及用户体验性的资源规划方案。

在一些公开实施例中,效用情况获取单元还包括总代价值获取子单元,用于获取若干种算法在执行候选资源规划方案的情况下的总代价值,总效用值计算子单元具体用于利用第一权值、第二权值对第一总效用值、第二总效用值进行加权求和,得到若干种算法在执行候选资源规划方案的情况下的第三总效用值,并将第三总效用值与总代价值之间的差值,作为总效用值。

区别于前述实施例,通过获取若干种算法在执行候选资源规划方案的情况下的总代价值,并利用第一权值、第二权值对第一总效用值、第二总效用值进行加权求和,得到若干算法在执行候选资源规划方案的情况下的第三总效用值,从而将第三总效用值与总代价值之间的差值,作为总效用值,能够有利于提高总效用值的准确性。

在一些公开实施例中,第一总效用值是算法调用频率对若干种算法分别请求候选资源规划方案的归一化效用值之和;和/或,第二总效用值是算法需求程度对若干种算法分别请求候选资源规划方案的归一化效用值之和;和/或,第一权值和第二权值之和为1

在一些公开实施例中,规划方案选择单元具体用于选择总效用值最大的候选资源规划方案,作为第二资源规划方案。

区别于前述实施例,通过选择总效用值最大的候选资源规划方案,作为第二资源规划方案,能够有利于充分提高若干种算法在第二周期的执行效果。

在一些公开实施例中,候选方案预测子模块具体用于将第一资源规划方案和实际资源消耗情况输入神经网络进行预测,得到若干候选资源规划方案。

区别于前述实施例,通过将第一资源规划方案和实际资源消耗情况输入神经网络进行预测,得到若干候选资源规划方案,能够有利于提高资源规划的准确性和效率。

在一些公开实施例中,第二周期方案规划模块62还包括规划方案更新子模块,用于在偏差情况不满足预设条件的情况下,将第一资源规划方案,作为算法集合在第二周期的第二资源规划方案。

区别于前述实施例,能够免于在实际资源消耗情况与规划资源消耗情况之间的偏差情况不满足预设条件的情况下,再进行计算资源规划,从而能够有利于降低规划计算资源过程的负荷,提高规划计算规划过程的可靠性。

在一些公开实施例中,,实际资源消耗情况包括:若干种算法在第一周期的单位时间内实际消耗的计算资源的第一总量,规划资源消耗情况包括:若干种算法在第一周期的单位时间内预计消耗的计算资源的第二总量,偏差情况包括:第一总量与第二总量之间的偏差值在第二总量中的占比,预设条件包括:占比大于预设阈值。

请参阅图7,图7是本申请电子设备70一实施例的框架示意图。电子设备70包括相互耦接的存储器71和处理器72,存储器71存储有程序指令,处理器72用于执行程序指令以实现上述任一计算资源规划方法实施例中的步骤。

具体而言,处理器72用于控制其自身以及存储器71以实现上述任一计算资源规划方法实施例中的步骤。处理器72还可以称为CPU(Central Processing Unit,中央处理单元)。处理器72可能是一种集成电路芯片,具有信号的处理能力。处理器72还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器72可以由多个集成电路芯片共同实现。

上述方案,能够在各个周期动态地为算法集合内若干算法规划计算资源,从而能够有利于大大提高为算法所规划的计算资源的合理性,有利于提高算法执行效果。

请参阅图8,图8为本申请存储装置80一实施例的框架示意图。存储装置80存储有能够被处理器运行的程序指令801,程序指令801用于实现上述任一计算资源规划方法实施例中的步骤。

上述方案,能够在各个周期动态地为算法集合内若干算法规划计算资源,从而能够有利于大大提高为算法所规划的计算资源的合理性,有利于提高算法执行效果。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:基于禁忌搜索优化算法的全比较数据分发方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!