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

一种机器学习算法运行方法、装置、设备及介质与流程

2022-11-30 08:19:55 来源:中国专利 TAG:


1.本技术涉及机器学习算法技术领域,尤其涉及一种机器学习算法运行方法、装置、设备及介质。


背景技术:

2.近年来,随着大数据产业链的逐渐成熟,各种各样的机器学习算法的使用逐渐成为现阶段解决很多大数据分析和人工智能问题的主流方法。机器学习作为一个独立的方向,正处于高速发展之中,很多基于机器学习算法,从事人工智能解决方案的企业也在蓬勃发展。
3.现阶段,主流的机器学习算法框架主要包括pytorch和tensorflow等。在实现各种各样的机器学习算法时,每种机器学习算法使用的算法框架可以不同。当每种机器学习算法使用的算法框架不同时,每种算法框架依赖的运行环境(基础环境)通常也不同。也就是说,针对每种机器学习算法,在运行该机器学习算法时通常需要部署该机器学习算法依赖的运行环境,否则,该机器学习算法将无法运行。例如,如果在服务器上只部署了pytorch算法框架的运行环境,那么基于tensorflow算法框架实现的机器学习算法将无法在该服务器中得以运行。
4.为了可以在服务器等电子设备中同时运行依赖不同运行环境的机器学习算法,相关技术中可以在服务器等电子设备中安装环境管理工具conda,conda可以激活不同机器学习算法依赖的运行环境,使多种机器学习算法可以同时运行。
5.然而,同时运行多种机器学习算法时,如何保证多种机器学习算法之间的数据安全及合理占用电子设备资源,是目前亟需解决的一个技术问题。


技术实现要素:

