CN113703772A - 基于ice的异构平台高效智能计算应用架构及其构建方法 - Google Patents

基于ice的异构平台高效智能计算应用架构及其构建方法 Download PDF

Info

Publication number
CN113703772A
CN113703772A CN202110965708.0A CN202110965708A CN113703772A CN 113703772 A CN113703772 A CN 113703772A CN 202110965708 A CN202110965708 A CN 202110965708A CN 113703772 A CN113703772 A CN 113703772A
Authority
CN
China
Prior art keywords
ice
objidentify
code
service
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110965708.0A
Other languages
English (en)
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.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202110965708.0A priority Critical patent/CN113703772A/zh
Publication of CN113703772A publication Critical patent/CN113703772A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

本发明涉及一种基于ICE的异构平台高效智能计算应用架构及其构建方法,属于人工智能领域。本发明基于ICE微服务平台构建,将通信模块从智能应用中分离开来,降低服务之间的耦合度,层次清楚便于维护,ICE使用远程过程调用协议实现远程通信;使用ICE的中立语言Slice统一服务接口定义,并使用ICE的编译工具将Slice语言翻译成各学习框架支持的语言,实现智能应用系统跨语言支持。基于IceGrid插件实现智能应用服务自动化治理,包括大规模服务的注册、定位、部署等功能。基于本架构模型构建智能应用系统可以屏蔽底层框架差异,当底层框架更新升级时,客户端应用不受影响,从而使上层用户摆脱对单一框架厂商的依赖。

Description

