CN114675863B - 算法配置文件更新方法及相关方法、装置、设备、介质 - Google Patents

算法配置文件更新方法及相关方法、装置、设备、介质 Download PDF

Info

Publication number
CN114675863B
CN114675863B CN202210589379.9A CN202210589379A CN114675863B CN 114675863 B CN114675863 B CN 114675863B CN 202210589379 A CN202210589379 A CN 202210589379A CN 114675863 B CN114675863 B CN 114675863B
Authority
CN
China
Prior art keywords
algorithm
node
configuration file
nodes
target
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.)
Active
Application number
CN202210589379.9A
Other languages
English (en)
Other versions
CN114675863A (zh
Inventor
周祥明
殷海兵
李琦
黄鹏
虞响
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202210589379.9A priority Critical patent/CN114675863B/zh
Publication of CN114675863A publication Critical patent/CN114675863A/zh
Application granted granted Critical
Publication of CN114675863B publication Critical patent/CN114675863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种算法配置文件更新方法及相关方法、装置、设备、介质,其中,算法配置文件更新方法包括:获取原始算法配置文件,并获取与原始算法配置文件关联的数据通道的总数目;其中,原始算法配置文件包括:顺次连接的算法节点;响应于总数目大于预设阈值,对原始算法配置文件中目标节点进行并行扩展,得到若干扩展节点;其中,目标节点不适用于多个数据通道,且扩展节点与数据通道一一对应;基于与目标节点相邻的算法节点,对原始算法配置文件中的至少部分扩展节点进行配置,得到目标算法配置文件,以使基于目标算法配置文件创建的方案实例与数据通道的总数目匹配。上述方案,能够提升资源利用率,并降低外部使用维护成本。

Description

算法配置文件更新方法及相关方法、装置、设备、介质
技术领域
本申请涉及数据处理技术领域,特别是涉及一种算法配置文件更新方法及相关方法、装置、设备、介质。
背景技术
近年来,随着诸如人工智能等基础算法其性能的稳步提升,与此同时,对于智能算法需要支持的数据通道也越趋增多。
传统的集成框架对数据通道的调度方式,一般是为每一路数据通道创建一个方案实例,并在需要智能算法时将各个数据通道的待处理数据送入对应数据通道的方案实例中。然而,传统方式资源利用率低,且外部使用时,还需维护数据通道与方案实例之间的对应关系,无形中增加了外部使用维护成本。特别地,在AI(Artificial Intelligence,人工智能)开放平台为每一路数据通道创建一个方案实例,并由AI开放平台运行方案实例,以处理各数据通道时发现,这种方式的资源利用率极为低下。有鉴于此,如何提升资源利用率,并降低外部使用维护成本,特别是如何提升AI开放平台的资源利用率,并降低外部使用AI开放平台的使用维护成本,成为亟待解决的问题。
发明内容
本申请主要解决的技术问题是提供一种算法配置文件更新方法及相关方法、装置、设备、介质,能够提升资源利用率,并降低外部使用维护成本。
为了解决上述问题,本申请第一方面提供了一种算法配置文件更新方法,包括:获取原始算法配置文件,并获取与原始算法配置文件关联的数据通道的总数目;其中,原始算法配置文件包括:顺次连接的算法节点;响应于总数目大于预设阈值,对原始算法配置文件中目标节点进行并行扩展,得到若干扩展节点;其中,目标节点不适用于多个数据通道,且扩展节点与数据通道一一对应;基于与目标节点相邻的算法节点,对原始算法配置文件中的至少部分扩展节点进行配置,得到目标算法配置文件,以使基于目标算法配置文件创建的方案实例与数据通道的总数目匹配。
为了解决上述问题,本申请第二方面提供了一种数据处理方法,包括:获取目标算法配置文件;其中,目标算法配置文件与数据通道的总数目相匹配,且目标算法配置文件基于上述第一方面中的算法配置文件更新方法对原始算法配置文件更新得到;响应于获取到来自数据通道的待处理数据,基于为目标算法配置文件中各个算法节点分别创建的算法实例,得到方案实例;其中,方案实例独立运行于硬件核,以处理待处理数据。
为了解决上述问题,本申请第三方面提供了一种算法配置文件更新装置,包括获取模块、扩展模块和配置模块,获取模块用于获取原始算法配置文件,并获取与原始算法配置文件关联的数据通道的总数目;其中,原始算法配置文件包括:顺次连接的算法节点;扩展模块用于响应于总数目大于预设阈值,对原始算法配置文件中目标节点进行并行扩展,得到若干扩展节点;其中,目标节点不适用于多个数据通道,且扩展节点与数据通道一一对应;配置模块用于基于与目标节点相邻的算法节点,对原始算法配置文件中的至少部分扩展节点进行配置,得到目标算法配置文件,以使基于目标算法配置文件创建的方案实例与数据通道的总数目匹配。
为了解决上述问题,本申请第四方面提供了一种数据处理装置,包括获取模块和创建模块,获取模块用于获取目标算法配置文件;其中,目标算法配置文件与数据通道的总数目相匹配,且目标算法配置文件基于第三方面中算法配置文件更新装置对原始算法配置文件更新得到;创建模块用于响应于获取到来自数据通道的待处理数据,基于为目标算法配置文件中各个算法节点分别创建的算法实例,得到方案实例;其中,方案实例独立运行于硬件核,以处理待处理数据。
为了解决上述问题,本申请第五方面提供了一种电子设备,包括相互耦接的存储器和处理器,存储器存储有程序指令,处理器用于执行程序指令以实现上述第一方面中的算法配置文件更新方法,或实现上述第二方面中的数据处理方法。
为了解决上述问题,本申请第六方面提供了一种计算机可读存储介质,存储有能够被处理器运行的程序指令,程序指令用于上述第一方面中的算法配置文件更新方法,或实现上述第二方面中的数据处理方法。
上述方案,获取原始算法配置文件,并获取与原始算法配置文件关联的数据通道的总数目,且原始算法配置文件包括:顺次连接的算法节点,响应于总数目大于预设阈值,对原始算法配置文件中目标节点进行并行扩展,得到若干扩展节点,且目标节点不适用于多个数据通道,扩展节点与数据通道一一对应,以及基于与目标节点相邻的算法节点,对原始算法配置文件中的至少部分扩展节点进行配置,得到目标算法配置文件,以使基于目标算法配置文件创建的方案实例与数据通道的总数目匹配。一方面根据数据通道的总数目,自适应地更新原始算法配置文件,而无需人工手动根据总数目进行更新,能够在原始算法配置文件层面降低使用维护成本,另一方面对不适用于多个数据通道的算法节点进行并行扩展,并至少相应配置扩展节点,从而能够使目标算法配置文件即可适用于总数目个数据通道,即后续只需根据目标算法配置文件创建一个方案实例即可满足总数目个数据通道,而无需再为各个数据通道分别创建方案实例,进而能够有利于提升资源利用率,又一方面由于扩展节点与数据通道一一对应,故仅需目标算法配置文件自身记录一一对应的映射关系,即可使目标算法配置文件中各个算法节点自动对应不同数据通道,对于外部使用而言无需再维护数据通道与方案实例之间的对应关系,能够在后续应用层面降低使用维护成本。因此,能够提升资源利用率,并降低外部使用维护成本,特别是在AI开放平台,能够有助于提升AI开放平台的资源利用率,并降低外部使用AI开放平台的使用维护成本。
附图说明
图1是本申请算法配置文件更新方法一实施例的流程示意图;
图2是原始算法配置文件一实施例的示意图;
图3是目标算法配置文件一实施例的示意图;
图4是原始算法配置文件更新过程一实施例的过程示意图;
图5是本申请数据处理方法一实施例的流程示意图;
图6是本申请数据处理方法一实施例的过程示意图;
图7是本申请数据处理方法另一实施例的过程示意图;
图8是本申请数据处理方法一实施例的框架示意图;
图9是传统方式硬件核处理多个数据通道一实施例的框架示意图;
图10是本申请硬件核处理多个数据通道一实施例的框架示意图;
图11是本申请算法配置文件更新装置一实施例的框架示意图;
图12是本申请数据处理装置一实施例的框架示意图;
图13是本申请电子设备一实施例的框架示意图;
图14是本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请算法配置文件更新方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S11:获取原始算法配置文件,并获取与原始算法配置文件关联的数据通道的总数目。
本公开实施例中,原始算法配置文件包括:顺次连接的算法节点。具体地,原始算法配置文件所含算法节点的具体数量在此不做限定,如根据实际应用需要可以设置1个、2个、3个或3个以上。此外,原始算法配置文件中不同算法节点可以实现不同功能,以视频分析场景为例,原始算法配置文件可以配置有顺次连接的两个算法节点,前者用于实现目标检测,后者用于实现目标跟踪,其他场景可以以此类推,在此不再一一举例。当然,原始算法配置文件中也可以含有用于实现相同功能的算法节点。
在一个实施场景中,数据通道可以表示数据来源,则数据通道的总数目可以视为数据来源的总数目。以视频分析场景为例,视频数据可以来源于摄像器件(如,监控相机),则原始算法配置文件所部署场景中摄像器件的总数量,即可以视为数据通道的总数目,如原始算法配置文件应用于某商业街,且该商业街共部署有N个摄像器件,则数据通道的总数目即为N;或者,以音频识别场景为例,音频数据可以来源于拾音设备(如,麦克风),则原始算法配置文件所部署场景中拾音设备的总数量,即可以视为数据通道的总数目,如原始算法配置文件应用于某会议厅,且该会议厅共部署有M个拾音设备,则数据通道的总数目即为M。其他场景可以以此类推,在此不再一一举例。需要说明的是,在现实场景中,可以根据需要,为原始算法配置文件关联数据通道。以视频分析场景为例,基于商业街共部署有N个摄像器件,可以为原始算法配置文件关联N个数据通道;或者,以音频识别场景为例,基于会议厅共部署M个拾音设备,可以为原始算法配置文件关联M个数据通道。其他场景可以以此类推,在此不再一一举例。
在一个实施场景中,原始算法配置文件可以预先定义有各个算法节点的节点属性,且节点属性表征算法节点是否适用于多个数据通道。以视频分析场景为例,原始算法配置文件包括:顺次的两个算法节点,前者用于实现目标检测,后者用于实现目标跟踪,由于前者与数据通道弱相关,即可以同时处理不同数据通道的视频数据,而不会产生混淆,故前者适用于多个数据通道,而后者与数据通道强相关,即只能处理单个数据通道的视频数据,同时输入不同数据通道的视频数据,会对目标跟踪造成干扰,故后者不适用于多个数据通道;或者,以音频识别场景为例,原始算法配置文件包括:顺次连接的两个算法节点,前者用于实现音频降噪,后者用于实现语音识别,由于前者与数据通道弱相关,即可以同时对不同数据通道的音频数据进行降噪处理,而不会产生混淆,故前者适用于多个数据通道,而后者与数据通道强相关,即只能处理单个数据通道的音频数据,同时输入不同数据通道的音频数据,会对语音识别造成干扰,故后者不适用于多个数据通道。其他场景可以以此类推,在此不再一一举例。
在一个实施场景中,原始算法配置文件还可以预先定义有各个算法节点的节点参数,且节点参数包括输入参数、输出参数以及算法参数。需要说明的是,输入参数可以定义有包括但不限于:输入数据的类型、格式等,输出参数可以定义有包括但不限于:输出数据的类型、格式等,算法参数可以定义有包括但不限于:算法节点所采用的算法等,在此不做限定。仍以视频分析场景为例,对于实现目标检测功能的算法节点而言,其输入参数可以定义有输入数据的类型“图像”、格式“480像素*480像素”等,输出参数可以定义有输出数据的类型“数值”、格式“(x,y,w,h,c)”,其中,x,y表示检测出的目标对象的像素位置,w,h表示包围目标对象的图像区域的区域尺寸,c表示目标对象的检测类别,此外,其算法参数可以定义有算法节点所采用的算法,如Faster R-CNN。其他情况可以以此类推,在此不再一一举例。需要说明的是,上述算法节点的具体举例,仅仅是实际应用过程中一种可能的实施方式,并不因此而限定算法节点其节点参数的具体设置。
在一个实施场景中,请结合参阅图2,图2是原始算法配置文件一实施例的示意图。为了便于描述,本公开实施例将以图2所示的原始算法配置文件为例具体展开描述原始算法配置文件的更新过程。如图2所示,原始算法配置文件包含顺次连接的3个算法节点,为了便于区分,从头到尾分别命名为:算法节点1、算法节点2和算法节点3。其中,算法节点1的输入参数为Alg_1_in,算法参数为Alg_1,输出参数为Alg_1_out,且算法节点1的节点属性为适用于多个数据通道;算法节点2的输入参数配置为算法节点1的输出参数Alg_1_out,算法参数为Alg_2,输出参数为Alg_2_out,且算法节点2的节点属性为不适用于多个数据通道;算法节点3的输入参数配置为算法节点2的输出参数Alg_2_out,算法参数为Alg_3,输出参数为Alg_3_out,且算法节点3的节点属性为适用于多个数据通道。需要说明的是,图2所示的原始算法配置文件仅仅为实际应用过程中一种可能的实施方式,并不因此而限定原始算法配置文件的具体设置。
步骤S12:响应于总数目大于预设阈值,对原始算法配置文件中目标节点进行并行扩展,得到若干扩展节点。
本公开实施例中,目标节点不适用于多个数据通道,且扩展节点与数据通道一一对应。
需要说明的是,上述一一对应需满足以下条件:由目标节点并行扩展得到的每个扩展节点均仅对应一个数据通道,且由相同目标节点并行扩展得到的不同扩展节点所对应的数据通道也不同。以应用场景中数据通道的总数目设置为N为例,由目标节点并行扩展得到的若干扩展节点的总数目也可以为N,且N个扩展节点与N个数据通道一一对应。示例性地,由相同目标节点并行扩展得到的N个扩展节点中的第i个扩展节点,可以唯一对应于第i个数据通道,其中,i的取值范围为1至N。当然,上述一一对应的具体设置方式,仅仅为实际应用过程中一种可能的一一对应方式,并不因此而限定由相同目标节点并行扩展得到的扩展节点及其对应的数据通道为相同序号,即扩展节点及其对应的数据通道的序号也可以不同,只要满足上述一一对应的条件即可。
此外,本公开实施例以及下述公开实施中,如无特别说明,“不适用于多个数据通道”表明算法节点仅适用于单个数据通道,如前述用于实现“目标跟踪”的算法节点,由于同时输入多个数据通道会导致跟踪混淆,故用于实现“目标跟踪”的算法节点不适用于多个数据通道。相反地,“适用于多个数据通道”表明算法节点可以适用于任意多个(如,2个、3个以及3个以上)数据通道,如前述用于实现“目标检测”的算法节点,由于同时输入任意数目的数据通道都不会导致检测混淆,故用于实现“目标检测”的算法节点适用于多个数据通道。
在一个实施场景中,为了快速实现并行扩展,可以直接复制目标节点,得到至少一个复制节点,并将目标节点和至少一个复制节点,作为上述若干扩展节点,且若干扩展节点维持原目标节点所处位置不变。
在一个具体的实施场景中,可以将数据通道的总数目与1的差值,作为目标次数,并将目标节点复制目标次数,从而将这些复制节点和目标节点,作为上述若干扩展节点。也就是说,上述若干扩展节点的总个数可以等于数据通道的总数目。
在一个具体的实施场景中,请结合参阅图3,图3是目标算法配置文件一实施例的示意图。具体来说,图3所示的目标算法配置文件是图2中原始算法配置文件更新之后最终的原始算法配置文件。如图3所示,以数据通道的总数目是3为例,如前所述,算法节点2不适用于多个数据通道,故可以将算法节点2作为目标节点,并基于该算法节点进行并行扩展,得到3个扩展点,为了便于区分,可以分别命名为:算法节点2_0、算法节点2_1、算法节点2_2。当然,为了便于区分这些扩展节点,还可以如图3所示,将这些扩展节点的节点参数也区别命名,如可以在目标节点的节点参数原命名之后加上诸如“_0”、“_1”、“_2”等后缀。
在一个实施场景中,预设阈值具体可以根据实际应用需要进行设置。例如,在对资源利用率以及算法效率要求较高的情况下,预设阈值可以设置地尽可能小一些,如可以设置为1,此时只要数据通道的总数目大于1,即需要对原始算法配置文件中目标节点进行并行扩展,从而通过并行扩展原始算法配置文件中不适于多个数据通道的算法节点,使得后续仅需基于更新后的原始算法配置文件创建一个方案实例即可同时处理多个数据通道;或者,在对资源利用率以及算法效率要求相对宽松的情况下,预设阈值也可以设置地稍微大一些,如可以设置为3,此时只有当数据通道的总数目大于3时,才对原始算法配置文件中目标节点进行并行扩展,使得后续在基于更新后的原始算法配置文件创建一个方案实例处理多个数据通道时,若总数目大于1且小于或等于3(如,总数目为2),涉及目标节点处理时,需要等待其当前处理的数据通道处理完毕之后,才能处理下一数据通道,从而在确保资源利用率的前提下(即只需运行一个方案实例即可),对算法效率略有影响(即对于目标节点而言,需要依次处理各个数据通道)。
在一个实施场景中,为了尽可能地提升资源利用率以及算法效率,预设阈值可以直接设置为1,以在确保资源利用率的前提下(即只需运行一个方案实例即可),尽可能地提升算法效率(即对于目标节点而言,只需由其并行扩展得到的各个扩展节点处理对应的数据通道即可)。
在一个实施场景中,在并行扩展之后,可以创建总数目个虚拟通道,且各虚拟通道分别与各数据通道一一对应。需要说明的是,虚拟通道及其对应的数据通道的序号可以相同。仍以数据通道的总数目是3为例,虚拟通道0可以对应于数据通道0,虚拟通道1可以对应于数据通道1,虚拟通道2可以对应于数据通道2。当然,虚拟通道及其对应的数据通道的序号也可以不同,在此不做限定。在此基础上,可以基于扩展节点与数据通道一一对应的映射关系,在目标算法配置文件中记录扩展节点与虚拟通道一一对应的映射关系。需要说明的是,在目标算法配置文件中所记录的一一对应的映射关系,可以在后续基于目标算法配置文件创建方案实例之后,基于该映射关系进行数据处理,具体可以参阅下述数据处理方法实施例中相关描述,在此暂不赘述。请结合参阅图3,在数据通道的总数目为3的情况下,可以在并行扩展得到算法节点2_0、算法节点2_1和算法节点2_2之后,创建3个虚拟通道,为了便于描述,可以分别称之为虚拟通道0、虚拟通道1和虚拟通道2,示例性地,可以将算法节点2_0与虚拟通道0一一对应,将算法节点2_1与虚拟通道1一一对应,并将算法节点2_2与虚拟通道2一一对应;或者,也可以参照前述描述“扩展节点以及对应的数据通道的序号也可以不同”的设置方式,扩展节点以及对应的虚拟通道的序号也可以不同。上述方式,在并行扩展得到若干扩展节点之后,创建总数目个虚拟通道,且各虚拟通道分别与各数据通道一一对应,再基于扩展节点与数据通道一一对应的映射关系,在目标算法配置文件中记录扩展节点与虚拟通道一一对应的映射关系,能够在后续运行由目标算法配置文件创建的方案实例的过程中,无需外部维护对应关系,仅需目标算法配置文件内置的映射关系,即可进行数据处理,有利于进一步降低外部使用维护成本。
步骤S13:基于与目标节点相邻的算法节点,对原始算法配置文件中的至少部分扩展节点进行配置,得到目标算法配置文件,以使基于目标算法配置文件创建的方案实例与数据通道的总数目匹配。
具体而言,可以基于与目标节点相邻的算法节点的节点属性,对原始算法配置文件中的至少部分扩展节点的节点参数进行配置,节点属性和节点参数的具体含义,可以参阅前述相关描述,在此不再赘述。示例性地,与目标节点相邻的算法节点可以为目标节点的第一算法节点,在此情况下,可以基于前一算法节点的输出参数和前一算法节点对多个数据通道的适用性,至少配置扩展节点的输入参数;与目标节点相邻的算法节点也可以为目标节点的后一算法节点,在此情况下,可以基于后一算法节点的输入参数和后一算法节点对多个数据通道的适用性,至少配置扩展节点的输出参数;当然,与目标节点相邻的算法节点也可以为目标节点的前一算法节点和目标节点的后一算法节点,在此情况下,可以基于前一算法节点的输出参数和前一算法节点对多个数据通道的适用性,至少配置扩展节点的输入参数,并基于后一算法节点的输入参数和后一算法节点对多个数据通道的适用性,至少配置扩展节点的输出参数,在此不做限定。需要说明的是,前述“对多个数据通道的适用性”即表示是否适用于多个数据通道,其具体含义可以参阅前述相关描述,在此不再赘述。
在一个实施场景中,可以响应于前一算法节点适用于多个数据通道,在前一算法节点和由目标节点并行扩展得到的若干扩展节点之间插入分发节点。在此基础上,可以将由目标节点并行扩展得到的各扩展节点的输入参数配置为与分发节点的各输出参数一一对应。上述方式,在目标节点前一节点,即前一算法节点适用于多个数据通道的情况下,在前一算法节点和由目标节点并行扩展得到的若干扩展节点之间插入分发节点,再将由目标节点并行扩展得到的各扩展节点的输入参数配置为与分发节点的各输出参数一一对应,故能够直接设置分发节点与扩展节点的参数对应,实现数据分发,一方面能够实现各扩展节点独立处理对应且不同的数据通道,另一方面扩展节点的输入参数沿用分发节点的输出参数,也能够降低节点配置的复杂度。
在一个具体的实施场景中,为了将扩展节点的输入参数配置为与分发节点的输出参数一一对应,可以先将分发节点的各输出参数配置为分别与不同数据通道一一对应,在此基础上,可以将扩展节点的输入参数配置为,分发节点中与扩展节点对应于相同数据通道的输出参数。请结合参阅图3,仍以数据通道的总数目是3个为例,可以将分发节点的输出参数Alg_1_out_0配置为与数据通道0对应,将分发节点的输出参数Alg_1_out_1配置为与数据通道1对应,将分发节点的输出参数Alg_1_out_2配置为与数据通道2对应,在此基础上,可以将扩展节点“算法节点2_0”的输入参数配置为分发节点中对应于数据通道0的输出参数,即Alg_1_out_0,类似地,可以将扩展节点“算法节点2_1”的输入参数配置为分发节点中对应于数据通道1的输出参数Alg_1_out_1,以及将扩展节点“算法节点2_2”的输入参数配置为分发节点中对应于数据通道2的输出参数Alg_1_out_2。其他情况可以以此类推,在此不再一一举例。上述方式,将分发节点的各输出参数配置为分别与不同数据通道一一对应,并将扩展节点的输入参数配置为,分发节点中与扩展节点对应于相同数据通道的输出参数,故能够以节点参数对应的数据通道为媒介,设置扩展节点的输出参数一一对应于分发节点的各输出参数,能够有助于提升配置扩展节点的准确性。
在一个具体的实施场景中,在插入分发节点之后,还可以配置分发节点的输入参数,具体可以将分发节点的输入参数配置为前一算法节点的输出参数。请结合参阅图3,仍以数据通道的总数目是3为例,在插入分发节点之后,可以将其输入参数配置为前一算法节点的输出参数Alg_1_out。其他情况可以以此类推,在此不再一一举例。上述方式,在插入分发节点之后,将分发节点的输入参数配置为前一算法节点的输出参数,一方面能够实现分发节点与前一算法节点之间的数据对接,另一方面通过直接沿用前一算法节点的输出参数,也能够降低配置分发节点的复杂度。
在一个实施场景中,如前所述,与目标节点相邻的算法节点除上述前一算法节点,还有目标节点的后一算法节点。如图2所示,在目标节点为算法节点2时,与其相邻的算法节点包括前一算法节点“算法节点1”和后一算法节点“算法节点3”,其他情况可以以此类推,在此不再一一举例。在此基础上,响应于后一算法节点适用于多个数据通道,可以对后一算法节点的输入参数进行并行扩展,并将各扩展节点的输出参数配置为与后一算法节点扩展后的各输入参数一一对应。与前述扩展节点的输入参数的配置方式类似地,可以在对后一算法节点的输入参数进行并行扩展之后,将扩展之后的各输入参数分别与不同数据通道一一对应,在此基础上,可以将后一算法节点扩展后的输入参数配置为对应于相同数据通道的扩展节点的输出参数。请结合参阅图3,仍以数据通道的总数目是3个为例,可以将后一算法节点“算法节点3”的输入参数“Alg_2_out”并行扩展得到3个输入参数,且第一个输入参数对应于数据通道0,第二个输入参数对应于数据通道1,第三个输入参数对应于数据通道2。在此基础上,可以将第一个输入参数配置为对应于数据通道0的扩展节点(即扩展节点“算法节点2_0”)的输出参数(即“Alg_2_out_0”),并将第二个输入参数配置为对应于数据通道1的扩展节点(即扩展节点“算法节点2_1”)的输出参数(即“Alg_2_out_1”),以及将第三个输入参数配置为对应于数据通道2的扩展节点(即扩展节点“算法节点2_2”)的输出参数(即“Alg_2_out_2”)。其他情况可以以此类推,在此不再一一举例。上述方式,在目标节点的后一算法节点适用于多个数据通道的情况下,对后一算法节点的输入参数进行并行扩展,并将并行扩展节点的输出参数配置为与后一算法节点扩展后的各输入参数一一对应,故能够实现对应于不同数据通道的扩展节点接入到后一算法节点,能够在后续数据处理过程中,有助于区分对应不同数据通道的扩展节点所输出的处理结果。
在一个实施场景中,区别于前述描述,前一算法节点也有可能不适用于多个数据通道。在此情况下,在前一算法节点参照目标节点进行并行扩展之后,由前一算法节点并行扩展得到的若干扩展节点也分别对应于不同数据通道,则可以将由目标节点并行扩展得到的扩展节点的输入参数配置为,由前一算法节点并行扩展得到且对应于相同数据通道的扩展节点的输出参数。请结合参阅图4,图4是原始算法配置文件更新过程一实施例的过程示意图。如图4中左图所示,目标算法配置文件包括算法节点4、算法节点5和算法节点6,图4中上述三个算法节点的节点参数(如,输入参数Alg_4_in、输出参数Alg_4_out、Alg_5_out和Alg_6_out、算法参数Alg_4、Alg_5和Alg_6)的具体含义,可以参阅图3及其相关描述,在此不再赘述。此外,这三个算法节点均不适用于多个数据通道。由于上述三个算法节点均不适用于多个数据通道,因此均需进行并行扩展。对于算法节点4经并行扩展得到3个扩展节点:算法节点4_0、算法节点4_1和算法节点4_2,分别对应于数据通道0、数据通道1和数据通道2;对于算法节点5经并行扩展得到3个扩展节点:算法节点5_0、算法节点5_1和算法节点5_2,分别对应于数据通道0、数据通道1和数据通道2;对于算法节点6经并行扩展得到3个扩展节点:算法节点6_0、算法节点6_1和算法节点6_2,分别对应于数据通道0、数据通道1和数据通道2。则在将算法节点5作为目标节点的情况下,可以将由算法节点5并行扩展得到的扩展节点5_0的输入参数配置为,由其对应的前一算法节点(即算法节点4)并行扩展得到且对应于数据通道0的扩展节点(即算法节点4_0)的输出参数(即Alg_4_out_0);类似地,可以将由算法节点5并行扩展得到的扩展节点5_1的输入参数配置为,由其对应的前一算法节点(即算法节点4)并行扩展得到且对应于数据通道1的扩展节点(即算法节点4_1)的输出参数(即Alg_4_out_1),以及将由算法节点5并行扩展得到的扩展节点5_2的输入参数配置为,由其对应的前一算法节点(即算法节点4)并行扩展得到且对应于数据通道2的扩展节点(即算法节点4_2)的输出参数(即Alg_4_out_2)。其他情况可以以此类推,在此不再一一举例。上述方式,响应于前一算法节点不适用于多个数据通道,将由目标节点并行扩展得到的扩展节点的输入参数配置为,由前一算法节点并行扩展得到且对应于相同数据通道的扩展节点的输出参数,故能够在目标节点的前一算法节点也不适用于多个数据通道的情况下,通过对前一算法节点也进行并行扩展,并根据对应的数据通道进行参数对应,从而有助于后续数据处理过程中区分对应不同数据通道的扩展节点所输出的处理结果。
在一个实施场景中,区别于前述描述,后一算法节点也有可能不适用于多个数据通道。在此情况下,在后一算法节点参照目标节点进行并行扩展之后,由后一算法节点并行扩展得到的若干扩展节点也分别对应于不同数据通道,则可以将由后一算法节点并行扩展得到的扩展节点的输入参数配置为,由目标节点并行扩展得到且对应于相同数据通道的扩展节点的输出参数。请结合参阅图4,在将算法节点5作为目标节点的情况下,后一算法节点为算法节点6,可以将由算法节点6并行扩展得到的扩展节点6_0的输入参数配置为,由目标节点(即算法节点5)并行扩展得到且对应于数据通道0的扩展节点(即算法节点5_0)的输出参数(即Alg_5_out_0);类似地,可以将由算法节点6并行扩展得到的扩展节点6_1的输入参数配置为,由目标节点(即算法节点5)并行扩展得到且对应于数据通道1的扩展节点(即算法节点5_1)的输出参数(即Alg_5_out_1),以及将由算法节点6并行扩展得到的扩展节点6_2的输入参数配置为,由目标节点(即算法节点5)并行扩展得到且对应于数据通道2的扩展节点(即算法节点5_2)的输出参数(即Alg_5_out_2)。其他情况可以以此类推,在此不再一一举例。上述方式,响应于后一算法节点不适用于多个数据通道,将由后一算法节点并行扩展得到的扩展节点的输入参数配置为,由目标节点并行扩展得到且对应于相同数据通道的扩展节点的输出参数,故能够在目标节点的后一算法节点也不适用于多个数据通道的情况下,通过对后一算法节点也进行并行扩展,并根据对应的数据通道进行参数对应,从而有助于后续数据处理过程中区分对应不同数据通道的扩展节点所输出的处理结果。
在一个实施场景中,参照前述相关描述,在将原始算法配置文件中不适用于多个数据通道的算法节点进行并行扩展,并进一步基于与各个不适用于多个数据通道的目标节点相邻的算法节点的节点属性,对原始算法配置文件中的至少部分扩展节点进行配置,即将当前更新完毕的原始算法配置文件,作为目标算法配置文件,以使基于目标算法配置文件创建的方案实例与数据通道的总数目匹配。
在一个实施场景中,本公开实施例可以由AI开放平台执行,需要说明的是,AI开放平台可以供AI工程师开发并部署AI算法,如在视频分析场景中,AI工程师可以在AI开放平台开发并部署诸如目标检测、目标跟踪等AI算法,其他场景可以以此类推,在此不再一一举例。在此基础上,AI开放平台在获取到原始算法配置文件以及与原始算法配置文件关联的数据通道的总数目之后,即可基于本公开实施例中步骤对原始算法配置文件进行自适应更新,得到目标算法配置文件,以使基于目标算法配置文件所创建的方案实例与数据通道的总数目匹配,从而AI开放平台仅需运行一个方案实例即可。
上述方案,一方面根据数据通道的总数目,自适应地更新原始算法配置文件,而无需人工手动根据总数目进行更新,能够在原始算法配置文件层面降低使用维护成本,另一方面对不适用于多个数据通道的算法节点进行并行扩展,并至少相应配置扩展节点,从而能够使目标算法配置文件即可适用于总数目个数据通道,即后续只需根据目标算法配置文件创建一个方案实例即可满足总数目个数据通道,而无需再为各个数据通道分别创建方案实例,进而能够有利于提升资源利用率,又一方面由于扩展节点与数据通道一一对应,故仅需目标算法配置文件自身记录一一对应的映射关系,即可使目标算法配置文件中各个算法节点自动对应不同数据通道,对于外部使用而言无需再维护数据通道与方案实例之间的对应关系,能够在后续应用层面降低使用维护成本。因此,能够提升资源利用率,并降低外部使用维护成本,特别是在AI开放平台,能够有助于提升AI开放平台的资源利用率,并降低外部使用AI开放平台的使用维护成本。
请参阅图5,图5是本申请数据处理方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S51:获取目标算法配置文件。
本公开实施例中,目标算法配置文件与数据通道的总数目相匹配,且目标算法配置文件基于前述任一算法配置文件更新方法实施例中步骤对原始算法配置文件更新得到,具体可以参阅前述公开实施例,在此不再赘述。此外,与前述公开实施例类似地,本公开实施例也可以由AI开放平台执行,AI开放平台的具体含义,可以参阅前述公开实施例中相关描述,在此不再赘述。
步骤S52:响应于获取到来自数据通道的待处理数据,基于为目标算法配置文件中各个算法节点分别创建的算法实例,得到方案实例。
本公开实施例中,方案实例独立运行于硬件核,以处理待处理数据。在获取到来自数据通道的待处理数据之后,可以为目标算法配置文件中各算法节点分别创建算法实例,需要说明的是,在创建算法实例时,算法实例的相关参数可以依据算法节点的节点参数进行设置,如可以直接将节点参数的输入参数作为算法实例的输入参数,并直接将节点参数的输出参数作为算法实例的输出参数,以及根据节点参数的算法参数配置算法实例的算法流程,故基于算法实例所得到的方案实例,仍然能够维持目标算法配置文件中算法节点之间的参数对应关系。
在一个实施场景中,如前述公开实施例所述,目标算法配置文件还记录有不适用于多个数据通道的算法节点与虚拟通道一一对应的映射关系,则在基于算法实例得到方案实例之前,可以先将各个虚拟通道分别绑定不同的数据通道,得到绑定关系。请结合参阅图2和图3,仍以数据通道的总数目是3个为例,如前述公开实施例,算法节点2不适用于多个数据通道,其并行扩展得到算法节点2_0,算法节点2_1和算法节点2_2,且算法节点2_0对应于虚拟通道0,算法节点2_1对应于虚拟通道1,且算法节点2_2对应于虚拟通道2,在此基础上,可以先将上述3个虚拟通道分别绑定不同的数据通道。示例性地,可以将虚拟通道0绑定数据通道0,并将虚拟通道1绑定数据通道1,以及将虚拟通道2绑定数据通道2。其他情况可以以此类推,在此不再一一举例。故在数据处理过程中,可以响应于算法实例不适用于多个数据通道,基于映射关系和绑定关系,确定由算法实例处理的数据通道。需要说明的是,若目标算法配置文件中算法节点不适用于多个数据通道,则基于该算法节点创建的算法实例也不适用于多个数据通道。请结合参阅图6,图6是本申请数据处理方法一实施例的过程示意图。如图6所示,请继续结合参阅图2和图3,仍以数据通道的总数目是3个为例,基于算法实例2_1所创建的算法实例不适用于多个数据通道,则可以基于前述映射关系和绑定关系,确定该算法实例处理的数据通道为“数据通道1”,也就是说,在数据过程中,只需将由数据通道1所产生的数据流输入算法实例2_1进行处理即可。其他情况可以以此类推,在此不再一一举例。也就是说,方案实例可以视为基于为目标算法配置文件中各算法节点分别创建的算法实例得到,且在运行方案实例以进行数据处理过程中,映射关系可以用于确定各算法实例分别负责处理的数据通道,具体来说,映射关系和绑定关系共同确定各算法实例分别负责的数据通道。由此可见,当本公开实施例由AI开放平台执行时,AI开放平台仅需运行一个方案实例即可,且由于AI开放平台内部已维护前述映射关系和绑定关系,故能够有助于提升AI开放平台的资源利用率,并降低外部使用AI开放平台的使用维护成本。上述方式,目标算法配置文件还记录有不适于多个数据通道的算法节点并行扩展得到的扩展节点与虚拟通道一一对应的映射关系,在基于算法节点创建的算法实例,得到方案实例之前,先将各个虚拟通道分别绑定不同的数据通道,得到绑定关系,基于此响应于算法实例不适用于多个数据通道,基于映射关系和绑定关系,确定由算法实例处理的数据通道,能够在数据过程中准确地确定各算法实例所需处理的数据通道,有助于提升数据处理的准确性。
在一个实施场景中,与算法实例不适用于多个数据通道不同的是,若算法实例适用于多个数据通道,则可以直接将多个数据通道的数据流输入算法实例处理即可。
在一个实施场景中,请结合参阅图7,图7是数据处理方法另一实施例的过程示意图。如图7所示,在加载原始算法配置文件之后,可以先判断数据通道的总数目是否大于预设阈值,并在判断为否的情况下,维持原始算法配置文件不变,而在判断为是的情况下,对原始算法配置文件中不支持多个数据通道的算法节点进行并行扩展,并继续更新得到目标算法配置文件,具体过程可以参阅前述公开实施例,在此不再赘述。在此基础上,在数据通道送入数据之后,即可创建各算法节点的算法实例,并基于目标算法配置文件中各算法节点分别创建的算法实例,得到方案实例,以及在运行方案实例的过程中,由前述绑定关系和映射关系,确定各算法实例所处理的数据通道。
在一个实施场景中,请参阅图8,图8是本申请数据处理方法一实施例的框架示意图。具体而言,图8是图3所示目标算法配置文件所创建得到的方案实例,如图8所示,对于多个数据通道的情况而言,通过本申请公开实施例仅需创建一个方案实例即可处理多个数据通道,而无需为各个数据通道分别创建方案实例。请结合参阅图9和图10,图9是传统方式硬件核处理多个数据通道一实施例的框架示意图,图10是本申请硬件核处理多个数据通道一实施例的框架示意图。如图9所示,传统方式,由于硬件核同时只能运行一个方案实例,而不同数据通道又分别由不同方案实例处理,故硬件核同时只能处理一个数据通道,其他数据通道需要等待硬件核处理完成当前数据通道之后,才能继续处理,故资源重复利用率低下,算法效率也较低。如图10所示,由于本申请实施例对多个数据通道仅需创建一个方案实例,故硬件核能够同时处理多个数据通道,故资源利用率高,且算法效率也较高。
上述方案,一方面根据数据通道的总数目,自适应地更新原始算法配置文件,而无需人工手动根据总数目进行更新,能够在原始算法配置文件层面降低使用维护成本,另一方面对不适用于多个数据通道的算法节点进行并行扩展,并至少相应配置扩展节点,从而能够使目标算法配置文件即可适用于总数目个数据通道,即后续只需根据目标算法配置文件创建一个方案实例即可满足总数目个数据通道,而无需再为各个数据通道分别创建方案实例,进而能够有利于提升资源利用率,又一方面由于扩展节点与数据通道一一对应,故仅需目标算法配置文件自身记录一一对应的映射关系,即可使目标算法配置文件中各个算法节点自动对应不同数据通道,对于外部使用而言无需再维护数据通道与方案实例之间的对应关系,能够在后续应用层面降低使用维护成本。因此,能够提升资源利用率,并降低外部使用维护成本,特别是在AI开放平台,能够有助于提升AI开放平台的资源利用率,并降低外部使用AI开放平台的使用维护成本。
请参阅图11,图11是本申请算法配置文件更新装置1100一实施例的框架示意图。算法配置文件更新装置1100包括:获取模块1101、扩展模块1102和配置模块1103,获取模块1101用于获取原始算法配置文件,并获取与原始算法配置文件关联的数据通道的总数目;其中,原始算法配置文件包括:顺次连接的算法节点;扩展模块1102用于响应于总数目大于预设阈值,对原始算法配置文件中目标节点进行并行扩展,得到若干扩展节点;其中,目标节点不适用于多个数据通道,且扩展节点与数据通道一一对应;配置模块1103用于基于与目标节点相邻的算法节点,对原始算法配置文件中的至少部分扩展节点进行配置,得到目标算法配置文件,以使基于目标算法配置文件创建的方案实例与数据通道的总数目匹配。
上述方案,一方面根据数据通道的总数目,自适应地更新原始算法配置文件,而无需人工手动根据总数目进行更新,能够在原始算法配置文件层面降低使用维护成本,另一方面对不适用于多个数据通道的算法节点进行并行扩展,并至少相应配置扩展节点,从而能够使目标算法配置文件即可适用于总数目个数据通道,即后续只需根据目标算法配置文件创建一个方案实例即可满足总数目个数据通道,而无需再为各个数据通道分别创建方案实例,进而能够有利于提升资源利用率,又一方面由于扩展节点与数据通道一一对应,故仅需目标算法配置文件自身记录一一对应的映射关系,即可使目标算法配置文件中各个算法节点自动对应不同数据通道,对于外部使用而言无需再维护数据通道与方案实例之间的对应关系,能够在后续应用层面降低使用维护成本。因此,能够提升资源利用率,并降低外部使用维护成本,特别是在AI开放平台,能够有助于提升AI开放平台的资源利用率,并降低外部使用AI开放平台的使用维护成本。
在一些公开实施例中,与目标节点相邻的算法节点为目标节点的前一算法节点和/或目标节点的后一算法节点,配置模块1103具体用于基于前一算法节点的输出参数和前一算法节点对多个数据通道的适用性,至少配置扩展节点的输入参数,和/或,配置模块1103具体用于基于后一算法节点的输入参数和后一算法节点对多个数据通道的适用性,至少配置扩展节点的输出参数。
在一些公开实施例中,配置模块1103包括节点插入子模块,用于响应于前一算法节点适用于多个数据通道,在前一算法节点和由目标节点并行扩展得到的若干扩展节点之间插入分发节点;配置模块1103包括第一参数配置子模块,用于将由目标节点并行扩展得到的各扩展节点的输入参数配置为与分发节点的各输出参数一一对应。
在一些公开实施例中,第一参数配置子模块包括对应单元,用于将分发节点的各输出参数配置为分别与不同数据通道一一对应;第一参数配置子模块包括配置单元,用于将扩展节点的输入参数配置为,分发节点中与扩展节点对应于相同数据通道的输出参数。
在一些公开实施例中,配置模块1103包括第二参数配置子模块,用于将分发节点的输入参数配置为前一算法节点的输出参数。
在一些公开实施例中,配置模块1103包括参数扩展子模块,用于响应于后一算法节点适用于多个数据通道,对后一算法节点的输入参数进行并行扩展,配置模块1103包括第三参数配置子模块,用于将各扩展节点的输出参数配置为与后一算法节点扩展后的各输入参数一一对应。
在一些公开实施例中,配置模块1103包括第四参数配置子模块,用于响应于前一算法节点不适用于多个数据通道,将由目标节点并行扩展得到的扩展节点的输入参数配置为,由前一算法节点并行扩展得到且对应于相同数据通道的扩展节点的输出参数。
在一些公开实施例中,配置模块1103包括第五参数配置子模块,用于响应于后一算法节点不适用于多个数据通道,将由后一算法节点并行扩展得到的扩展节点的输入参数配置为,由目标节点并行扩展得到且对应于相同数据通道的扩展节点的输出参数。
在一些公开实施例中,算法配置文件更新装置1100还包括创建模块,用于创建总数目个虚拟通道;其中,各虚拟通道分别与各数据通道一一对应;算法配置文件更新装置1100还包括记录模块,用于基于扩展节点与数据通道一一对应的映射关系,在目标算法配置文件中记录扩展节点与虚拟通道一一对应的映射关系;其中,方案实例基于目标算法配置文件中各算法节点分别创建的算法实例得到,在运行方案实例以进行数据处理过程中,映射关系用于确定各算法实例分别负责处理的数据通道。
请参阅图12,图12是本申请数据处理装置1200一实施例的框架示意图。数据处理装置1200包括:获取模块1201和创建模块1202,获取模块1201用于获取目标算法配置文件;其中,目标算法配置文件与数据通道的总数目相匹配,且目标算法配置文件基于上述任一算法配置文件更新装置实施例中的算法配置文件更新装置对原始算法配置文件更新得到;创建模块1202用于响应于获取到来自数据通道的待处理数据,基于为目标算法配置文件中各个算法节点分别创建的算法实例,得到方案实例;其中,方案实例独立运行于硬件核,以处理待处理数据。
上述方案,一方面根据数据通道的总数目,自适应地更新原始算法配置文件,而无需人工手动根据总数目进行更新,能够在原始算法配置文件层面降低使用维护成本,另一方面对不适用于多个数据通道的算法节点进行并行扩展,并至少相应配置扩展节点,从而能够使目标算法配置文件即可适用于总数目个数据通道,即后续只需根据目标算法配置文件创建一个方案实例即可满足总数目个数据通道,而无需再为各个数据通道分别创建方案实例,进而能够有利于提升资源利用率,又一方面由于扩展节点与数据通道一一对应,故仅需目标算法配置文件自身记录一一对应的映射关系,即可使目标算法配置文件中各个算法节点自动对应不同数据通道,对于外部使用而言无需再维护数据通道与方案实例之间的对应关系,能够在后续应用层面降低使用维护成本。因此,能够提升资源利用率,并降低外部使用维护成本,特别是在AI开放平台,能够有助于提升AI开放平台的资源利用率,并降低外部使用AI开放平台的使用维护成本。
在一些公开实施例中,目标算法配置文件还记录有不适于多个数据通道的算法节点与虚拟通道一一对应的映射关系,数据处理装置1200还包括绑定模块,用于将各个虚拟通道分别绑定不同的数据通道,得到绑定关系;数据处理装置1200还包括确定模块,用于响应于算法实例不适用于多个数据通道,基于映射关系和绑定关系,确定由算法实例处理的数据通道。
请参阅图13,图13是本申请电子设备1300一实施例的框架示意图。电子设备1300包括相互耦接的存储器1301和处理器1302,存储器1301存储有程序指令,处理器1302用于执行程序指令以实现上述任一算法配置文件更新方法实施例中的步骤,或实现上述任一数据处理方法实施例中的步骤。具体地,电子设备1300可以包括但不限于:服务器、台式计算机、笔记本电脑等,在此不做限定。
具体而言,处理器1302用于控制其自身以及存储器1301以实现上述任一算法配置文件更新方法实施例中的步骤,或实现上述任一数据处理方法实施例中的步骤。处理器1302还可以称为CPU(Central Processing Unit,中央处理单元)。处理器1302可能是一种集成电路芯片,具有信号的处理能力。处理器1302还可以是通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application Specific IntegratedCircuit, ASIC)、现场可编程门阵列(Field-Programmable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器1302可以由多个集成电路芯片共同实现。
需要说明的是,在实际应用过程中,用于实现算法配置文件更新方法实施例中步骤的电子设备1300,与用于实现数据方法实施例中步骤的电子设备1300可以为相同设备,也就是说,也可以在应用场景(如前述视频分析场景、语音识别场景等)中仅配置一台电子设备1300,该电子设备1300既可以自动根据数据通道的总数目自适应更新原始算法配置文件,得到目标算法配置文件,并在更新得到目标算法配置文件之后,继续响应于接收到来自数据通道的数据,基于目标算法配置文件创建方案实例,并在自身硬件核运行方案实例,以处理各个数据通道。当然,用于实现算法配置文件更新方法实施例中步骤的电子设备1300,与用于实现数据方法实施例中步骤的电子设备1300可以为不同设备,也就是说,也可以在应用场景(如前述视频分析场景、语音识别场景等)中配置两台电子设备1300,前者用于实现算法配置文件更新方法实施例中步骤,后者用于实现数据方法实施例中步骤,且在前者更新得到目标算法配置文件之后,可以将目标算法配置文件下发至后者,并由后者响应于接收到来自数据通道的数据,基于接收到的目标算法配置文件创建方案实例,并在后者硬件核运行该方案实例,以处理各个数据通道。
上述方案,一方面根据数据通道的总数目,自适应地更新原始算法配置文件,而无需人工手动根据总数目进行更新,能够在原始算法配置文件层面降低使用维护成本,另一方面对不适用于多个数据通道的算法节点进行并行扩展,并至少相应配置扩展节点,从而能够使目标算法配置文件即可适用于总数目个数据通道,即后续只需根据目标算法配置文件创建一个方案实例即可满足总数目个数据通道,而无需再为各个数据通道分别创建方案实例,进而能够有利于提升资源利用率,又一方面由于扩展节点与数据通道一一对应,故仅需目标算法配置文件自身记录一一对应的映射关系,即可使目标算法配置文件中各个算法节点自动对应不同数据通道,对于外部使用而言无需再维护数据通道与方案实例之间的对应关系,能够在后续应用层面降低使用维护成本。因此,能够提升资源利用率,并降低外部使用维护成本,特别是在AI开放平台,能够有助于提升AI开放平台的资源利用率,并降低外部使用AI开放平台的使用维护成本。
请参阅图14,图14为本申请计算机可读存储介质1400一实施例的框架示意图。计算机可读存储介质1400存储有能够被处理器运行的程序指令1401,程序指令1401用于实现上述任一算法配置文件更新方法实施例中的步骤,或实现上述任一数据处理方法实施例中的步骤。
上述方案,一方面根据数据通道的总数目,自适应地更新原始算法配置文件,而无需人工手动根据总数目进行更新,能够在原始算法配置文件层面降低使用维护成本,另一方面对不适用于多个数据通道的算法节点进行并行扩展,并至少相应配置扩展节点,从而能够使目标算法配置文件即可适用于总数目个数据通道,即后续只需根据目标算法配置文件创建一个方案实例即可满足总数目个数据通道,而无需再为各个数据通道分别创建方案实例,进而能够有利于提升资源利用率,又一方面由于扩展节点与数据通道一一对应,故仅需目标算法配置文件自身记录一一对应的映射关系,即可使目标算法配置文件中各个算法节点自动对应不同数据通道,对于外部使用而言无需再维护数据通道与方案实例之间的对应关系,能够在后续应用层面降低使用维护成本。因此,能够提升资源利用率,并降低外部使用维护成本,特别是在AI开放平台,能够有助于提升AI开放平台的资源利用率,并降低外部使用AI开放平台的使用维护成本。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (13)

1.一种算法配置文件更新方法,其特征在于,包括:
获取原始算法配置文件,并获取与所述原始算法配置文件关联的数据通道的总数目;其中,所述原始算法配置文件包括:顺次连接的算法节点;
响应于所述总数目大于预设阈值,对所述原始算法配置文件中目标节点进行并行扩展,得到若干扩展节点;其中,所述目标节点不适用于多个所述数据通道,且所述扩展节点与所述数据通道一一对应;
基于与所述目标节点相邻的算法节点,对所述原始算法配置文件中的至少部分扩展节点进行配置,得到目标算法配置文件,以使基于所述目标算法配置文件创建的方案实例与所述数据通道的总数目匹配;其中,所述方案实例独立运行于硬件核,以处理待处理数据。
2.根据权利要求1所述的方法,其特征在于,与所述目标节点相邻的算法节点为所述目标节点的前一算法节点和/或所述目标节点的后一算法节点;
所述基于与所述目标节点相邻的算法节点,对所述原始算法配置文件中的至少部分扩展节点进行配置,包括:
基于所述前一算法节点的输出参数和所述前一算法节点对多个数据通道的适用性,至少配置所述扩展节点的输入参数;和/或,
基于所述后一算法节点的输入参数和所述后一算法节点对多个数据通道的适用性,至少配置所述扩展节点的输出参数。
3.根据权利要求2所述的方法,其特征在于,所述基于所述前一算法节点的输出参数和所述前一算法节点对多个数据通道的适用性,至少配置所述扩展节点的输入参数,包括:
响应于所述前一算法节点适用于多个数据通道,在所述前一算法节点和由所述目标节点并行扩展得到的若干扩展节点之间插入分发节点;
将由所述目标节点并行扩展得到的各所述扩展节点的输入参数配置为与所述分发节点的各输出参数一一对应。
4.根据权利要求3所述的方法,其特征在于,所述将由所述目标节点并行扩展得到的各所述扩展节点的输入参数配置为与所述分发节点的各输出参数一一对应,包括:
将所述分发节点的各所述输出参数配置为分别与不同所述数据通道一一对应;
将所述扩展节点的输入参数配置为,所述分发节点中与所述扩展节点对应于相同所述数据通道的输出参数;
和/或,所述方法还包括:
将所述分发节点的输入参数配置为所述前一算法节点的输出参数。
5.根据权利要求2所述的方法,其特征在于,所述基于所述后一算法节点的输入参数和所述后一算法节点对多个数据通道的适用性,至少配置所述扩展节点的输出参数,包括:
响应于所述后一算法节点适用于多个数据通道,对所述后一算法节点的输入参数进行并行扩展,并将由所述目标节点并行扩展得到的若干扩展节点的输出参数配置为与所述后一算法节点扩展后的各输入参数一一对应。
6.根据权利要求2所述的方法,其特征在于,所述基于所述前一算法节点的输出参数和所述前一算法节点对多个数据通道的适用性,至少配置所述扩展节点的输入参数,还包括:
响应于所述前一算法节点不适用于多个数据通道,将由所述目标节点并行扩展得到的扩展节点的输入参数配置为,由所述前一算法节点并行扩展得到且对应于相同所述数据通道的扩展节点的输出参数;
和/或,
所述基于所述后一算法节点的输入参数和所述后一算法节点对多个数据通道的适用性,至少配置所述扩展节点的输出参数,还包括:
响应于所述后一算法节点不适用于多个所述数据通道,将由所述后一算法节点并行扩展得到的扩展节点的输入参数配置为,由所述目标节点并行扩展得到且对应于相同所述数据通道的扩展节点的输出参数。
7.根据权利要求1所述的方法,其特征在于,在所述对所述原始算法配置文件中目标节点进行并行扩展,得到若干扩展节点之后,所述方法还包括:
创建所述总数目个虚拟通道;其中,各所述虚拟通道分别与各所述数据通道一一对应;
基于所述扩展节点与所述数据通道一一对应的映射关系,在所述目标算法配置文件中记录所述扩展节点与所述虚拟通道一一对应的映射关系;其中,所述方案实例基于为所述目标算法配置文件中各算法节点分别创建的算法实例得到,在运行所述方案实例以进行数据处理过程中,所述映射关系用于确定各所述算法实例分别负责处理的数据通道。
8.一种数据处理方法,其特征在于,包括:
获取目标算法配置文件;其中,所述目标算法配置文件与数据通道的总数目相匹配,且所述目标算法配置文件基于权利要求1至7任一项所述的算法配置文件更新方法对原始算法配置文件更新得到;
响应于获取到来自所述数据通道的待处理数据,基于为所述目标算法配置文件中各个算法节点分别创建的算法实例,得到方案实例;其中,所述方案实例独立运行于硬件核,以处理所述待处理数据。
9.根据权利要求8所述的方法,其特征在于,所述目标算法配置文件还记录有不适于多个所述数据通道的算法节点与虚拟通道一一对应的映射关系,在所述基于为所述目标算法配置文件中各个算法节点分别创建的算法实例,得到方案实例之前,所述方法还包括:
将各个所述虚拟通道分别绑定不同的数据通道,得到绑定关系;
在所述基于为所述目标算法配置文件中各个算法节点分别创建的算法实例,得到方案实例之后,所述方法还包括:
响应于所述算法实例不适用于多个所述数据通道,基于所述映射关系和绑定关系,确定由所述算法实例处理的数据通道。
10.一种算法配置文件更新装置,其特征在于,包括:
获取模块,用于获取原始算法配置文件,并获取与所述原始算法配置文件关联的数据通道的总数目;其中,所述原始算法配置文件包括:顺次连接的算法节点;
扩展模块,用于响应于所述总数目大于预设阈值,对所述原始算法配置文件中目标节点进行并行扩展,得到若干扩展节点;其中,所述目标节点不适用于多个所述数据通道,且所述扩展节点与所述数据通道一一对应;
配置模块,用于基于与所述目标节点相邻的算法节点,对所述原始算法配置文件中的至少部分扩展节点进行配置,得到目标算法配置文件,以使基于所述目标算法配置文件创建的方案实例与所述数据通道的总数目匹配;其中,所述方案实例独立运行于硬件核,以处理待处理数据。
11.一种数据处理装置,其特征在于,包括:
获取模块,用于获取目标算法配置文件;其中,所述目标算法配置文件与数据通道的总数目相匹配,且所述目标算法配置文件基于权利要求10所述的算法配置文件更新装置对原始算法配置文件更新得到;
创建模块,用于响应于获取到来自所述数据通道的待处理数据,基于为所述目标算法配置文件中各个算法节点分别创建的算法实例,得到方案实例;其中,所述方案实例独立运行于硬件核,以处理所述待处理数据。
12.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述存储器存储有程序指令,所述处理器用于执行所述程序指令以实现权利要求1至7任一项所述的算法配置文件更新方法,或实现权利要求8至9任一项所述的数据处理方法。
13.一种计算机可读存储介质,其特征在于,存储有能够被处理器运行的程序指令,所述程序指令用于实现权利要求1至7任一项所述的算法配置文件更新方法,或实现权利要求8至9任一项所述的数据处理方法。
CN202210589379.9A 2022-05-27 2022-05-27 算法配置文件更新方法及相关方法、装置、设备、介质 Active CN114675863B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210589379.9A CN114675863B (zh) 2022-05-27 2022-05-27 算法配置文件更新方法及相关方法、装置、设备、介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210589379.9A CN114675863B (zh) 2022-05-27 2022-05-27 算法配置文件更新方法及相关方法、装置、设备、介质

Publications (2)

Publication Number Publication Date
CN114675863A CN114675863A (zh) 2022-06-28
CN114675863B true CN114675863B (zh) 2022-10-04

Family

ID=82080132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210589379.9A Active CN114675863B (zh) 2022-05-27 2022-05-27 算法配置文件更新方法及相关方法、装置、设备、介质

Country Status (1)

Country Link
CN (1) CN114675863B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114911507B (zh) * 2022-07-15 2022-09-23 浙江大华技术股份有限公司 一种算法包的更新方法及设备
CN114924772B (zh) * 2022-07-15 2022-10-25 浙江大华技术股份有限公司 一种算法包的更新方法及设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692208A (zh) * 2009-10-15 2010-04-07 北京交通大学 实时交通信息处理的任务调度方法与系统
CN109862323A (zh) * 2019-02-20 2019-06-07 北京旷视科技有限公司 多路视频的播放方法、装置及处理设备
CN111369081A (zh) * 2018-12-06 2020-07-03 北京嘀嘀无限科技发展有限公司 一种流程配置方法、装置、电子设备及存储介质
CN111737075A (zh) * 2020-06-19 2020-10-02 浙江大华技术股份有限公司 执行顺序的确定方法及装置、存储介质、电子装置
CN113568666A (zh) * 2021-06-07 2021-10-29 阿里巴巴新加坡控股有限公司 图像的处理方法、装置、存储介质和处理器
CN113722103A (zh) * 2021-09-10 2021-11-30 奇安信科技集团股份有限公司 加密卡的调用控制方法及通信设备
US11237880B1 (en) * 2020-12-18 2022-02-01 SambaNova Systems, Inc. Dataflow all-reduce for reconfigurable processor systems
CN114489867A (zh) * 2022-04-19 2022-05-13 浙江大华技术股份有限公司 算法模块调度方法、算法模块调度装置以及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106639A (zh) * 2013-01-29 2013-05-15 广东科学技术职业学院 一种原型体数据加速系统和方法
US9665403B2 (en) * 2013-03-15 2017-05-30 Miosoft Corporation Executing algorithms in parallel
CN114201212A (zh) * 2021-12-14 2022-03-18 平安银行股份有限公司 配置文件处理方法、装置、计算机设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101692208A (zh) * 2009-10-15 2010-04-07 北京交通大学 实时交通信息处理的任务调度方法与系统
CN111369081A (zh) * 2018-12-06 2020-07-03 北京嘀嘀无限科技发展有限公司 一种流程配置方法、装置、电子设备及存储介质
CN109862323A (zh) * 2019-02-20 2019-06-07 北京旷视科技有限公司 多路视频的播放方法、装置及处理设备
CN111737075A (zh) * 2020-06-19 2020-10-02 浙江大华技术股份有限公司 执行顺序的确定方法及装置、存储介质、电子装置
US11237880B1 (en) * 2020-12-18 2022-02-01 SambaNova Systems, Inc. Dataflow all-reduce for reconfigurable processor systems
CN113568666A (zh) * 2021-06-07 2021-10-29 阿里巴巴新加坡控股有限公司 图像的处理方法、装置、存储介质和处理器
CN113722103A (zh) * 2021-09-10 2021-11-30 奇安信科技集团股份有限公司 加密卡的调用控制方法及通信设备
CN114489867A (zh) * 2022-04-19 2022-05-13 浙江大华技术股份有限公司 算法模块调度方法、算法模块调度装置以及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AI开放平台简析;王利彬;《中国安防》;20210601(第6期);第52-56页 *
分布式计算系统中的算法集成方法;窦帅 等;《计算机系统应用》;20210315;第30卷(第3期);第110-116页 *

Also Published As

Publication number Publication date
CN114675863A (zh) 2022-06-28

Similar Documents

Publication Publication Date Title
CN114675863B (zh) 算法配置文件更新方法及相关方法、装置、设备、介质
US5802286A (en) Method and apparatus for configuring a virtual network
US20210133944A1 (en) Image processing apparatus, control method for an image processing apparatus, and medium
CN102917159B (zh) 用于改进的多模式背景去除的模式移除
JP6486489B2 (ja) メタデータ保存オーディオ・オブジェクト・クラスタリング
CN100396010C (zh) 一种确定QoS策略的方法
CN108140398A (zh) 基于多个音频馈源来标识来自兴趣源的声音
US10600186B2 (en) Performing segmentation of cells and nuclei in multi-channel images
US11765469B2 (en) Image capturing apparatus, device, control method, and computer-readable storage medium
KR20060090508A (ko) 복수개의 데이터 처리 장치를 이용한 데이터 처리 장치 및그 방법과, 이를 구현하기 위한 프로그램이 기록된 기록매체
WO2020118503A1 (zh) 一种确定图像对焦区域的方法及装置
US20230013850A1 (en) Image capturing apparatus, control method, and computer-readable storage medium
CN110677716B (zh) 音频处理方法、电子设备和存储介质
CN105282659A (zh) 音箱的控制方法、控制装置以及具有控制装置的音箱
CN113312949B (zh) 视频数据处理方法、视频数据处理装置和电子设备
JP2006172479A (ja) 3次元映像の階層的構造に基づいた適応的レンダリング装置、セルデータ生成装置、セルデータ生成方法、レンダリング方法、及び、それらの方法を行うためのコンピュータプログラムを保存するコンピュータで読み取り可能な記録媒体
EP4199521A1 (en) Systems and methods for applying style transfer functions in multi-camera systems and multi-microphone systems
CN114630193A (zh) 短视频中的画面优化方法及系统
JP2018013879A (ja) ダイジェスト映像取得装置、ダイジェスト映像取得方法、およびプログラム
US20060271650A1 (en) Framework for establishing application system
US20220360925A1 (en) Image and Audio Apparatus and Method
US11843856B2 (en) Image capturing control apparatus capable of determining malfunction of an auxiliary processing apparatus, image capturing system, image capturing control method, and non-transitory computer-readable storage medium
US11647272B2 (en) Image capturing apparatus, control method, and computer-readable storage medium
WO2023143041A1 (zh) 信号处理方法、装置、设备及存储介质
CN115348528A (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
GR01 Patent grant
GR01 Patent grant