CN114461184B - Ai应用生成方法、电子设备和存储介质 - Google Patents
Ai应用生成方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114461184B CN114461184B CN202210377282.1A CN202210377282A CN114461184B CN 114461184 B CN114461184 B CN 114461184B CN 202210377282 A CN202210377282 A CN 202210377282A CN 114461184 B CN114461184 B CN 114461184B
- Authority
- CN
- China
- Prior art keywords
- pin
- module
- instruction
- block
- connection
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种AI应用生成方法、电子设备和存储介质,其中方法包括:获取作用于目标界面上的模块操作指令;对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,以进行计算图建模;基于各模块操作指令确定的计算图,生成目标AI应用。本发明提供的方法、电子设备和存储介质,可以通过模块化的操作,即通过积木编程的方式,进行AI应用开发,无需花费大量时间学习AI技术,开发者只需专注于任务实现,减少了底层冗余的代码开发,有助于快速方便地构建AI应用,从而降低AI应用开发的门槛,且降低AI应用开发的成本,进而提升AI应用开发的便捷性。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种AI应用生成方法、电子设备和存储介质。
背景技术
随着计算机技术的快速发展,AI(Artificial Intelligence,人工智能)的应用范围越来越广。而随着AI技术日益成熟,企业纷纷进行AI转型,以逐步实现业务智能化。目前,从企业的长远利益来看,企业更偏向于自主开发AI应用。然而,在开发AI应用的过程中,企业面临认知、数据、人才、工具、技术等多个门槛的限制,从而阻碍了AI技术在企业中的落地。
虽然,各种各样的深度学习框架不断涌现和发展,可以供企业进行AI应用开发。然而,这些深度学习框架的设计模式、特性、用法及其基础支持库十分复杂,且大多不相同,需要花费大量时间进行学习,才能基于各种深度学习框架,设计、实现和调试自己特有的AI应用。因此,对于企业来说,AI应用开发的门槛过高,且AI应用开发的成本过高。
综上所述,如何提升AI应用开发的便捷性,是目前亟需解决的问题。
发明内容
本发明提供一种AI应用生成方法、电子设备和存储介质,用以解决现有技术中AI应用开发的门槛过高,且AI应用开发的成本过高的缺陷,实现高便捷性的AI应用开发。
本发明提供一种AI应用生成方法,包括:
获取作用于目标界面上的模块操作指令;
对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,以进行计算图建模;
基于各模块操作指令确定的计算图,生成目标AI应用。
根据本发明提供的一种AI应用生成方法,若所述模块操作指令为单元块连接指令,所述对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,包括:
确定所述单元块连接指令指示的第一待连接单元块和第二待连接单元块,并确定所述第一待连接单元块的第一待连接管脚,以及所述第二待连接单元块的第二待连接管脚;
将所述第一待连接管脚和所述第二待连接管脚进行有向连接,以提供所述计算图的依赖边。
根据本发明提供的一种AI应用生成方法,所述将所述第一待连接管脚和所述第二待连接管脚进行有向连接,包括:
基于预设约束,对所述第一待连接管脚和所述第二待连接管脚进行约束检测;
基于约束检测结果,确定所述第一待连接管脚和所述第二待连接管脚是否可进行管脚连接;
若可进行管脚连接,则将所述第一待连接管脚和所述第二待连接管脚进行有向连接。
根据本发明提供的一种AI应用生成方法,所述预设约束包括数据类型约束、重复性连接约束、数据环路约束、管脚类型约束中的至少一种;
所述数据类型约束用于约束所述第一待连接管脚的数据传输类型和所述第二待连接管脚的数据传输类型存在交集;
所述重复性连接约束用于约束所述第一待连接管脚与所述第二待连接管脚之间未进行管脚连接;
所述数据环路约束用于约束所述第一待连接管脚与所述第二待连接管脚之间进行连接生成有向无环图;
所述管脚类型约束用于约束所述第一待连接管脚和所述第二待连接管脚不能同时作为输入或同时作为输出;和/或,
所述管脚类型约束还用于约束单连接类型的第一待连接管脚未进行管脚连接,以及约束单连接类型的第二待连接管脚未进行管脚连接。
根据本发明提供的一种AI应用生成方法,若所述模块操作指令为新增场景块指令,所述对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,包括:
确定所述新增场景块指令指示的新增场景块,以及所述新增场景块指令指示的新增位置;
将所述新增场景块插入所述新增位置,所述新增场景块用于插入单元块。
根据本发明提供的一种AI应用生成方法,若所述模块操作指令为插入单元块指令,所述对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,包括:
确定所述插入单元块指令指示的新增单元块,以及所述插入单元块指令指示的插入位置;
将所述新增单元块插入所述插入位置,以提供所述计算图的运算节点。
根据本发明提供的一种AI应用生成方法,若所述模块操作指令为模块参数配置指令,所述对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,包括:
确定所述模块参数配置指令指示的待配置模块,以及所述模块参数配置指令对应的配置参数;
基于所述模块参数配置指令对应的配置参数,对所述待配置模块进行参数配置;
其中,所述模块参数配置指令包括场景块参数配置指令和单元块参数配置指令,所述场景块参数配置指令对应的配置参数为所述场景块参数配置指令指示的待配置场景块的公共参数,所述单元块参数配置指令对应的配置参数为所述单元块参数配置指令指示的待配置单元块的参数。
根据本发明提供的一种AI应用生成方法,所述计算图中已连接的任两单元块是通过单元块的管脚进行连接的,所述单元块的管脚包括单输出管脚、单输入管脚、单输入输出管脚、多输出管脚、多输入管脚、多输入输出管脚、远程输入管脚、远程输出管脚或远程输入输出管脚。
根据本发明提供的一种AI应用生成方法,所述计算图中的任一单元块为算法单元块或功能单元块;
所述算法单元块封装有AI算法;
所述功能单元块封装有数据输入处理或数据输出处理。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述AI应用生成方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述AI应用生成方法的步骤。
本发明提供的AI应用生成方法、电子设备和存储介质,通过获取作用于目标界面上的模块操作指令,对模块操作指令指示的目标模块,执行模块操作指令对应的操作,以进行计算图建模,基于各模块操作指令确定的计算图,生成目标AI应用,使得本发明可以通过模块化的操作,即通过积木编程的方式,进行AI应用开发,无需花费大量时间学习AI技术,开发者只需专注于任务实现,减少了底层冗余的代码开发,有助于快速方便地构建AI应用,从而降低AI应用开发的门槛,且降低AI应用开发的成本,进而提升AI应用开发的便捷性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的AI应用生成方法的流程示意图;
图2为本发明提供的单元块连接指令执行方法的流程示意图;
图3为本发明提供的新增场景块指令执行方法的流程示意图;
图4为本发明提供的插入单元块指令执行方法的流程示意图;
图5为本发明提供的模块参数配置指令执行方法的流程示意图;
图6为本发明提供的单场景多算法的结构示意图;
图7为本发明提供的多场景的结构示意图;
图8为本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着计算机技术的快速发展,AI(Artificial Intelligence,人工智能)的应用范围越来越广。而随着AI技术日益成熟,企业纷纷进行AI转型,以逐步实现业务智能化。目前,从企业的长远利益来看,企业更偏向于自主开发AI应用。然而,在开发AI应用的过程中,企业面临认知、数据、人才、工具、技术等多个门槛的限制,从而阻碍了AI技术在企业中的落地。
虽然,各种各样的深度学习框架不断涌现和发展,例如,Tensorflow、PyTorch、Keras和Caffe等深度学习框架,可以供企业进行AI应用开发。然而,这些深度学习框架的设计模式、特性、用法及其基础支持库十分复杂,且大多不相同,需要花费大量时间进行学习,才能基于各种深度学习框架,设计、实现和调试自己特有的AI应用。具体地,当前的深度学习框架都是以开源代码形式提供给开发者进行使用,开发者需要具备程序开发的能力,还需要学习深度学习框架所提供的各种API,以及各种参数调节的细节,之后还需要开发者自主编写代码,开发过程十分复杂、繁琐。因此,对于企业来说,AI应用开发的门槛过高,且AI应用开发的成本过高。
针对上述问题,本发明提供了一种AI应用生成方法。图1为本发明提供的AI应用生成方法的流程示意图,如图1所示,该方法中,包括以下步骤110-130:
步骤110,获取作用于目标界面上的模块操作指令。
此处,目标界面为AI应用的开发界面,其用于供用户基于该目标界面进行AI应用开发,具体地,其用于供用户在该目标界面上触发模块操作指令。
该目标界面可以包括但不限于以下一种或多种:计算图建模区域、单元库区域、参数配置区域、日志显示区域等等,本发明实施例对此不作具体限定。
其中,计算图建模区域用于插入场景块和单元块,还用于连接任两单元块。单元库区域用于放置各单元块,以供用于从单元库中选取单元块插入至计算图建模区域。参数配置区域用于进行参数配置,具体包括场景块的公共参数配置和单元块的参数配置等等。日志显示区域用于显示AI应用执行过程或调试过程的日志数据。
场景块中可部署多个单元块,通常一场景块中的多个单元块所执行的任务类似,即一场景块对应一AI任务,基于此,不同AI任务可以由不同场景块分别执行。进一步地,不同场景块在实际部署过程中,可以部署于多个设备上,该多个设备可以体现为不同的物理设备,也可以体现为不同的虚拟机设备。例如,在视频分析领域中,场景块1的场景作为视频分析的主场景,部署在本地PC端,场景块2的场景作为视频AI算法的加速,部署在云端或者硬件加速器上。
单元块包括算法单元块或功能单元块。算法单元块封装有AI算法,基于此,将数据输入该算法单元块可输出该AI算法处理过的结果,例如,算法单元块封装有车牌识别模型,则将车牌图像数据输入至该算法单元块后可输出车牌识别结果,该车牌识别模型为预先构建并训练得到的模型。功能单元块封装有数据输入处理或数据输出处理等等,例如,功能单元块可以封装图像读取的处理算法,从而得到图像读取的功能单元块;功能单元块可以封装结果显示的处理算法,从而得到结果显示的功能单元块。
此处,模块操作指令是响应于用户通过本发明实施例的应用设备的模块操作,生成的指令。该模块操作指令用于对目标界面中的目标模块进行操作,具体地,模块操作指令可以用于指示待操作的目标模块,例如,指示的目标模块为新增单元块或新增场景块或待连接单元块或待配置模块等等,模块操作指令还可以用于指示其他操作信息,此处不作具体赘述。
该模块操作指令包括但不限于以下一种或多种:插入单元块指令、新增场景块指令、单元块连接指令、模块参数配置指令等等。
步骤120,对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,以进行计算图建模。
此处,模块操作指令指示的目标模块可以为以下任意一种:新增单元块、新增场景块、待连接单元块或待配置模块等等。具体地,若模块操作指令为插入单元块指令,则插入单元块指令指示的目标模块为新增单元块;若模块操作指令为新增场景块指令,则新增场景块指令指示的目标模块为新增场景块;若模块操作指令为单元块连接指令,则单元块连接指令指示的目标模块为待连接单元块,该待连接单元块包括两个单元块;若模块操作指令为模块参数配置指令,则模块参数配置指令指示的目标模块为待配置模块,该待配置模块可以为场景块或单元块。
具体地,执行插入单元块指令对应的操作,可以为目标AI应用开发运算过程,即用于提供计算图的运算节点,以使后续基于计算图生成的目标AI应用可执行该运算节点的运算过程。执行新增场景块指令对应的操作,可以将AI应用的运算过程进行场景划分,即用于划分计算图中的各运算节点。执行单元块连接指令对应的操作,可以将AI应用的运算过程进行连接,即用于确定计算图中各运算节点的数据传输方向和控制信号传输方向,即用于提供计算图的依赖边,以使后续基于计算图生成的目标AI应用可按照执行顺序执行各运算节点的运算过程。执行模块参数配置指令对应的操作,可以为AI应用的执行或调试提供运行参数,即用于配置计算图中各运算节点的参数,即用于提供各单元块的参数。
步骤130,基于各模块操作指令确定的计算图,生成目标AI应用。
具体地,执行若干次步骤110和步骤120,最终基于各模块操作指令确定得到计算图。该用于生成AI应用的计算图为有向无环图,即该计算图包括若干单元块,且单元块之间存在连接关系。基于此,可以基于计算图中的运算节点和依赖边,确定AI应用的的运算过程和执行顺序,且还可以通过计算图中配置的参数,确定AI应用的执行或调试参数,最终,基于AI应用的的运算过程和执行顺序和AI应用的执行或调试参数,生成得到目标AI应用。
在一具体实施例中,基于插入单元块指令确定计算图的运算节点,即选取对应的算法单元块或功能单元块作为计算图的运算节点。该算法单元块或功能单元块可以插入某一场景块中,而该场景块可以为预先存在的场景块,也可以为基于新增场景块指令确定得到的。同时,基于单元块连接指令确定计算图的依赖边,即将单元块之间进行管教连接,以完成数据和控制信号的传输。
其中,场景块为顶层模块,该场景块中可部署各算法单元块和各功能单元块,从而构成一个完整的算法功能场景块。此外,可以配置该场景块的参数;同时,可配置该场景块中各单元块的公共参数、共享数据等公共信息,例如,在视频分析场景中,公共参数包括:输入视频帧率,以使各单元块可通过帧率调整处理跳帧情况;算法处理开关项,用于调试;结果输出会话数量,用于在没有会话时跳过一些为了显示的功能,降低延迟及功耗;当然,还包括其他公共参数,具体根据实际情况进行设定,此处不再一一赘述。
在一具体实施例中,基于计算图中的各运算节点、各依赖边以及配置参数,生成AI应用程序或AI应用代码,即生成目标AI应用。其中,各运算节点中的程序或代码是预先开发得到的,即各单元块中预先封装了程序或代码,以使本发明实施例基于模块化编程(积木编程)即可构建得到完整的AI应用程序或AI应用代码。
在一实施例中,上述步骤130之后还包括:在获取到应用执行指令后,确定所述计算图的单元块执行顺序;基于所述单元块执行顺序,执行所述目标AI应用。
此外,在目标AI应用执行的过程中,可以对目标AI应用进行调试,直至得到满足需求的目标AI应用,最终输出满足需求的目标AI应用,即可以将满足需求的目标AI应用进行发布,进一步地,将目标AI应用对应的代码文件进行发布。
可以理解,基于各模块操作指令确定的计算图,生成目标AI应用,即通过模块化设计(积木编程)的思想开发AI应用,将算法和功能封装于各个模块中,通过直接加载模块、连接模块、配置参数的方式,可以快速方便地构建AI应用,从而降低AI应用开发的门槛,且降低AI应用开发的成本,进而提升AI应用开发的便捷性。
本发明实施例提供的AI应用生成方法,通过获取作用于目标界面上的模块操作指令,对模块操作指令指示的目标模块,执行模块操作指令对应的操作,以进行计算图建模,基于各模块操作指令确定的计算图,生成目标AI应用,使得本发明实施例可以通过模块化的操作,即通过积木编程的方式,进行AI应用开发,无需花费大量时间学习AI技术,开发者只需专注于任务实现,减少了底层冗余的代码开发,有助于快速方便地构建AI应用,从而降低AI应用开发的门槛,且降低AI应用开发的成本,进而提升AI应用开发的便捷性。
基于上述实施例,图2为本发明提供的单元块连接指令执行方法的流程示意图,如图2所示,该方法中,若所述模块操作指令为单元块连接指令,上述步骤120,包括:
步骤121,确定所述单元块连接指令指示的第一待连接单元块和第二待连接单元块,并确定所述第一待连接单元块的第一待连接管脚,以及所述第二待连接单元块的第二待连接管脚。
步骤122,将所述第一待连接管脚和所述第二待连接管脚进行有向连接,以提供所述计算图的依赖边。
此处,单元块连接指令可以用于指示待连接的两个目标模块,即第一待连接单元块和第二待连接单元块,单元块连接指令还可以用于指示两个待连接单元块的连接方向,单元块连接指令还可以用于指示两个待连接单元块的待连接管脚。例如,第一待连接单元块为车牌检测单元块,第二待连接单元块为车牌识别单元块,基于此,两个待连接单元块的连接方向为从车牌检测单元块到车牌识别单元块。
此处,单元块的待连接管脚的类型可以为单输出管脚、单输入管脚、单输入输出管脚、多输出管脚、多输入管脚、多输入输出管脚、远程输入管脚、远程输出管脚或远程输入输出管脚。
其中,单输出管脚对应的管脚功能为:只输出数据,且只允许单条连线与该管脚连接。单输入管脚对应的管脚功能为:只输入数据,且只允许单条连线与该管脚连接。单输入输出管脚对应的管脚功能为:同时支持输入数据和输出数据,且只允许单条连线与该管脚连接。多输出管脚对应的管脚功能为:允许输出数据分发到多个后续单元,且允许多条连线连接。多输入管脚对应的管脚功能为:允许多种数据的同时输入,允许接收多种输入数据,且允许多条连线连接。多输入输出管脚对应的管脚功能为:同时支持输入数据和输出数据,且允许多条连线连接。远程输入管脚对应的管脚功能为:允许场景间的数据输入。远程输出管脚对应的管脚功能为:允许场景间的数据输出。远程输入输出管脚对应的管脚功能为:允许场景间的数据输入和数据输出。
具体地,若第一待连接管脚为单输出管脚,则第二待连接管脚可以为单输入管脚、单输入输出管脚、多输入管脚、多输入输出管脚、远程输入管脚或远程输入输出管脚。若第一待连接管脚为单输入管脚,则第二待连接管脚可以为单输出管脚、单输入输出管脚、多输出管脚、多输入输出管脚、远程输出管脚或远程输入输出管脚。若第一待连接管脚为单输入输出管脚,则第二待连接管脚可以为单输出管脚、单输入管脚、单输入输出管脚、多输出管脚、多输入管脚、多输入输出管脚、远程输入管脚、远程输出管脚或远程输入输出管脚。
需要说明的是,提供计算图的依赖边,以提供数据依赖和控制依赖,即完成单元块之间的数据传输和控制信号传输。
本发明实施例提供的AI应用生成方法,通过确定单元块连接指令指示的第一待连接单元块和第二待连接单元块,并确定第一待连接单元块的第一待连接管脚,以及第二待连接单元块的第二待连接管脚;
将第一待连接管脚和第二待连接管脚进行有向连接,以提供计算图的依赖边,本发明实施例可通过单元块的管脚对单元块进行连接,从而提高单元块连接的灵活性。
基于上述任一实施例,该方法中,上述步骤122包括:
基于预设约束,对所述第一待连接管脚和所述第二待连接管脚进行约束检测;
基于约束检测结果,确定所述第一待连接管脚和所述第二待连接管脚是否可进行管脚连接;
若可进行管脚连接,则将所述第一待连接管脚和所述第二待连接管脚进行有向连接。
在本发明实施例中,通过单元块的管脚进行连接,提高单元块连接的灵活性的同时,需要对管脚进行约束,以确保管脚连接的正确性。
此处,预设约束包括但不限于以下一种或多种:数据类型约束、重复性连接约束、数据环路约束、管脚类型约束等等。具体根据实际需要进行设定,此处不作具体赘述。
具体地,对第一待连接管脚和第二待连接管脚进行管脚类型约束检测,基于管脚类型约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接。和/或,对第一待连接管脚和第二待连接管脚进行数据类型约束检测,基于数据类型约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接。和/或,对第一待连接管脚和第二待连接管脚进行重复性连接约束检测,基于重复性连接约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接。和/或,对第一待连接管脚和第二待连接管脚进行数据环路约束检测,基于数据环路约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接。
进一步地,所述基于约束检测结果,确定所述第一待连接管脚和所述第二待连接管脚是否可进行管脚连接的步骤之后,该方法还包括:
若不可进行管脚连接,则禁止第一待连接管脚和第二待连接管脚进行有向连接。
本发明实施例提供的AI应用生成方法,基于预设约束,对第一待连接管脚和第二待连接管脚进行约束检测;基于约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接;若可进行管脚连接,则将第一待连接管脚和第二待连接管脚进行有向连接。通过上述方式,在进行管脚连接之前,对管脚进行约束检测,以确保管脚连接的正确性,进而提高AI应用开发的准确性。同时,进行管脚约束检测,无需用户学习各个单元块具体的内容,从而降低AI应用开发的门槛,进而提高AI应用开发的便捷性。
基于上述任一实施例,该方法中,所述预设约束包括数据类型约束、重复性连接约束、数据环路约束、管脚类型约束中的至少一种。
所述数据类型约束用于约束所述第一待连接管脚的数据传输类型和所述第二待连接管脚的数据传输类型存在交集。
具体地,对第一待连接管脚和第二待连接管脚进行数据类型约束检测,基于数据类型约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接。
所述对第一待连接管脚和第二待连接管脚进行数据类型约束检测,包括:
确定第一待连接管脚的第一数据传输类型,以及第二待连接管脚的第二数据传输类型;检测第一数据传输类型与第二数据传输类型是否存在交集。
所述基于数据类型约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接,包括:
若第一数据传输类型与第二数据传输类型存在交集,则确定第一待连接管脚和第二待连接管脚可进行管脚连接;若第一数据传输类型与第二数据传输类型不存在交集,则确定第一待连接管脚和第二待连接管脚不可进行管脚连接。
所述重复性连接约束用于约束所述第一待连接管脚与所述第二待连接管脚之间未进行管脚连接。
具体地,对第一待连接管脚和第二待连接管脚进行重复性连接约束检测,基于重复性连接约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接。
所述对第一待连接管脚和第二待连接管脚进行重复性连接约束检测,包括:
检测第一待连接管脚与第二待连接管脚之间是否进行管脚连接。
所述基于重复性连接约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接,包括:
若第一待连接管脚与第二待连接管脚之间未进行管脚连接,则确定第一待连接管脚和第二待连接管脚可进行管脚连接;若第一待连接管脚与第二待连接管脚之间已进行管脚连接,则确定第一待连接管脚和第二待连接管脚不可进行管脚连接。
所述数据环路约束用于约束所述第一待连接管脚与所述第二待连接管脚之间进行连接生成有向无环图。
具体地,对第一待连接管脚和第二待连接管脚进行数据环路约束检测,基于数据环路约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接。
所述对第一待连接管脚和第二待连接管脚进行数据环路约束检测,包括:
检测第一待连接管脚与第二待连接管脚之间进行连接后是否为有向无环图。
所述基于数据环路约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接,包括:
若第一待连接管脚与第二待连接管脚之间进行连接后为有向无环图,则确定第一待连接管脚和第二待连接管脚可进行管脚连接;若第一待连接管脚与第二待连接管脚之间进行连接后不为有向无环图,则确定第一待连接管脚和第二待连接管脚不可进行管脚连接。
所述管脚类型约束用于约束所述第一待连接管脚和所述第二待连接管脚不能同时作为输入或同时作为输出;和/或,
所述管脚类型约束还用于约束单连接类型的第一待连接管脚未进行管脚连接,以及约束单连接类型的第二待连接管脚未进行管脚连接。
具体地,对第一待连接管脚和第二待连接管脚进行管脚类型约束检测,基于管脚类型约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接。
所述对第一待连接管脚和第二待连接管脚进行管脚类型约束检测,包括:
确定第一待连接管脚的第一管脚类型,以及第二待连接管脚的第二管脚类型;
基于第一管脚类型与第二管脚类型,确定第一待连接管脚和第二待连接管脚是否同时作为输入或是否同时作为输出;和/或,
若第一管脚类型为单连接管脚,确定第一待连接管脚是否已进行管脚连接;和/或,
若第二管脚类型为单连接管脚,确定第二待连接管脚是否已进行管脚连接;
所述基于管脚类型约束检测结果,确定第一待连接管脚和第二待连接管脚是否可进行管脚连接,包括:
若第一待连接管脚和第二待连接管脚未同时作为输入或未同时作为输出,和/或单连接管脚的第一待连接管脚未进行管脚连接,和/或单连接管脚的第二待连接管脚未进行管脚连接,则确定第一待连接管脚和第二待连接管脚可进行管脚连接;若第一待连接管脚和第二待连接管脚同时作为输入或未同时作为输出,和/或单连接管脚的第一待连接管脚已进行管脚连接,和/或单连接管脚的第二待连接管脚已进行管脚连接,则确定第一待连接管脚和第二待连接管脚不可进行管脚连接。
可以理解的是,以上只要确定得到一个不可进行管脚连接的约束检测结果,则最终确定第一待连接管脚和第二待连接管脚不可进行管脚连接。以上所有均确定得到可进行管脚连接的约束检测结果,则最终确定第一待连接管脚和第二待连接管脚可进行管脚连接。
本发明实施例提供的AI应用生成方法,提供数据类型约束、重复性连接约束、数据环路约束、管脚类型约束,以在进行管脚连接之前,对管脚进行约束检测,以确保管脚连接的正确性,进而提高AI应用开发的准确性。同时,进行管脚约束检测,无需用户学习各个单元块具体的内容,从而降低AI应用开发的门槛,进而提高AI应用开发的便捷性。
基于上述任一实施例,图3为本发明提供的新增场景块指令执行方法的流程示意图,如图3所示,该方法中,若所述模块操作指令为新增场景块指令,上述步骤120,包括:
步骤123,确定所述新增场景块指令指示的新增场景块,以及所述新增场景块指令指示的新增位置。
步骤124,将所述新增场景块插入所述新增位置,所述新增场景块用于插入单元块。
此处,新增场景块指令用于在目标界面中插入新增场景块。具体地,新增场景块指令可以用于指示该新增场景块,还可以用于指示新增场景块的新增位置(插入位置)。
此处,新增场景块用于插入单元块。具体地,场景块中可部署多个单元块,通常一场景块中的多个单元块所执行的任务类似,即一场景块对应一AI任务,基于此,不同AI任务可以由不同场景块分别执行。
进一步地,不同场景块在实际部署过程中,可以部署于多个设备上,该多个设备可以体现为不同的物理设备,也可以体现为不同的虚拟机设备。例如,在视频分析领域中,场景块1的场景作为视频分析的主场景,部署在本地PC端,场景块2的场景作为视频AI算法的加速,部署在云端或者硬件加速器上。
此外,后续可在新增场景块上触发插入单元块指令、单元块连接指令、模块参数配置指令,从而完成AI应用开发。
本发明实施例提供的AI应用生成方法,确定新增场景块指令指示的新增场景块,以及新增场景块指令指示的新增位置;将新增场景块插入新增位置,新增场景块用于插入单元块。通过上述方式,通过新增场景块,以为单元块提供插入位置,并将新增场景块作为单元块的上层模块,从而提高AI应用开发的可视化水平,同时,基于新增场景块可以更好地部署单元块,从而确保AI应用开发的准确性。
基于上述任一实施例,图4为本发明提供的插入单元块指令执行方法的流程示意图,如图4所示,该方法中,若所述模块操作指令为插入单元块指令,上述步骤120,包括:
步骤125,确定所述插入单元块指令指示的新增单元块,以及所述插入单元块指令指示的插入位置。
步骤126,将所述新增单元块插入所述插入位置,以提供所述计算图的运算节点。
此处,插入单元块指令用于在目标界面中插入新增单元块。具体地,插入单元块指令可以用于指示该新增单元块;还可以用于指示新增单元块的插入位置(新增位置)。
插入单元块指令是响应于用户通过本发明实施例的应用设备的插入单元块操作,生成的指令,例如,用户通过选取单元库中的单元块,触发对应的插入单元块指令,此时,应用设备获取该插入单元块指令。
新增单元块包括算法单元块或功能单元块。算法单元块封装有AI算法;功能单元块封装有数据输入处理或数据输出处理等等。
此外,后续可对新增单元块触发插入单元块连接指令、单元块参数配置指令。
本发明实施例提供的AI应用方法,通过确定插入单元块指令指示的新增单元块,以及插入单元块指令指示的插入位置,将新增单元块插入插入位置,以提供计算图的运算节点,使得本发明实施例可以通过模块化的操作,即通过积木编程的方式,进行AI应用开发,无需花费大量时间学习AI技术,开发者只需专注于任务实现,减少了底层冗余的代码开发,有助于快速方便地构建AI应用,从而降低AI应用开发的门槛,且降低AI应用开发的成本,进而提升AI应用开发的便捷性。
基于上述任一实施例,图5为本发明提供的模块参数配置指令执行方法的流程示意图,如图5所示,该方法中,若所述模块操作指令为模块参数配置指令,上述步骤120,包括:
步骤127,确定所述模块参数配置指令指示的待配置模块,以及所述模块参数配置指令对应的配置参数。
步骤128,基于所述模块参数配置指令对应的配置参数,对所述待配置模块进行参数配置。
其中,所述模块参数配置指令包括场景块参数配置指令和单元块参数配置指令,所述场景块参数配置指令对应的配置参数为所述场景块参数配置指令指示的待配置场景块的公共参数,所述单元块参数配置指令对应的配置参数为所述单元块参数配置指令指示的待配置单元块的参数。
此处,模块参数配置指令用于在目标界面中进行参数配置。具体地,模块参数配置指令可以用于指示待配置模块;还可以用于指示待配置的配置参数。
模块参数配置指令是响应于用户通过本发明实施例的应用设备的模块参数配置操作,生成的指令,例如,用户通过输入配置参数,触发对应的模块参数配置指令,此时,应用设备获取该模块参数配置指令。
为便于理解,例如,在视频分析场景中,公共参数包括:输入视频帧率,以使各单元块可通过帧率调整处理跳帧情况;算法处理开关项,用于调试;结果输出会话数量,用于在没有会话时跳过一些为了显示的功能,降低延迟及功耗;当然,还包括其他公共参数,具体根据实际情况进行设定,此处不再一一赘述。
具体地,若模块参数配置指令为单元块参数配置指令,则待配置模块为待配置单元块,单元块参数配置指令指示的配置参数用于配置该待配置单元块。若模块参数配置指令为场景块参数配置指令,则待配置模块为待配置场景块,场景块参数配置指令指示的配置参数用于配置该待配置场景块。
本发明实施例提供的AI应用生成方法,确定模块参数配置指令指示的待配置模块,以及模块参数配置指令对应的配置参数;基于模块参数配置指令对应的配置参数,对待配置模块进行参数配置。通过上述方式,通过模块参数配置指令,对模块进行参数配置,使得本发明实施例可以通过模块化的操作,即通过积木编程的方式,进行AI应用开发,无需花费大量时间学习AI技术,开发者只需专注于任务实现,减少了底层冗余的代码开发,有助于快速方便地构建AI应用,从而降低AI应用开发的门槛,且降低AI应用开发的成本,进而提升AI应用开发的便捷性。
基于上述任一实施例,该方法中,所述计算图中已连接的任两单元块是通过单元块的管脚进行连接的,所述单元块的管脚包括单输出管脚、单输入管脚、单输入输出管脚、多输出管脚、多输入管脚、多输入输出管脚、远程输入管脚、远程输出管脚或远程输入输出管脚。
此处,单输出管脚对应的管脚功能为:只输出数据,且只允许单条连线与该管脚连接。
此处,单输入管脚对应的管脚功能为:只输入数据,且只允许单条连线与该管脚连接。
此处,单输入输出管脚对应的管脚功能为:同时支持输入数据和输出数据,且只允许单条连线与该管脚连接。
此处,多输出管脚对应的管脚功能为:允许输出数据分发到多个后续单元,且允许多条连线连接。
此处,多输入管脚对应的管脚功能为:允许多种数据的同时输入,允许接收多种输入数据,且允许多条连线连接。
此处,多输入输出管脚对应的管脚功能为:同时支持输入数据和输出数据,且允许多条连线连接。
此处,远程输入管脚对应的管脚功能为:允许场景间的数据输入。
此处,远程输出管脚对应的管脚功能为:允许场景间的数据输出。
此处,远程输入输出管脚对应的管脚功能为:允许场景间的数据输入和数据输出。
此外,单元块的管脚可以配置为异步模式。在异步模式下,不同管脚的输入时间或输出时间是异步的,对应单元块的触发可以按照每个管脚输入的信号单独处理、也可以按照所有管脚的输入数据收集齐之后统一处理,或者,对应单元块的触发可以按照每个管脚输出的信号单独处理、也可以按照所有管脚的输出数据收集齐之后统一处理。
本发明实施例提供的AI应用方法,通过对单元块的管脚进行定义,以支持通过单元块的管脚对单元块进行连接,从而提高单元块连接的灵活性,进而提升AI应用开发的便捷性。
基于上述任一实施例,该方法中,所述计算图中的任一单元块为算法单元块或功能单元块;
所述算法单元块封装有AI算法;
所述功能单元块封装有数据输入处理或数据输出处理。
此处,将数据输入该算法单元块可输出该AI算法处理过的结果,例如,算法单元块封装有人脸检测模型,则将人脸图像数据输入至该算法单元块后可输出人脸检测结果,该人脸检测模型为预先构建并训练得到的模型。
此处,功能单元块封装有数据输入处理的算法或数据输出处理的算法,例如,功能单元块可以封装图像读取的处理算法,从而得到图像读取的功能单元块;功能单元块可以封装结果显示的处理算法,从而得到结果显示的功能单元块。
本发明实施例提供的AI应用方法,将算法及功能封装在单元块中,以使后续可以通过模块化的操作,即通过积木编程的方式,进行AI应用开发,无需花费大量时间学习AI技术,开发者只需专注于任务实现,减少了底层冗余的代码开发,有助于快速方便地构建AI应用,从而降低AI应用开发的门槛,且降低AI应用开发的成本,进而提升AI应用开发的便捷性。
此外,为便于理解以上各实施例,图6为本发明提供的单场景多算法的结构示意图,如图6所示,该场景块1中包括图像读取的功能单元块、结果显示的功能单元块,还包括人脸检测的算法单元块、人脸对齐的算法单元块、人脸属性分析的算法单元块、车牌检测的算法单元块、车牌识别的算法单元块、机动车检测的算法单元块、机动车属性分析的算法单元块。具体地,在一个场景中,同时配置了多个不同的视频AI算法单元块,而他们对应的视频源是相同的,因此对于视频输入之后的“图像读取”单元块,它的输出管脚需要配置为多输出管脚,多个算法单元块在各自独立完成算法分析之后,将结果都发送给“结果显示”单元块,因此“结果显示”单元块的输入管脚需要配置为多输入管脚。此外,由于多个算法单元块的执行时间不同,它们的输出到达“结果显示”单元块的时间也会不同,基于此,“结果显示”单元块的管脚可以配置为异步模式。在异步模式下,不同管脚的输入时间是异步的,对应单元块的触发可以按照每个管脚输入的信号单独处理、也可以按照所有管脚的输入数据收集齐之后统一处理。
此外,为便于理解以上各实施例,图7为本发明提供的多场景的结构示意图,如图7所示,在视频分析领域中,场景块1通过“视频帧调度”单元块将视频信息传输给场景块2,场景块2完成对应的视频AI算法之后,再返回给场景块1的“视频同步”单元块。因此,“视频帧调度”和“视频同步”单元块的管脚都需要配置为远程输入/输出管脚。
下面对本发明提供的AI应用开发装置进行描述,下文描述的AI应用开发装置与上文描述的AI应用开发方法可相互对应参照。
在本实施例中,所述AI应用开发装置,包括:
获取模块,用于获取作用于目标界面上的模块操作指令;
执行模块,用于对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,以进行计算图建模;
生成模块,用于基于各模块操作指令确定的计算图,生成目标AI应用。
本发明实施例提供的AI应用生成装置,通过获取作用于目标界面上的模块操作指令,对模块操作指令指示的目标模块,执行模块操作指令对应的操作,以进行计算图建模,基于各模块操作指令确定的计算图,生成目标AI应用,使得本发明实施例可以通过模块化的操作,即通过积木编程的方式,进行AI应用开发,无需花费大量时间学习AI技术,开发者只需专注于任务实现,减少了底层冗余的代码开发,有助于快速方便地构建AI应用,从而降低AI应用开发的门槛,且降低AI应用开发的成本,进而提升AI应用开发的便捷性。
基于上述任一实施例,若所述模块操作指令为单元块连接指令,所述执行模块还用于:
确定所述单元块连接指令指示的第一待连接单元块和第二待连接单元块,并确定所述第一待连接单元块的第一待连接管脚,以及所述第二待连接单元块的第二待连接管脚;将所述第一待连接管脚和所述第二待连接管脚进行有向连接,以提供所述计算图的依赖边。
基于上述任一实施例,若所述模块操作指令为单元块连接指令,所述执行模块还用于:
基于预设约束,对所述第一待连接管脚和所述第二待连接管脚进行约束检测;基于约束检测结果,确定所述第一待连接管脚和所述第二待连接管脚是否可进行管脚连接;若可进行管脚连接,则将所述第一待连接管脚和所述第二待连接管脚进行有向连接。
基于上述任一实施例,所述预设约束包括数据类型约束、重复性连接约束、数据环路约束、管脚类型约束中的至少一种;
所述数据类型约束用于约束所述第一待连接管脚的数据传输类型和所述第二待连接管脚的数据传输类型存在交集;
所述重复性连接约束用于约束所述第一待连接管脚与所述第二待连接管脚之间未进行管脚连接;
所述数据环路约束用于约束所述第一待连接管脚与所述第二待连接管脚之间进行连接生成有向无环图;
所述管脚类型约束用于约束所述第一待连接管脚和所述第二待连接管脚不能同时作为输入或同时作为输出;和/或,
所述管脚类型约束还用于约束单连接类型的第一待连接管脚未进行管脚连接,以及约束单连接类型的第二待连接管脚未进行管脚连接。
基于上述任一实施例,若所述模块操作指令为新增场景块指令,所述执行模块还用于:
确定所述新增场景块指令指示的新增场景块,以及所述新增场景块指令指示的新增位置;将所述新增场景块插入所述新增位置,所述新增场景块用于插入单元块。
基于上述任一实施例,若所述模块操作指令为插入单元块指令,所述执行模块还用于:
确定所述插入单元块指令指示的新增单元块,以及所述插入单元块指令指示的插入位置;将所述新增单元块插入所述插入位置,以提供所述计算图的运算节点。
基于上述任一实施例,若所述模块操作指令为模块参数配置指令,所述执行模块还用于:
确定所述模块参数配置指令指示的待配置模块,以及所述模块参数配置指令对应的配置参数;基于所述模块参数配置指令对应的配置参数,对所述待配置模块进行参数配置;其中,所述模块参数配置指令包括场景块参数配置指令和单元块参数配置指令,所述场景块参数配置指令对应的配置参数为所述场景块参数配置指令指示的待配置场景块的公共参数,所述单元块参数配置指令对应的配置参数为所述单元块参数配置指令指示的待配置单元块的参数。
基于上述任一实施例,所述计算图中已连接的任两单元块是通过单元块的管脚进行连接的,所述单元块的管脚包括单输出管脚、单输入管脚、单输入输出管脚、多输出管脚、多输入管脚、多输入输出管脚、远程输入管脚、远程输出管脚或远程输入输出管脚。
基于上述任一实施例,所述计算图中的任一单元块为算法单元块或功能单元块;所述算法单元块封装有AI算法;所述功能单元块封装有数据输入处理或数据输出处理。
图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface) 820、存储器(memory) 830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行AI应用生成方法,该方法包括:获取作用于目标界面上的模块操作指令;对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,以进行计算图建模;基于各模块操作指令确定的计算图,生成目标AI应用。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的AI应用生成方法,该方法包括:获取作用于目标界面上的模块操作指令;对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,以进行计算图建模;基于各模块操作指令确定的计算图,生成目标AI应用。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的AI应用生成方法,该方法包括:获取作用于目标界面上的模块操作指令;对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,以进行计算图建模;基于各模块操作指令确定的计算图,生成目标AI应用。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种AI应用生成方法,其特征在于,包括:
获取作用于目标界面上的模块操作指令;
对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,以进行计算图建模;
基于各模块操作指令确定的计算图,生成目标AI应用;
若所述模块操作指令为模块参数配置指令,所述对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,包括:
确定所述模块参数配置指令指示的待配置模块,以及所述模块参数配置指令对应的配置参数;
基于所述模块参数配置指令对应的配置参数,对所述待配置模块进行参数配置;
其中,所述模块参数配置指令包括场景块参数配置指令和单元块参数配置指令,所述场景块参数配置指令对应的配置参数为所述场景块参数配置指令指示的待配置场景块的公共参数,所述单元块参数配置指令对应的配置参数为所述单元块参数配置指令指示的待配置单元块的参数。
2.根据权利要求1所述的AI应用生成方法,其特征在于,若所述模块操作指令为单元块连接指令,所述对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,包括:
确定所述单元块连接指令指示的第一待连接单元块和第二待连接单元块,并确定所述第一待连接单元块的第一待连接管脚,以及所述第二待连接单元块的第二待连接管脚;
将所述第一待连接管脚和所述第二待连接管脚进行有向连接,以提供所述计算图的依赖边。
3.根据权利要求2所述的AI应用生成方法,其特征在于,所述将所述第一待连接管脚和所述第二待连接管脚进行有向连接,包括:
基于预设约束,对所述第一待连接管脚和所述第二待连接管脚进行约束检测;
基于约束检测结果,确定所述第一待连接管脚和所述第二待连接管脚是否可进行管脚连接;
若可进行管脚连接,则将所述第一待连接管脚和所述第二待连接管脚进行有向连接。
4.根据权利要求3所述的AI应用生成方法,其特征在于,所述预设约束包括数据类型约束、重复性连接约束、数据环路约束、管脚类型约束中的至少一种;
所述数据类型约束用于约束所述第一待连接管脚的数据传输类型和所述第二待连接管脚的数据传输类型存在交集;
所述重复性连接约束用于约束所述第一待连接管脚与所述第二待连接管脚之间未进行管脚连接;
所述数据环路约束用于约束所述第一待连接管脚与所述第二待连接管脚之间进行连接生成有向无环图;
所述管脚类型约束用于约束所述第一待连接管脚和所述第二待连接管脚不能同时作为输入或同时作为输出;和/或,
所述管脚类型约束还用于约束单连接类型的第一待连接管脚未进行管脚连接,以及约束单连接类型的第二待连接管脚未进行管脚连接。
5.根据权利要求1所述的AI应用生成方法,其特征在于,若所述模块操作指令为新增场景块指令,所述对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,包括:
确定所述新增场景块指令指示的新增场景块,以及所述新增场景块指令指示的新增位置;
将所述新增场景块插入所述新增位置,所述新增场景块用于插入单元块。
6.根据权利要求1所述的AI应用生成方法,其特征在于,若所述模块操作指令为插入单元块指令,所述对所述模块操作指令指示的目标模块,执行所述模块操作指令对应的操作,包括:
确定所述插入单元块指令指示的新增单元块,以及所述插入单元块指令指示的插入位置;
将所述新增单元块插入所述插入位置,以提供所述计算图的运算节点。
7.根据权利要求1至6中任一项所述的AI应用生成方法,其特征在于,所述计算图中已连接的任两单元块是通过单元块的管脚进行连接的,所述单元块的管脚包括单输出管脚、单输入管脚、单输入输出管脚、多输出管脚、多输入管脚、多输入输出管脚、远程输入管脚、远程输出管脚或远程输入输出管脚。
8.根据权利要求1至6中任一项所述的AI应用生成方法,其特征在于,所述计算图中的任一单元块为算法单元块或功能单元块;
所述算法单元块封装有AI算法;
所述功能单元块封装有数据输入处理或数据输出处理。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述AI应用生成方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述AI应用生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210377282.1A CN114461184B (zh) | 2022-04-12 | 2022-04-12 | Ai应用生成方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210377282.1A CN114461184B (zh) | 2022-04-12 | 2022-04-12 | Ai应用生成方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114461184A CN114461184A (zh) | 2022-05-10 |
CN114461184B true CN114461184B (zh) | 2022-07-01 |
Family
ID=81417560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210377282.1A Active CN114461184B (zh) | 2022-04-12 | 2022-04-12 | Ai应用生成方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114461184B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213482A (zh) * | 2018-06-28 | 2019-01-15 | 清华大学天津高端装备研究院 | 基于卷积神经网络的人工智能图形化应用平台及应用方法 |
CN111667044A (zh) * | 2019-03-08 | 2020-09-15 | 北京火星人视野科技有限公司 | 一种基于图形编程的人工智能教学系统 |
CN112035101A (zh) * | 2020-06-30 | 2020-12-04 | 北京来也网络科技有限公司 | 结合rpa及ai的命令库创建方法、装置、介质及设备 |
CN112463138A (zh) * | 2020-11-18 | 2021-03-09 | 华南师范大学 | 一种软硬件结合的人工智能教育学习系统 |
CN112597239A (zh) * | 2020-12-30 | 2021-04-02 | 厦门渊亭信息科技有限公司 | 可视化建模方法、装置和电子设备 |
CN112987606A (zh) * | 2021-01-22 | 2021-06-18 | 中央民族大学 | 一种基于人工智能与物联网的可视化编程工具系统 |
CN113687821A (zh) * | 2021-10-27 | 2021-11-23 | 北京麟卓信息科技有限公司 | 一种基于图形可视化的智能代码拼接方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109460279A (zh) * | 2018-12-14 | 2019-03-12 | 平安城市建设科技(深圳)有限公司 | 基于小程序的表单页面开发方法、装置、设备及存储介质 |
US20210224046A1 (en) * | 2020-01-21 | 2021-07-22 | Ontology-Partners Ltd | Workflow engine for generating code based on visualizations |
CN111639859A (zh) * | 2020-06-01 | 2020-09-08 | 腾讯科技(深圳)有限公司 | 人工智能ai解决方案的模板生成方法和装置及存储介质 |
CN114063997A (zh) * | 2020-07-31 | 2022-02-18 | 伊姆西Ip控股有限责任公司 | 生成程序代码的方法、设备和计算机程序产品 |
-
2022
- 2022-04-12 CN CN202210377282.1A patent/CN114461184B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213482A (zh) * | 2018-06-28 | 2019-01-15 | 清华大学天津高端装备研究院 | 基于卷积神经网络的人工智能图形化应用平台及应用方法 |
CN111667044A (zh) * | 2019-03-08 | 2020-09-15 | 北京火星人视野科技有限公司 | 一种基于图形编程的人工智能教学系统 |
CN112035101A (zh) * | 2020-06-30 | 2020-12-04 | 北京来也网络科技有限公司 | 结合rpa及ai的命令库创建方法、装置、介质及设备 |
CN112463138A (zh) * | 2020-11-18 | 2021-03-09 | 华南师范大学 | 一种软硬件结合的人工智能教育学习系统 |
CN112597239A (zh) * | 2020-12-30 | 2021-04-02 | 厦门渊亭信息科技有限公司 | 可视化建模方法、装置和电子设备 |
CN112987606A (zh) * | 2021-01-22 | 2021-06-18 | 中央民族大学 | 一种基于人工智能与物联网的可视化编程工具系统 |
CN113687821A (zh) * | 2021-10-27 | 2021-11-23 | 北京麟卓信息科技有限公司 | 一种基于图形可视化的智能代码拼接方法 |
Non-Patent Citations (1)
Title |
---|
工业机器人通用图形化编程软件的研究;李煜卉等;《机电工程》;20160430(第04期);第502-506页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114461184A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105608258B (zh) | 一种基于模型的系统设计及信息流可视化仿真系统及方法 | |
CN111258571A (zh) | 机器人应用程序开发方法、系统、装置及存储介质 | |
CN111258913A (zh) | 算法自动测试方法、装置、计算机系统及可读存储介质 | |
US20180276321A1 (en) | Method and apparatus for testing design of satellite wiring harness and signal processing units | |
CN113590454A (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN114003451A (zh) | 一种接口测试方法、装置、系统及介质 | |
CN112464497A (zh) | 基于分布式系统的故障演练方法、装置、设备及介质 | |
KR102132383B1 (ko) | 딥러닝 알고리즘 및 트리를 이용한 ui테스팅 자동화 방법 및 동일 방법으로 구현된 장치 | |
KR101704338B1 (ko) | 실시간 시스템을 위한 테스트 케이스 생성 장치 및 방법 | |
CN114461184B (zh) | Ai应用生成方法、电子设备和存储介质 | |
CN113190449A (zh) | 管理平台与机器人mqtt协议测试方法、系统、设备及介质 | |
CN111506393A (zh) | 一种基于arm的虚拟化装置及其使用方法 | |
CN113495545A (zh) | 使用在环硬件测试车辆设备控制器的系统和方法 | |
CN110414021B (zh) | 工业物联网的边缘设备事件规则产生系统、装置和方法 | |
CN115952044A (zh) | 一种自动化测试方法及其装置 | |
CN115384526A (zh) | 调试系统和调试方法 | |
CN109712701A (zh) | 下位机模拟器及上位机系统测试方法 | |
Langner et al. | Framework for using real driving data in automotive feature development and validation | |
CN113341767A (zh) | 用于自动化测试的方法、系统和计算机可读存储介质 | |
CN114721286A (zh) | 分布式编译的并行实时仿真系统和仿真方法 | |
EP4336358A1 (en) | Parallel emulation for controls testing | |
CN114690662A (zh) | 设备检测方法、装置、系统、计算机设备和存储介质 | |
KR101197245B1 (ko) | 로봇 동작을 제어하는 프레임워크 시스템 및 이를 이용한 로봇의 동작 제어 방법 | |
CN113673088A (zh) | 一种自动化测试系统的构建方法及系统 | |
CN116775453A (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 |