基于ICE的异构平台高效智能计算应用架构及其构建方法
技术领域
本发明属于人工智能领域,具体涉及一种基于ICE的异构平台高效智能计算应用架构及其构建方法。
背景技术
近年来,随着硬件性能、软件算法的不断提升完善,互联网大数据的广泛应用以及基于云平台的大规模计算能力的不断突破,以深度学习为核心的人工智能发展迅猛,适用于不同计算场景的深度学习框架层出不穷,其中代表性的有Caffe、TensorFlow、PyTorch等,这些深度学习框架能够提供人工智能基础算法的底层架构和接口,是推动人工智能产业发展的重要软件基础。然而,框架的差异给开发人员带来很大的困难,众多的框架训练出来的模型不能通用,基于模型产生的智能算法也仅可被特定编程语言的智能任务调用,事实上造成了深度学习框架的“碎片化”,打破框架壁垒,使底层智能计算资源互通,将是业界努力的方向。为了消除开发和生产阶段学习框架、编程语言差异带来的影响,组织者不得不采取一些变通方式来应对,比如要求研究人员在生产系统中工作或者使用各种编程语言重写多个智能算法及相关库实现对上层智能任务的调用支持。该方法面临着开发运维成本高、周期长、灵活性差等问题。
与此同时,随着云原生时代的到来,当前人工智能系统大多采用分布式服务化架构模式构建,与单体式应用不同,基于微服务的分布式智能应用需要管理运行在多台机器上的松散耦合的服务,这些服务使用不同的编程语言实现,利用不同的数据存储技术,系统规模和复杂度不断攀升,企业级微服务环境中,往往需要同时管理成百上千个服务。此类复杂系统的成功构建需要完善、易于使用且具有高效服务通信机制的微服务平台支撑。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于ICE的异构平台高效智能计算应用架构及其构建方法,以解决不同学习框架的差异性造成开发运维成本高、周期长、灵活性差的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于ICE的异构平台高效智能计算应用架构,该架构分为三大部分,智能应用客户端、多个异构平台智能算法服务器组成的计算资源池和IceGrid管理器;
智能应用客户端程序代码包括:应用代码、ICE中间件库和Slice接口编译生成的代理代码,用于运行计算任务,通过请求计算服务,获得计算结果;
服务器端包括多台异构系统,每台服务器端程序代码包括Slice接口编译生成的骨架框架代码、继承骨架框架代码实现服务端具体业务逻辑的服务实现代码、基于各平台学习框架实现的深度学习网络、封装服务对象的对象适配器代码和Ice中间件库,用于运行计算服务,返回计算结果;
客户端和服务器、服务器和服务器之间通过IceGrid管理器实现服务请求分派。
进一步地,所述基于各平台学习框架实现的深度学习网络的对外接口和支持的编程语言不相同。
本发明还提供一种基于所述架构实现的图像识别智能应用系统代码框架,图像识别应用客户端程序代码包括图像识别应用代码Client.cpp、ICE中间件C++核心库和Slice接口编译生成的代理代码ObjIdentify.cpp;
图像识别服务端代码包括针对异构平台进行Slice接口编译生成的骨架框架代码ObjIdentify.cpp/ObjIdentify.py、继承骨架框架代码实现服务端具体业务逻辑的服务实现代码ObjIdentifyI.cpp/ObjIdentifyI.py、基于各平台学习框架实现的图像识别网络、对象适配器代码和Ice中间件库代码。
进一步地,所述图像识别网络为Yolov3网络。
本发明还提供一种图像识别智能应用系统代码框架的构建方法,该方法包括如下步骤:
S1、对智能计算应用系统进行划分确定服务,使用Slice接口描述语言描述这些服务可以被调用的操作以及需要交换的数据,接口的定义存储在ObjIdentify.ice文件中;
S2、利用ICE提供的编译程序将Slice接口翻译为平台具体的框架代码,包括服务器端骨架框架代码和客户端代理代码;
S3、继承骨架框架代码,编程实现服务器端代码提供ICE对象的具体业务逻辑,同时利用ICE核心API实现对象适配器;
S4、实现客户端代码来获取服务器提供对象的代理;
S5、定义并部署配置文件,使用IceGrid管理器实现服务注册和服务自动发现;
S6、编译、运行客户端和服务器端代码,完成基于ICE的智能应用系统的开发。
进一步地,所述步骤S1中一个服务的描述对应一个单独的.ice文件。
进一步地,所述步骤S1中Slice定义含有一个接口,叫作ObjIdentify,接口仅提供了一个操作叫作GetObjBbox,该操作接受一个图像序列作为输入参数,输入参数类型为自定义数据类型Tensor,并返回图像识别结果,返回参数类型为自定义数据类型BboxSeq,该数据类型标识了各个识别结果的名称、坐标和置信度。
进一步地,所步骤S2中,使用ICE提供的slice2py命令行将ObjIdentify.ice翻译为Python语言,生成ObjIdentify.py文件;使用ICE提供的slice2cpp命令行将ObjIdentify.ice翻译为C++语言,生成ObjIdentify.h和ObjIdentify.cpp文件。
进一步地,所步骤S3中,在ObjIdentifyI.py文件/ObjIdentifyI.cpp文件中新建类ObjIdentifyI继承ObjIdentify类,并实现虚函数GetObjBbox,GetObjBbox函数再分别调用基于AscendCL和TensorFlow框架生成的深度学习网络实现图像识别功能,这样就实现了ObjIdentify.ice文件所描述的操作。
进一步地,所述步骤S4中,在Client.cpp中借助ICE核心库初始化ICE运行时,使用对象标识创建对象代理,调用GetObjBbox函数请求远程服务。
(三)有益效果
本发明提出一种基于ICE的异构平台高效智能计算应用架构及其构建方法,本发明基于ICE微服务平台构建,一是将通信模块从智能应用中分离开来,降低服务之间的耦合度,层次清楚便于维护,ICE使用远程过程调用协议实现远程通信,该协议主要工作在TCP协议之上,在对实时性要求较高的应用场景中仍然表现良好。二是使用ICE的中立语言Slice统一服务接口定义,并使用ICE的编译工具将Slice语言翻译成各学习框架支持的语言,实现智能应用系统跨语言支持。三是基于IceGrid插件实现智能应用服务自动化治理,包括大规模服务的注册、定位、部署等功能。综上,基于本架构模型构建智能应用系统可以屏蔽底层框架差异,当底层框架更新升级时,客户端应用不受影响,从而使上层用户摆脱对单一框架厂商的依赖。
采用本发明所属架构模型进行智能计算应用开发,可屏蔽异构平台下多种学习框架的差异性,统一多种来源智能算法的对外接口,不论是学习框架的升级或是智能算法实现上的改变,给上层用户造成的影响都很小。并且架构中采用的轻量级中间件ICE在通信上有着高效的表现,算法工程师和上层用户可以专注于各种业务的实现,无需考虑通信带来的复杂性。ICE目前支持9种语言,开发人员可以在该架构中根据需要使用不同的语言并成功交互,在大型分布式系统的开发中,可以应用此架构进行实现,帮助用户提升云原生应用生命周期管理的效率。
附图说明
图1为基于ICE的应用模型;
图2为传统孤岛式智能计算应用架构;
图3为异构平台高效智能计算应用架构模型;
图4为图像识别智能应用架构;
图5为图像识别智能应用系统代码框架。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明的目的是提出一种基于ICE的异构平台高效智能计算应用架构,该架构基于ZeroC ICE微服务平台实现,ICE可有效屏蔽不同学习框架的差异性,通过网络连接组合不同的运行框架使其形成统一的计算资源池,保证不同智能计算服务的正确执行以及计算效率的最大化,并实现服务调度的透明化与最优化,此外,与Spring Cloud、dubbo等微服务平台仅支持Java或其他特定语言不同,ZeroC ICE支持c++、JAVA、Python等多种开发语言以及多种语言相互调用,研究人员无需关心底层学习框架、编程语言差异和服务通信细节,只需要专注于上层业务逻辑,从而快速构建智能应用原型系统。
作为支持异构环境开发的中间件,ICE为构建面向对象的分布式客户/服务器应用提供了一系列工具、API和类库,用户只需将精力集中于业务逻辑的实现,而不必关心具体的网络通信。基于ICE的应用模型如图1所示。
客户端与服务器端程序都是由应用代码(客户应用和服务器应用)、库代码(客户端ICE核心、服务器端ICE核心和对象适配器)以及根据Slice语言定义生成的代码(代理和骨架)混合而成。ICE核心主要为客户端与服务器端运行提供底层支持,负责网络通信,初始化运行时,激活对象适配器和代理等。代理就是ICE对象(存在于远地或本机)的本地代表或句柄,客户通过代理请求服务器功能。对象适配器主要负责将客户端的请求映射到编程语言的特定方法上,并负责创建可以传给客户的代理。骨架提供向上的接口,能够接收用户的请求,为将控制处理转交给服务器的应用代码的实现提供框架。
ICE定义了自己的接口描述语言Slice,程序间通信的接口由Slice语言定义。程序间可以使用不同语言实现,只要保证ICE的抽象语言Slice接口的统一即可。通过Slice语言描述各种类型和对象接口,再由编译器编译为特定实现语言的类型定义和API,可以将对象的声明与其具体实现进行分离。由于这种抽象机制,它提供了跨平台、跨语言的解决方案:客户端和服务器端可以用不同的编程语言来实现,可以在多种操作系统和硬件架构上运行。
服务治理方面,ICE提供了IceGrid管理器来管理分布式环境中各节点和服务器之间的处理关系,大量节点的请求可以通过IceGrid服务分送到不同的服务器节点进行处理。IceGrid解决了分布式应用开发的一些重要问题,包括位置透明性、部署。
图2是传统智能计算框架图,图3是本发明提出的一种基于ICE的异构平台高效智能计算应用架构模型。如图2所示,各个深度学习框架的对外接口和支持的编程语言不尽相同,造成了平台的异构,从而产生了众多烟囱式应用:智能应用客户端使用单纯的Socket通信机制只能向既定框架下相同编程语言的智能算法服务请求服务,各个平台的智能算法服务之间无法跨语言通信,同时通信功能内置在业务逻辑中,会造成通信冗余、代码重复。
通常情况下一个系统既是客户又是服务器,往往要求任何两个系统都可以双向通信,完成互操作的应用。如图3所示本发明提出的应用架构模型在传统智能计算框架上引入了Zeroc ICE微服务平台。架构分为三大部分,智能应用客户端、多个异构平台智能算法服务器组成的计算资源池、IceGrid管理器。
智能应用客户端程序代码包括:应用代码、ICE中间件库和Slice接口编译生成的代理代码,用于运行计算任务,通过请求计算服务,获得计算结果;
服务器端包括多台异构系统,每台服务器端程序代码包括Slice接口编译生成的骨架框架代码、继承骨架框架代码实现服务端具体业务逻辑的服务实现代码、基于各平台学习框架实现的深度学习网络、封装服务对象的对象适配器代码、Ice中间件库,用于运行计算服务,返回计算结果;
客户端和服务器、服务器和服务器之间通过IceGrid管理器实现服务请求分派。
ICE在本发明的架构模型中扮演着承上启下的角色,通过提供一套标准化的应用服务系统,使上层智能应用客户端与智能算法解耦、智能算法与下层框架解耦,不同框架、不同来源的智能算法之间、智能算法与智能应用客户端之间均可正确交互,打通了各种框架之间的计算壁垒,消除了框架和智能算法“信息孤岛”。
下面以图像识别智能应用场景为例,结合附图对本发明方案作进一步详细描述。基于本发明架构模型细化的图像识别应用架构如图4所示,其他场景下的智能应用架构与本实施例类似,可在此架构基础上进一步扩展。
图像识别智能应用采用CS架构构建,由服务器端和客户端组成,客户端运行图像识别任务,主要是请求服务,获得图像识别结果。客户端运行环境采用x86架构主机,安装win7操作系统,客户端程序编程语言为C++。
服务器端运行图像识别服务,服务器端由两台异构系统组成,服务器A采用华为Atlas 200DK开发板,安装Ubuntu操作系统,运行华为AscendCL加速库,图像识别服务程序编程语言为Python。服务器B采用FT1500+VPX FPGA智能加速卡,安装Fedora操作系统,运行TensorFlow深度学习框架,图像识别服务程序编程语言为C++。
IceGrid管理器负责客户端和服务器、服务器和服务器之间的请求分派,实现应用系统中的各个服务有效的组织和发现。
本实施例智能应用架构中的客户端主机和服务器主机在硬件设备、操作系统、编程语言之间存在一定的异构,服务器A和服务器B在硬件设备、操作系统、深度学习框架、编程语言等之间均存在着异构。利用ICE的跨平台、多语言支持,使用统一的Slice接口来屏蔽平台和语言的多样化,完成数据传递、数据类型转换和编码转换工作,以此实现稳定、安全的支撑平台,从而在异构系统间进行信息交换。
所设计的图像识别智能应用系统代码框架如图5所示。
图像识别应用客户端程序代码包括,图像识别应用代码Client.cpp、ICE中间件C++核心库和Slice接口编译生成的代理代码ObjIdentify.cpp。图像识别服务端代码包括,针对异构平台进行Slice接口编译生成的骨架框架代码ObjIdentify.cpp/ObjIdentify.py、继承骨架框架代码实现服务端具体业务逻辑的服务实现代码ObjIdentifyI.cpp、ObjIdentifyI.py、基于各平台学习框架实现的图像识别网络,本实施例采用Yolov3网络,以及对象适配器代码和Ice中间件库代码。
以图像识别应用为例,基于ICE的异构平台高效智能计算应用架构的构建流程如下。
S1、对智能计算应用系统进行划分确定服务,使用Slice接口描述语言描述这些服务可以被调用的操作以及需要交换的数据,接口的定义存储在ObjIdentify.ice文件中。为便于服务扩展,一个服务的描述最好对应一个单独的.ice文件。
本实施例的智能应用仅包含图像识别服务,该服务的接口描述如下:
Figure BDA0003223791650000071
Slice定义含有一个接口,叫作ObjIdentify。接口仅提供了一个操作叫作GetObjBbox,该操作接受一个图像序列作为输入参数,输入参数类型为自定义数据类型Tensor,并返回图像识别结果,返回参数类型为自定义数据类型BboxSeq,该数据类型标识了各个识别结果的名称、坐标和置信度。
S2、利用ICE提供的编译程序将Slice接口翻译为平台具体的框架代码,包括服务器端骨架框架代码和客户端代理代码。
本实施例中服务器A的编程语言为Python,服务器B的编程语言为C++,客户端的编程语言为C++,因此使用ICE提供的slice2py命令行将ObjIdentify.ice翻译为Python语言,生成ObjIdentify.py文件,作为服务器A的骨架框架代码;使用ICE提供的slice2cpp命令行将ObjIdentify.ice翻译为C++语言,生成ObjIdentify.h和ObjIdentify.cpp文件,作为服务器B的骨架框架代码和客户端代理代码。
S3、继承骨架框架代码,编程实现服务器端代码提供ICE对象的具体业务逻辑,同时利用ICE核心API实现对象适配器。
ObjIdentify.ice文件编译后生成的为抽象类,因此服务端需要分别继承骨架框架代码ObjIdentify.py和ObjIdentify.cpp编写实现子类。在服务器A的ObjIdentifyI.py文件和服务器B的ObjIdentifyI.cpp文件中分别新建一个类ObjIdentifyI继承ObjIdentify类,并实现虚函数GetObjBbox,GetObjBbox函数再分别调用基于AscendCL和TensorFlow框架生成的深度学习网络Yolov3实现图像识别功能,这样就实现了ObjIdentify.ice文件所描述的操作。客户端需要使用对象标识作为服务请求参数,因此服务器端还需要调用ICE核心API实现对象适配器,完成对象的封装,并初始化ICE运行时,为响应服务请求做准备,这部分代码对应Server.cpp和Server.py。
S4、实现客户端代码来获取服务器提供对象的代理。
在Client.cpp中借助ICE核心库初始化ICE运行时,使用对象标识创建对象代理,调用GetObjBbox函数请求远程服务。
S5、定义并部署配置文件,使用IceGrid管理器实现服务注册和服务自动发现。
服务注册主要是实现应用系统中的各个服务有效的组织和发现。使用IceGrid后,客户端的服务查找请求会触发IceGrid插件里的服务注册中心对服务器的查询和按需启动。在部署应用前,需要首先定义xml格式的应用部署描述符文件,在其中指定服务器A和服务器B的可执行文件路径及其运行位置,添加对象适配器名称和对象标识等信息,实现服务注册;之后在IceGrid配置文件中指定服务注册中心以及服务器A和服务器B的运行位置,包括网络地址、端口号;客户端程序也需要知道注册中心位置,最后在客户端配置文件中指定服务注册中心位置,包括网络地址、端口号。
S6、编译、运行客户端和服务器端代码。通过以上步骤,就可以完成基于ICE的智能应用系统的开发。
至此已经准备好了配置文件,使用icegridregistry启动IceGrid注册服务中心。已知注册中心已经启动并运行,并确认icegridadmin可以和注册中心通信后,使用icegridadmin部署应用程序,假设描述符位于/opt/ObjIdentify/app.xml,部署命令如下:
application add"/opt/ObjIdentify/app.xml"
至此服务端应用已经部署完成,启动客户端可以开始服务请求/服务应答过程。服务端也可以作为客户端向其他服务发出请求,从而实现服务之间的调用。
本发明基于ICE微服务平台构建,一是将通信模块从智能应用中分离开来,降低服务之间的耦合度,层次清楚便于维护,ICE使用远程过程调用协议实现远程通信,该协议主要工作在TCP协议之上,在对实时性要求较高的应用场景中仍然表现良好。二是使用ICE的中立语言Slice统一服务接口定义,并使用ICE的编译工具将Slice语言翻译成各学习框架支持的语言,实现智能应用系统跨语言支持。三是基于IceGrid插件实现智能应用服务自动化治理,包括大规模服务的注册、定位、部署等功能。综上,基于本架构模型构建智能应用系统可以屏蔽底层框架差异,当底层框架更新升级时,客户端应用不受影响,从而使上层用户摆脱对单一框架厂商的依赖。
采用本发明所属架构模型进行智能计算应用开发,可屏蔽异构平台下多种学习框架的差异性,统一多种来源智能算法的对外接口,不论是学习框架的升级或是智能算法实现上的改变,给上层用户造成的影响都很小。并且架构中采用的轻量级中间件ICE在通信上有着高效的表现,算法工程师和上层用户可以专注于各种业务的实现,无需考虑通信带来的复杂性。ICE目前支持9种语言,开发人员可以在该架构中根据需要使用不同的语言并成功交互,在大型分布式系统的开发中,可以应用此架构进行实现,帮助用户提升云原生应用生命周期管理的效率。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种基于ICE的异构平台高效智能计算应用架构,其特征在于,该架构分为三大部分,智能应用客户端、多个异构平台智能算法服务器组成的计算资源池和IceGrid管理器;
智能应用客户端程序代码包括:应用代码、ICE中间件库和Slice接口编译生成的代理代码,用于运行计算任务,通过请求计算服务,获得计算结果;
服务器端包括多台异构系统,每台服务器端程序代码包括Slice接口编译生成的骨架框架代码、继承骨架框架代码实现服务端具体业务逻辑的服务实现代码、基于各平台学习框架实现的深度学习网络、封装服务对象的对象适配器代码和Ice中间件库,用于运行计算服务,返回计算结果;
客户端和服务器、服务器和服务器之间通过IceGrid管理器实现服务请求分派。
2.如权利要求1所述的基于ICE的异构平台高效智能计算应用架构,其特征在于,所述基于各平台学习框架实现的深度学习网络的对外接口和支持的编程语言不相同。
3.一种基于如权利要求1或2的架构实现的图像识别智能应用系统代码框架,其特征在于,
图像识别应用客户端程序代码包括图像识别应用代码Client.cpp、ICE中间件C++核心库和Slice接口编译生成的代理代码ObjIdentify.cpp;
图像识别服务端代码包括针对异构平台进行Slice接口编译生成的骨架框架代码ObjIdentify.cpp/ObjIdentify.py、继承骨架框架代码实现服务端具体业务逻辑的服务实现代码ObjIdentifyI.cpp/ObjIdentifyI.py、基于各平台学习框架实现的图像识别网络、对象适配器代码和Ice中间件库代码。
4.如权利要求3所述的图像识别智能应用系统代码框架,其特征在于,所述图像识别网络为Yolov3网络。
5.一种如权利要求3或4所述的图像识别智能应用系统代码框架的构建方法,其特征在于,该方法包括如下步骤:
S1、对智能计算应用系统进行划分确定服务,使用Slice接口描述语言描述这些服务可以被调用的操作以及需要交换的数据,接口的定义存储在ObjIdentify.ice文件中;
S2、利用ICE提供的编译程序将Slice接口翻译为平台具体的框架代码,包括服务器端骨架框架代码和客户端代理代码;
S3、继承骨架框架代码,编程实现服务器端代码提供ICE对象的具体业务逻辑,同时利用ICE核心API实现对象适配器;
S4、实现客户端代码来获取服务器提供对象的代理;
S5、定义并部署配置文件,使用IceGrid管理器实现服务注册和服务自动发现;
S6、编译、运行客户端和服务器端代码,完成基于ICE的智能应用系统的开发。
6.如权利要求5所述的图像识别智能应用系统代码框架的构建方法,其特征在于,其特征在于,所述步骤S1中一个服务的描述对应一个单独的.ice文件。
7.如权利要求5所述的图像识别智能应用系统代码框架的构建方法,其特征在于,其特征在于,所述步骤S1中Slice定义含有一个接口,叫作ObjIdentify,接口仅提供了一个操作叫作GetObjBbox,该操作接受一个图像序列作为输入参数,输入参数类型为自定义数据类型Tensor,并返回图像识别结果,返回参数类型为自定义数据类型BboxSeq,该数据类型标识了各个识别结果的名称、坐标和置信度。
8.如权利要求7所述的图像识别智能应用系统代码框架的构建方法,其特征在于,其特征在于,所步骤S2中,使用ICE提供的slice2py命令行将ObjIdentify.ice翻译为Python语言,生成ObjIdentify.py文件;使用ICE提供的slice2cpp命令行将ObjIdentify.ice翻译为C++语言,生成ObjIdentify.h和ObjIdentify.cpp文件。
9.如权利要求8所述的图像识别智能应用系统代码框架的构建方法,其特征在于,其特征在于,所步骤S3中,在ObjIdentifyI.py文件/ObjIdentifyI.cpp文件中新建类ObjIdentifyI继承ObjIdentify类,并实现虚函数GetObjBbox,GetObjBbox函数再分别调用基于AscendCL和TensorFlow框架生成的深度学习网络实现图像识别功能,这样就实现了ObjIdentify.ice文件所描述的操作。
10.如权利要求9所述的图像识别智能应用系统代码框架的构建方法,其特征在于,其特征在于,所述步骤S4中,在Client.cpp中借助ICE核心库初始化ICE运行时,使用对象标识创建对象代理,调用GetObjBbox函数请求远程服务。
CN202110965708.0A 2021-08-23 2021-08-23 基于ice的异构平台高效智能计算应用架构及其构建方法 Pending CN113703772A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110965708.0A CN113703772A (zh) 2021-08-23 2021-08-23 基于ice的异构平台高效智能计算应用架构及其构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110965708.0A CN113703772A (zh) 2021-08-23 2021-08-23 基于ice的异构平台高效智能计算应用架构及其构建方法