6.本技术提供了一种机器学习算法运行方法、装置、设备及介质,用以在同时运行多种机器学习算法的同时,还可以保证多种机器学习算法之间的数据安全及占用电子设备资源的合理性。
7.第一方面,本技术提供了一种机器学习算法运行方法,所述方法包括:
8.接收机器学习算法的算法压缩包及携带所述机器学习算法的运行环境的conda环境压缩包;
9.将所述算法压缩包和所述conda环境压缩包解压到设定的目录地址;获取所述算法压缩包携带的算法信息及所述conda环境压缩包解压后的conda环境包目录名称;
10.将所述算法信息、所述conda环境包目录名称及容器的容器启动脚本名称,配置到预先创建的conda基础镜像的系统环境变量中,其中所述conda基础镜像能够运行所述机器学习算法,并且所述conda基础镜像能够在所述容器中运行;
11.若接收到容器启动指令,通过所述容器启动脚本名称对应的容器启动脚本将所述目录地址挂载到所述容器中;根据所述conda基础镜像的系统环境变量中的配置信息,激活
所述机器学习算法的运行环境,启动并运行所述机器学习算法。
12.第二方面,本技术提供了一种机器学习算法运行装置,所述装置包括:
13.接收模块,用于接收机器学习算法的算法压缩包及携带所述机器学习算法的运行环境的conda环境压缩包;
14.获取模块,用于将所述算法压缩包和所述conda环境压缩包解压到设定的目录地址;获取所述算法压缩包携带的算法信息及所述conda环境压缩包解压后的conda环境包目录名称;
15.配置模块,用于将所述算法信息、所述conda环境包目录名称及容器的容器启动脚本名称,配置到预先创建的conda基础镜像的系统环境变量中,其中所述conda基础镜像能够运行所述机器学习算法,并且所述conda基础镜像能够在所述容器中运行;
16.运行模块,用于若接收到容器启动指令,通过所述容器启动脚本名称对应的容器启动脚本将所述目录地址挂载到所述容器中;根据所述conda基础镜像的系统环境变量中的配置信息,激活所述机器学习算法的运行环境,启动并运行所述机器学习算法。
17.第三方面,本技术提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述机器学习算法运行方法的步骤。
18.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一所述机器学习算法运行方法的步骤。
19.由于本技术可以在电子设备的容器中运行机器学习算法及conda基础镜像,从而不仅可以基于conda基础镜像,激活不同机器学习算法依赖的运行环境,使多种机器学习算法可以同时运行;同时,还可以基于容器的沙箱机制,对电子设备中同时运行的不同机器学习算法的数据进行安全隔离,保证多种机器学习算法之间的数据安全;另外,还可以基于容器的沙箱机制,对当前运行的机器学习算法占用电子设备资源的大小进行限制,从而达到合理的占用电子设备资源的目的。
附图说明
20.为了更清楚地说明本技术实施例或相关技术中的实施方式,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
21.图1示出了一些实施例提供的一种机器学习算法运行过程示意图;
22.图2示出了一些实施例提供的另一种机器学习算法运行过程示意图;
23.图3示出了一些实施例提供的一种机器学习算法运行装置示意图;
24.图4示出了一些实施例提供的一种电子设备结构示意图。
具体实施方式
25.为了可以在同时运行多种机器学习算法的同时,还可以保证多种机器学习算法之间的数据安全及占用电子设备资源的合理性,本技术实施例提供了一种机器学习算法运行方法、装置、设备及介质。
26.为使本技术的目的和实施方式更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。
27.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
28.本技术中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
29.术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
30.术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
31.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
32.为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
33.在实际使用过程中,服务器等电子设备可以接收用户上传的机器学习算法的算法压缩包及携带该机器学习算法的运行环境的conda环境压缩包;并将该算法压缩包和conda环境压缩包解压到设定的目录地址,获取算法压缩包携带的算法信息及conda环境压缩包解压后的conda环境包目录名称;然后,可以将获取的算法信息、conda环境包目录名称及容器的容器启动脚本名称,配置到预先创建的conda基础镜像的系统环境变量中,其中该conda基础镜像能够运行机器学习算法,并且该conda基础镜像能够在容器中运行;电子设备若接收到容器启动指令,可以通过容器启动脚本将目录地址挂载到容器中;并根据conda基础镜像的系统环境变量中的配置信息,先激活机器学习算法的运行环境,然后启动并运行机器学习算法。由于本技术可以在电子设备的容器中运行机器学习算法及conda基础镜像,从而不仅可以基于conda基础镜像,激活不同机器学习算法依赖的运行环境,使多种机器学习算法可以同时运行;同时,还可以基于容器的沙箱机制,对电子设备中同时运行的不同机器学习算法的数据进行安全隔离,从而实现保证多种机器学习算法之间的数据安全的目的;另外,还可以基于容器的沙箱机制,对当前运行的机器学习算法占用电子设备资源的大小进行限制,从而实现可以合理的占用电子设备资源的目的。
34.图1示出了一些实施例提供的一种机器学习算法运行过程示意图,该过程包括以
下步骤:
35.s101:接收机器学习算法的算法压缩包及携带所述机器学习算法的运行环境的conda环境压缩包。
36.本技术实施例提供的机器学习算法运行方法应用于电子设备,该电子设备可以是服务器,也可以是pc、移动终端等设备。
37.在一种可能的实施方式中,用户可以创建预运行的机器学习算法(为方便描述,称为算法)的算法压缩包。具体的,创建该机器学习算法的算法压缩包时,用户可以填写该机器学习算法的算法信息(算法详情)。示例性的,用户填写的算法信息中可以包括:该机器学习算法的算法名称、主类名、算法分类、运行方式、程序类型、运行环境、算法描述、服务端口、算法启动脚本等信息。
38.其中,算法分类是为了区分不同业务类型的机器学习算法。机器学习算法的运行方式可以包括一次性运行、周期性运行或持久性运行等。运行环境可以选择pytorch或tensorflow等机器学习算法框架,其中pytorch和tensorflow机器学习算法框架是颇受社区欢迎的两种深度学习框架,这两种机器学习算法框架均使用了类似大脑架构的人工神经网络,让算法工程师(用户)可以轻松的构建和训练不同类型的机器学习算法。服务端口是为机器学习算法提供的超文本传输协议(hyper text transfer protocol,http)监听端口,如果机器学习算法对外提供服务,该服务端口会在机器学习算法被启动后,在容器中暴露出来,供服务调用。算法启动脚本是机器学习算法的启动入口,机器学习算法可以基于该算法启动脚本启动并运行。另外,算法压缩包中还可以包括算法程序文件,算法程序文件主要包括算法脚本文件和算法模型文件。可以理解的,算法压缩包中携带的机器学习算法须在用户测试环境下调试正常。
39.同时,用户还可以提供预运行的机器学习算法依赖的运行环境的conda环境压缩包。其中,用户可以基于现有技术创建(提供)机器学习算法的算法压缩包及携带有机器学习算法的运行环境的conda环境压缩包,在此不再赘述。
40.用户创建了机器学习算法的算法压缩包及携带有该机器学习算法的运行环境的conda环境压缩包之后,可以将该算法压缩包和conda环境压缩包上传到服务器等电子设备中。电子设备可以接收用户上传的机器学习算法的算法压缩包及携带机器学习算法的运行环境的conda环境压缩包。
41.s102:将所述算法压缩包和所述conda环境压缩包解压到设定的目录地址;获取所述算法压缩包携带的算法信息及所述conda环境压缩包解压后的conda环境包目录名称。
42.在一种可能的实施方式中,电子设备在接收到用户上传的机器学习算法的算法压缩包及携带机器学习算法的运行环境的conda环境压缩包后,可以基于tar命令等,对算法压缩包和conda环境压缩包进行解压缩操作,将该算法压缩包和conda环境压缩包解压到设定的电子设备的目录地址中,并可以记录解压路径(目录地址)和解压的目录名称等信息。示例性的,电子设备在将算法压缩包和conda环境压缩包解压到设定的目录地址之后,可以获取算法压缩包携带的算法启动脚本等算法信息及conda环境压缩包解压后的conda环境包目录名称。在一种可能的实施方式中,设定的目录地址可以根据需求灵活设置,本技术对此不做具体限定。
43.s103:将所述算法信息、所述conda环境包目录名称及容器的容器启动脚本名称,
配置到预先创建的conda基础镜像的系统环境变量中,其中所述conda基础镜像能够运行所述机器学习算法,并且所述conda基础镜像能够在所述容器中运行。
44.在一种可能的实施方式中,conda是一款开源的软件包(机器学习算法)管理系统和环境管理系统,可以用于安装多个版本的软件包及其依赖关系,并在它们之间进行轻松切换。另外,容器是完全使用沙箱机制,相互之间不会有任何接口,基于容器的沙箱机制,可以对电子设备中同时运行的不同机器学习算法的数据进行安全隔离,保证多种机器学习算法之间的数据安全;同时,还可以对当前运行的机器学习算法占用电子设备资源的大小进行限制,从而可以合理的占用电子设备资源。为了不仅可以运行多种机器学习算法,还可以保证多种机器学习算法之间的数据安全及合理占用电子设备资源,可以预先创建conda基础镜像,该预先创建的conda基础镜像能够运行机器学习算法,而且该conda基础镜像能够在容器中运行。
45.在一种可能的实施方式中,电子设备获取到算法压缩包携带的算法信息及conda环境压缩包解压后的conda环境包目录名称之后,可以将获取到的算法信息、conda环境包目录名称及容器的容器启动脚本名称等,配置到预先创建的conda基础镜像的系统环境变量中。
46.具体的,在一种可能的实施方式中,在预先创建conda基础镜像时,可以创建conda基础镜像的系统环境变量,示例性的,conda基础镜像的系统环境变量中可以包含conda基础镜像对应的标准helmchart包。其中,helmchart可以通过模板化的方法,将应用(机器学习算法)所需要的资源文件都包装起来,将一些可变的字段,比如要暴露哪一个端口、使用多少副本数量等,把这些信息都暴露给用户,最后将封装好的应用包,通过helm工具在kubernetes中一键启动conda基础镜像。
47.在一种可能的实施方式中,可以在helm chart包中的value.yaml中,配置如下参数:
48.①
condapath。其中,conda环境压缩包解压后的conda环境包目录名称可以配置到该参数中,后续可以基于该参数信息,在容器中激活该conda环境包目录名称对应的conda虚拟环境(机器学习算法的运行环境)。在一种可能的实施方式中,可以通过helmchart的deployment.yaml中的env将该参数信息配置到容器的系统环境变量中,后续在容器被启动后,可以从容器的系统环境变量中获取该参数信息。
49.②
startpythonscript。其中,算法信息中的算法启动脚本可以配置到该参数中。在一种可能的实施方式中,可以通过helmchart的deployment.yaml中的env将该参数信息配置到容器的系统环境变量中,后续在容器被启动后,可以从容器的系统环境变量中获取该参数信息。
50.③
conda.mountpath。其中,conda环境压缩包解压的目录地址可以配置到该参数中。在一种可能的实施方式中,可以将该参数信息配置到helmchart的deployment.yaml的volumes目录中,用来将该参数信息挂载到容器的指定目录中。
51.④
algorithm.mountpath。其中,算法压缩包解压的目录地址可以配置到该参数中。在一种可能的实施方式中,可以将该参数信息配置到helmchart的deployment.yaml的volumes目录中,用来将该参数信息挂载到容器的指定目录中。
52.⑤
service.port。其中,算法信息中算法的服务端口可以配置到该参数中。在一种
可能的实施方式中,该参数信息可以最终映射到helmchart的deployment.yaml中的containerport中,以及service.yaml中的port中,用于开放算法的服务端口,以可以对外提供算法服务。
53.s104:若接收到容器启动指令,通过所述容器启动脚本名称对应的容器启动脚本将所述目录地址挂载到所述容器中;根据所述conda基础镜像的系统环境变量中的配置信息,激活所述机器学习算法的运行环境,启动并运行所述机器学习算法。
54.在一种可能的实施方式中,在需要运行机器学习算法时,用户可以触发预设的容器启动指令,电子设备接收到容器启动指令后,可以根据容器启动脚本名称确定容器启动脚本,并通过该容器启动脚本,将步骤s102中算法压缩包和conda环境压缩包解压的目录地址挂载到容器中,使算法压缩包携带的机器学习算法和conda环境压缩包携带的机器学习算法的运行环境可以在容器中得以运行。
55.在一种可能的实施方式中,在运行机器学习算法时,可以根据conda基础镜像的系统环境变量中的配置信息,先激活机器学习算法的运行环境,然后再启动并运行机器学习算法。具体的,在一种可能的实施方式中,可以根据s103步骤中已经配置好的系统环境变量(value.yaml),将value.yaml配置信息映射到deployment.yaml和service.yaml中,然后通过helm在kubernetes中安装deployment.yaml和service.yaml这两个yaml文件。
56.其中,deployment.yaml主要用于启动容器,将已经解压的算法文件和conda环境包挂载到容器中,并根据算法信息中的服务端口对容器配置端口服务,最后例如可以通过调用创建在算法文件目录中的开始执行脚本(如start.sh脚本),以可以在容器中启动算法。service.yaml可以用于启动kubernetes的service,通过名称匹配,将endpoint指向刚启动的容器,并关联相应接口,从而实现可以根据算法的服务端口在容器和kubernetes的service中,暴露指定的服务端口,以提供算法服务。另外,kubernetes是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。本技术实施例可以通过kubernetes的service机制对外提供服务,实现不同算法的服务端口之间的互不冲突,可以节省系统资源。
57.在一种可能的实施方式中,在上述实施例的基础上,在本技术实施例中,预先创建所述conda基础镜像的过程可以包括:
58.基于linux内核基础镜像,安装conda环境管理工具,以创建所述conda基础镜像。
59.应用容器引擎(docker)是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的linux或windows服务器等电子设备上运行。在一种可能的实施方式中,可以根据dockerfile文件(构建conda基础镜像的文本文件)中包含的构建conda基础镜像所需的指令和说明等信息来创建conda基础镜像。在一种可能的实施方式中,可以根据dockerfile文件中的信息,基于linux内核基础镜像,安装conda环境管理工具。示例性的,可以是底层使用linux内核基础镜像,在此基础上,安装conda环境管理工具,然后通过docker build命令,即可创建得到conda基础镜像,创建的conda基础镜像可以支持conda环境管理工具,而且能够运行机器学习算法,conda基础镜像也能够在容器中运行。
60.在一种可能的实施方式中,linux内核基础镜像可以是社区企业操作系统(community enterprise operating system,centos),具体的,底层可以使用社区最受欢
迎的centos,如centos 7等作为基础,再此基础上,安装conda环境管理工具,从而得以创建conda基础镜像。示例性的,以linux内核基础镜像为centos 7为例,在一种可能的实施方式中,为了使机器学习算法可以支持中文(汉字),创建conda基础镜像时,可以在conda基础镜像中添加中文语言包,示例性的,中文语言包的编码格式可以为utf-8。另外,在创建conda基础镜像时,可以设置时区为上海时区,从而可以确保后续机器学习算法可以获取正常的日期和时间等时间信息。
61.在一种可能的实施方式中,为了快捷的运行机器学习算法,在上述各实施例的基础上,在本技术实施例中,所述通过所述容器启动脚本名称对应的容器启动脚本将所述目录地址挂载到所述容器中之后,所述根据所述conda基础镜像的系统环境变量中的配置信息,激活所述机器学习算法的运行环境之前,所述方法还包括:
62.触发预设的开始执行脚本,基于所述开始执行脚本,执行后续步骤。
63.在一种可能的实施方式中,为了快捷的运行机器学习算法,可以预先设置开始执行脚本,示例性的,开始执行脚本可以是start.sh脚本。在将目录地址挂载到容器中之后,可以触发该预先设置的开始执行脚本,当开始执行脚本被触发后,可以基于该开始执行脚本,依次进行先激活机器学习算法的运行环境,然后再启动并运行机器学习算法的步骤。
64.在一种可能的实施方式中,算法压缩包中携带的算法信息中可以包含算法启动脚本,电子设备在激活机器学习算法的运行环境之后,可以触发算法信息中的算法启动脚本,从而可以基于该算法启动脚本,启动并运行相应的机器学习算法。
65.在一种可能的实施方式中,开始执行脚本(start.sh脚本)可以用于先激活机器学习算法的运行环境,然后再触发算法启动脚本,基于算法启动脚本,启动并运行相应的机器学习算法。在一种可能的实施方式中,start.sh脚本文件可以创建在已解压的算法文件目录中。另外,start.sh脚本文件中可以包括两个参数:“$condapath”参数和“$startscript”参数,其中,“$condapath”参数的参数信息即为上述实施例中提及的参数