Publications (1)

Publication Number Publication Date
CN113703772A true CN113703772A (zh) 2021-11-26

Family

ID=78653876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110965708.0A Pending CN113703772A (zh) 2021-08-23 2021-08-23 基于ice的异构平台高效智能计算应用架构及其构建方法

Country Status (1)

Country Link
CN (1) CN113703772A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114282641A (zh) * 2022-03-07 2022-04-05 麒麟软件有限公司 一种通用异构加速框架的构建方法
CN116521150A (zh) * 2023-07-04 2023-08-01 北京凯思昊鹏软件工程技术有限公司 一种支持异构融合的分布式系统及通信方法
WO2023165206A1 (zh) * 2022-03-04 2023-09-07 麒麟软件有限公司 国产操作系统适配Ceph的方法
CN117041980A (zh) * 2023-10-09 2023-11-10 之江实验室 一种网元管理方法、装置、存储介质及电子设备
CN116521146B (zh) * 2023-04-24 2024-02-06 北京龙软科技股份有限公司 一种云gis平台的二次开发系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143823A1 (en) * 2003-01-10 2004-07-22 Wei Coach K. System and method for network-based computing
CN101976199A (zh) * 2010-10-15 2011-02-16 德讯科技股份有限公司 面向对象的中间件分布式系统开发平台
US20170045571A1 (en) * 2014-08-14 2017-02-16 Bango Joseph System for the standoff detection of power line hazards
CN106790084A (zh) * 2016-12-22 2017-05-31 中国科学院电子学研究所苏州研究院 一种基于ice中间件的异构资源集成框架及其集成方法
US20200014633A1 (en) * 2018-07-03 2020-01-09 Electronics And Telecommunications Research Institute System and method to control a cross domain workflow based on a hierarchical engine framework
CN112231991A (zh) * 2020-10-13 2021-01-15 江苏大学镇江流体工程装备技术研究院 一种机器学习数据库的自动构建方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143823A1 (en) * 2003-01-10 2004-07-22 Wei Coach K. System and method for network-based computing
CN101976199A (zh) * 2010-10-15 2011-02-16 德讯科技股份有限公司 面向对象的中间件分布式系统开发平台
US20170045571A1 (en) * 2014-08-14 2017-02-16 Bango Joseph System for the standoff detection of power line hazards
CN106790084A (zh) * 2016-12-22 2017-05-31 中国科学院电子学研究所苏州研究院 一种基于ice中间件的异构资源集成框架及其集成方法
US20200014633A1 (en) * 2018-07-03 2020-01-09 Electronics And Telecommunications Research Institute System and method to control a cross domain workflow based on a hierarchical engine framework
CN112231991A (zh) * 2020-10-13 2021-01-15 江苏大学镇江流体工程装备技术研究院 一种机器学习数据库的自动构建方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
EXPLORERMAN, pages 1 - 7, Retrieved from the Internet <URL:《https://www.cnblogs.com/ExMan/p/10548301.html》> *
WHAO2WORLD: "ZeroC Ice框架介绍", pages 1 - 5, Retrieved from the Internet <URL:《https://www.cnblogs.com/whao2world/p/14273245.html》> *
丁云亮;谷利泽;杨榆;: "基于分布式中间件ICE的应用架构研究", 计算机应用, no. 2, pages 1 - 5 *
江卓逞: "基于 ICE 的分布式自动化快速测试验证平台架构研究", 《科技创新与应用》, pages 20 - 22 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023165206A1 (zh) * 2022-03-04 2023-09-07 麒麟软件有限公司 国产操作系统适配Ceph的方法
CN114282641A (zh) * 2022-03-07 2022-04-05 麒麟软件有限公司 一种通用异构加速框架的构建方法
CN116521146B (zh) * 2023-04-24 2024-02-06 北京龙软科技股份有限公司 一种云gis平台的二次开发系统
CN116521150A (zh) * 2023-07-04 2023-08-01 北京凯思昊鹏软件工程技术有限公司 一种支持异构融合的分布式系统及通信方法
CN116521150B (zh) * 2023-07-04 2023-10-13 北京凯思昊鹏软件工程技术有限公司 一种支持异构融合的分布式系统及通信方法
CN117041980A (zh) * 2023-10-09 2023-11-10 之江实验室 一种网元管理方法、装置、存储介质及电子设备
CN117041980B (zh) * 2023-10-09 2024-01-09 之江实验室 一种网元管理方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
CN113703772A (zh) 基于ice的异构平台高效智能计算应用架构及其构建方法
US6148323A (en) System and method for managing the execution of system management
CN110278249B (zh) 一种分布式群体智能系统
CN111745651B (zh) 一种智能机器人操作系统结构及其运作方法
US5915113A (en) Visual application partitioning for creating distributed object oriented applications
US6349342B1 (en) Methods and apparatus for managing computer processes
CN111459605A (zh) 一种基于Docker的边缘计算网关虚拟化方法
CN110704070B (zh) 一种分区实时操作系统下dds通信中间件的构建方法
CN116074208B (zh) 一种多模态网络的模态部署方法及模态部署系统
CN115150454A (zh) 一种跨操作系统的中心化发布订阅通信中间件
CN111783312A (zh) 基于owl的军事仿真模型及资源描述方法
US11249786B2 (en) Virtualizing hardware components that implement AI applications
JP2021068415A (ja) コード実行方法、装置、レンダリングデバイス、記憶媒体、及びプログラム
KR100370548B1 (ko) 임베디드 시스템의 통합 소프트웨어 개발 프레임워크를제공하는 실시간 미들웨어 장치 및 그 서비스 방법
Banerjee et al. Programming paradigm and the internet of things
US9588947B1 (en) Integrated administrative interface for open network programming applications
CN103684904A (zh) 基于ip三网融合网络监控系统
KR102496687B1 (ko) 도커화된 인공지능 라이브러리에 대한 프록시 생성 장치 및 방법, 도커화된 인공지능 라이브러리 기반 ros 분산 시스템
Spieldenner et al. ECA2LD: From entity-component-attribute runtimes to linked data applications
CN114285698A (zh) 一种嵌入式操作系统上基于K3s的DDS通信中间件的构建方法
Bouraqadi-Saâdani et al. A reflective infrastructure for coarse-grained strong mobility and its tool-based implementation
Patkar et al. Software framework for wireless sensor network virtualization
CN116521150B (zh) 一种支持异构融合的分布式系统及通信方法
CN114003232B (zh) 一种基于航电数据模型的传输服务实现方法
CN103246517A (zh) 一种智能客户端程序调用webservice实现数据库事务持续化的方法

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