condapath的参数信息;“$startscript”参数的参数信息即为上述实施例中提及的参数

startpythonscript的参数信息,这两个参数信息可以通过helmchart的deployment.yaml中的env将该参数信息配置到容器的系统环境变量中,后续在容器被启动后,可以从容器的系统环境变量中获取该参数信息。
66.在一种可能的实施方式中,start.sh脚本可以先通过执行“conda active$condapath”命令,在容器中启动conda虚拟环境(机器学习算法的运行环境),以为机器学习算法准备运行环境依赖;然后再通过执行“python$startscript”命令,调用算法启动脚本,以可以启动并执行机器学习算法。
67.为方便理解,下面通过一个具体实施例对本技术实施例提供的机器学习算法运行过程进行解释说明。图2示出了一些实施例提供的另一种机器学习算法运行过程示意图,如图2所示,该过程包括以下步骤:
68.用户可以根据dockerfile文件中包含的构建conda基础镜像所需的指令和说明等信息来创建conda基础镜像。其中,底层可以使用centos 7等作为基础,再此基础上,安装conda环境管理工具,从而得以创建conda基础镜像。
69.另外,用户在预先创建conda基础镜像时,可以创建conda基础镜像的系统环境变量,其中,系统环境变量中可以包含conda基础镜像对应的标准helmchart包。
70.然后,用户可以创建机器学习算法,在服务器中上传机器学习算法的算法压缩包及携带该机器学习算法的运行环境的conda环境压缩包。其中,算法压缩包中可以配置算法的服务端口、算法启动脚本等算法信息(详情)。
71.之后,用户预运行算法时,可以将算法压缩包和conda环境压缩包解压到设定的服务器目录地址。
72.服务器获取算法压缩包携带的算法信息及conda环境压缩包解压后的conda环境包目录名称;将该算法信息、conda环境包目录名称及容器的容器启动脚本名称等,配置到预先创建的conda基础镜像的系统环境变量(helm chart包中的value.yaml文件)中。例如,将conda环境压缩包解压后的conda环境包目录名称配置到value.yaml文件的condapath参数中;将算法信息中的算法启动脚本配置到value.yaml文件的startpythonscript参数中;将conda环境压缩包解压的目录地址配置到value.yaml文件的conda.mountpath参数中;将算法压缩包解压的目录地址配置到value.yaml文件的algorithm.mountpath参数中;将算法信息中算法的服务端口配置到value.yaml文件的service.port参数中。另外,还可以在算法文件目录中创建开始执行脚本(如start.sh脚本),其中,start.sh脚本文件中可以包括“$condapath”参数和“$startscript”参数。
73.服务器若接收到容器启动指令(helm启动容器),通过容器启动脚本将目录地址挂载到容器中;根据conda基础镜像的系统环境变量中的配置信息,激活机器学习算法的运行环境,启动并运行机器学习算法。
74.基于相同的技术构思,本技术还提供了一种机器学习算法运行装置,图3示出了一些实施例提供的一种机器学习算法运行装置示意图,所述装置包括:
75.接收模块31,用于接收机器学习算法的算法压缩包及携带所述机器学习算法的运行环境的conda环境压缩包;
76.获取模块32,用于将所述算法压缩包和所述conda环境压缩包解压到设定的目录地址;获取所述算法压缩包携带的算法信息及所述conda环境压缩包解压后的conda环境包目录名称;
77.配置模块33,用于将所述算法信息、所述conda环境包目录名称及容器的容器启动脚本名称,配置到预先创建的conda基础镜像的系统环境变量中,其中所述conda基础镜像能够运行所述机器学习算法,并且所述conda基础镜像能够在所述容器中运行;
78.运行模块34,用于若接收到容器启动指令,通过所述容器启动脚本名称对应的容器启动脚本将所述目录地址挂载到所述容器中;根据所述conda基础镜像的系统环境变量中的配置信息,激活所述机器学习算法的运行环境,启动并运行所述机器学习算法。
79.在一种可能的实施方式中,所述配置模块33,还用于基于linux内核基础镜像,安装conda环境管理工具,以创建所述conda基础镜像。
80.在一种可能的实施方式中,所述运行模块34,还用于所述通过所述容器启动脚本名称对应的容器启动脚本将所述目录地址挂载到所述容器中之后,触发预设的开始执行脚本,基于所述开始执行脚本,执行后续所述根据所述conda基础镜像的系统环境变量中的配置信息,激活所述机器学习算法的运行环境的步骤。
81.在一种可能的实施方式中,所述运行模块34,还用于所述激活所述机器学习算法的运行环境之后,触发所述算法信息中的算法启动脚本,基于所述算法启动脚本,执行所述
启动并运行所述机器学习算法的步骤。
82.基于相同的技术构思,本技术还提供了一种电子设备,图4示出了一些实施例提供的一种电子设备结构示意图,如图4所示,包括:处理器41、通信接口42、存储器43和通信总线44,其中,处理器41,通信接口42,存储器43通过通信总线44完成相互间的通信;
83.所述存储器43中存储有计算机程序,当所述程序被所述处理器41执行时,使得所述处理器41执行如下步骤:
84.接收机器学习算法的算法压缩包及携带所述机器学习算法的运行环境的conda环境压缩包;
85.将所述算法压缩包和所述conda环境压缩包解压到设定的目录地址;获取所述算法压缩包携带的算法信息及所述conda环境压缩包解压后的conda环境包目录名称;
86.将所述算法信息、所述conda环境包目录名称及容器的容器启动脚本名称,配置到预先创建的conda基础镜像的系统环境变量中,其中所述conda基础镜像能够运行所述机器学习算法,并且所述conda基础镜像能够在所述容器中运行;
87.若接收到容器启动指令,通过所述容器启动脚本名称对应的容器启动脚本将所述目录地址挂载到所述容器中;根据所述conda基础镜像的系统环境变量中的配置信息,激活所述机器学习算法的运行环境,启动并运行所述机器学习算法。
88.在一种可能的实施方式中,所述处理器41,还用于基于linux内核基础镜像,安装conda环境管理工具,以创建所述conda基础镜像。
89.在一种可能的实施方式中,所述处理器41,还用于所述通过所述容器启动脚本名称对应的容器启动脚本将所述目录地址挂载到所述容器中之后,所述根据所述conda基础镜像的系统环境变量中的配置信息,激活所述机器学习算法的运行环境之前,触发预设的开始执行脚本,基于所述开始执行脚本,执行后续步骤。
90.在一种可能的实施方式中,所述处理器41,还用于所述激活所述机器学习算法的运行环境之后,所述启动并运行所述机器学习算法之前,触发所述算法信息中的算法启动脚本,基于所述算法启动脚本,执行后续步骤。
91.由于上述电子设备解决问题的原理与机器学习算法运行方法相似,因此上述电子设备的实施可以参见机器学习算法运行方法的实施,重复之处不再赘述。
92.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
93.通信接口42用于上述电子设备与其他设备之间的通信。
94.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
95.上述处理器可以是通用处理器,包括中央处理器、网络处理器(network processor,np)等;还可以是数字指令处理器(digital signal processing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
96.在上述各实施例的基础上,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
97.接收机器学习算法的算法压缩包及携带所述机器学习算法的运行环境的conda环境压缩包;
98.将所述算法压缩包和所述conda环境压缩包解压到设定的目录地址;获取所述算法压缩包携带的算法信息及所述conda环境压缩包解压后的conda环境包目录名称;
99.将所述算法信息、所述conda环境包目录名称及容器的容器启动脚本名称,配置到预先创建的conda基础镜像的系统环境变量中,其中所述conda基础镜像能够运行所述机器学习算法,并且所述conda基础镜像能够在所述容器中运行;
100.若接收到容器启动指令,通过所述容器启动脚本名称对应的容器启动脚本将所述目录地址挂载到所述容器中;根据所述conda基础镜像的系统环境变量中的配置信息,激活所述机器学习算法的运行环境,启动并运行所述机器学习算法。
101.在一种可能的实施方式中,预先创建所述conda基础镜像的过程包括:
102.基于linux内核基础镜像,安装conda环境管理工具,以创建所述conda基础镜像。
103.在一种可能的实施方式中,所述linux内核基础镜像为社区企业操作系统centos。
104.在一种可能的实施方式中,所述通过所述容器启动脚本名称对应的容器启动脚本将所述目录地址挂载到所述容器中之后,所述根据所述conda基础镜像的系统环境变量中的配置信息,激活所述机器学习算法的运行环境之前,所述方法还包括:
105.触发预设的开始执行脚本,基于所述开始执行脚本,执行后续步骤。
106.在一种可能的实施方式中,所述激活所述机器学习算法的运行环境之后,所述启动并运行所述机器学习算法之前,所述方法还包括:
107.触发所述算法信息中的算法启动脚本,基于所述算法启动脚本,执行后续步骤。
108.上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(mo)等、光学存储器如cd、dvd、bd、hvd等、以及半导体存储器如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd)等。
109.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
110.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
111.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
112.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
113.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献