CN111949514A - 一种模型预测方法、装置及存储介质 - Google Patents
一种模型预测方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111949514A CN111949514A CN202010671076.2A CN202010671076A CN111949514A CN 111949514 A CN111949514 A CN 111949514A CN 202010671076 A CN202010671076 A CN 202010671076A CN 111949514 A CN111949514 A CN 111949514A
- Authority
- CN
- China
- Prior art keywords
- prediction
- task
- model
- code
- predicted
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种模型预测方法、装置及计算机存储介质,该方法包括:接收由用户终端上传的针对预测任务的的配置文件,所述配置文件至少包括所述预测任务对应的待预测模型、代码版本及环境参数;根据环境参数创建预测环境,根据代码版本从代码库中查找预测代码;在所创建的预测环境中运行所述预测代码,以执行针对待预测模型的预测任务。如此,本发明无需再通过手动挑选模型和硬编码代码并进一步手动调整预测参数的方式进行预测任务的提交,从而实现预测任务的自动提交,进而有效提升模型预测效率。
Description
技术领域
本发明涉及人工神经网络技术领域,尤其涉及一种模型预测方法、装置及计算机存储介质。
背景技术
深度学习模型预测的首要目的是获得预测结果,用于评判模型的效果。通常有两种发起方式:第一种是,算法工程师在训练什么?时通常会同时提交一个预测任务(通常针对验证集),通过预测任务查看训练过程中的损失函数(loss function)和训练获得的模型预测结果;第二种是,在集群完成训练得到模型后,算法研发工程师会用数据集再做一次预测,用模型预测的结果和数据集实际标注结果进行比较来评测,分析模型性能。相关技术中,算法研发工程师主要通过手动方式挑选深度学习模型和编写代码并调整预测参数来进行模型预测任务的提交,效率较低。
发明内容
本发明实施例为了解决克服现有模型预测过程中所存在的问题,创造性地提供了一种模型预测方法、装置及计算机存储介质。
根据本发明第一方面,提供了一种模型预测方法,应用于服务器,该方法包括:接收由用户终端上传的针对预测任务的配置文件,所述配置文件至少包括所述预测任务对应的待预测模型、代码版本及环境参数;根据所述环境参数创建预测环境;根据所述代码版本从代码库中查找预测代码;在所创建的预测环境中运行所述预测代码,以执行针对所述待预测模型的预测任务。
根据本发明第二方面,还提供了一种模型预测装置,应用于服务器,包括:接收模块,用于接收由用户终端上传的针对预测任务的配置文件,所述配置文件至少包括所述预测任务对应的待预测模型、代码版本及环境参数;创建模块,用于根据所述环境参数创建预测环境;查找模块,用于根据所述代码版本从代码库中查找预测代码;以及执行模块,用于在所创建的预测环境中运行所述预测代码,以执行针对所述待预测模型的预测任务。
根据本发明第三方面,还提供了一种模型预测装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述模型预测方法。
根据本发明第四方面,又提供了一种计算机存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行上述模型预测方法。
本发明实施例模型预测方法、装置及计算机存储介质,服务器在接收由用户终端上传的针对预测任务的至少包括预测任务对应的待预测模型、代码版本及环境参数的配置文件之后,根据环境参数创建预测环境,根据代码版本从代码库中查找预测代码;接着,在所创建的预测环境中运行所述预测代码,以执行针对待预测模型的预测任务。如此,本发明通过用户终端预先配置并向服务器上传至少包括预测任务对应的待预测模型、代码版本及环境参数的配置文件的形式实现预测任务的自动提交,使得服务器平台在接收到配置文件后,即能够直接根据配置文件准备相应的预测代码运行环境,以执行预测代码,无需再通过手动挑选模型和硬编码代码并进一步手动调整预测参数的方式进行预测任务的提交,从而实现预测任务的自动提交,进而有效提升模型预测效率;而且,由于配置文件可以基于用户的个性化需求进行配置,因此可以确保配置文件能够具有个性化的特性,从而针对不同的预测任务对不同的模型进行预测,确保预测结果的准确性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本发明实施例模型预测方法的实现流程示意图一;
图2示出了本发明一应用实例模型预测方法的具体实现流程示意图;
图3示出了本发明一应用实例预测代码库中代码版本管理示意图;
图4示出了本发明实施例模型预测方法的实现流程示意图二;
图5示出了本发明实施例模型预测方法的实现流程示意图三;
图6示出了本发明实施例模型预测装置的结构示意图一;
图7示出了本发明实施例模型预测装置的结构示意图二;
图8示出了本发明实施例提供的电子设备的结构图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
图1示出了本发明实施例模型预测方法的实现流程示意图一;图2示出了本发明一应用实例模型预测方法的具体实现流程示意图;图3示出了本发明一应用实例预测代码库中代码版本管理示意图;
本领域技术人员应该理解的是,预测任务的执行需要预测代码、模型、数据集和运行环境。在本发明实施例之前,用户需要在代码里硬编码预测任务需要使用的模型和数据,然后手动配置运行环境。如果只是把预测任务的模型换掉,就需要重新修改代码。因此,以往的预测任务管理和发起方式主要有以下三个缺点:1)没有统一管理代码,各个版本代码比较混乱;2)对于个性化预测需求,当需要不同的硬件配置,需要不同的依赖环境时,准备或者切换比较耗时;3)预测任务准备到发起在到运行结束的每个流程都是独立的,没有一个平台能够完整记录全流程,不方便追溯和分析问题。
为了解决上述问题,本发明实施例提供了一种模型预测方法。参考图1,本发明实施例模型预测方法,应用于服务器,包括:步骤101,接收由用户终端上传的针对预测任务的配置文件,配置文件至少包括预测任务对应的待预测模型、代码版本及环境参数;步骤102,根据环境参数创建预测环境;步骤103,根据代码版本从代码库中查找预测代码;步骤104,在所创建的预测环境中运行所述预测代码,以执行针对待预测模型的预测任务。
本发明为了使用户不再需要通过硬编码的方式提交不同的预测任务,服务器平台创造性地提供一个提交预测任务需要的配置文件,配置文件会包含服务器平台提供的可以配置化的参数,任何预测任务的发起均通过该配置文件。
这里,待预测模型可以包括多种类型,如分类模型、检测模型、分割模型等。其中的检测模型属于实际应用中最常见的类型,比如用于人脸检测的人脸检测模型。在真实的业务场景中,通常会把一系列功能的模型串联成一个工作流(workflow),然后去应用,比如人脸识别功能可以是人脸检测模型+人脸识别模型;车牌识别功能可以是检测模型(识别出车辆)+lstm模型(识别车牌号);人体检测功能可以是人体检测模型(识别出人体)+人体骨骼姿态模型(认别人体姿势,比如跌到、蹦跳等)。
通常来讲,预测代码一般采用Python或者C++编写。代码版本主要用于表征不同预测代码。对于同一数据集使用同一预测模型进行预测,如果代码中前处理和后处理不同,那么预测结果可能会不一致。因此,在实际应用中,可以通过配置代码版本的方式来选取最合适的预测代码的前处理和后处理。举例来说,如Python或者C++版本:python2.7或者python3.7或者gcc 4.8,gcc 7.5都可以自由选择。
环境参数可以包括***版本、预测框架、内存大小、GPU卡数及存储大小等参数类型。其中,***版本可以使用的是centos或ubuntu,若使用的是centos,还可以是centos7.0,centos7.5等;预测框架可以使用的是mxnet、caffe或tensorflow,对于特定框架训练出来的模型必须采用同一预测框架来跑预测任务;内存大小通常可以是8G或16G;GPU卡数可以是8卡或16卡,更多的卡可以加速预测任务运行;存储大小可以挂载100G或者200G的硬盘来给用户存储数据。
在步骤101,如图2所示,服务器接收由用户终端上传的针对预测任务的配置文件;针对于预测任务的配置文件是由用户终端响应于用户在配置模板界面针对各配置项的选取所生成的。具体实现中,用户终端首先按照配置模板编写配置文件,即准备配置文件;之后,利用配置文件提交预测任务,即上传配置文件至服务器。
其中,配置文件包含固定配置项和自定义配置项,通过修改固定配置项和自定义配置项就可以支持用户进行个性化预测。具体地,响应于用户在配置模板界面针对各配置项的选取,用户终端生成针对于预测任务的配置文件。
以满足某一个性化需求的预测任务为例,预测任务执行需要指定预测代码的代码版本,指定预测模型,指定数据集;那么按照以下示例配置就可以快速自由搭配预测任务。如预测任务是“http://gitlab.hobot.cc/san.zhang/aiot_predictor_example.git”,预测代码的代码版本是“v1.0.0”,预测任务使用的预测模型的模型参数是“model-example”,预测任务使用的数据集是“dataset-example”,预测任务执行结果保存的名称是“job-result-example”。这样,若下一个预测任务想用同一份预测代码,只是把预测模型换成不同的预测模型进行预测,则只需要把配置文件中的模型参数由“model-example”替换为“model-example-two”即可,也即只需要关注配置文件的模型参数,通过修改不同的模型参数就可以发起不同的预测任务。
在一可能实施方式中,参考图2,在步骤101之后,该方法还包括:服务器对配置文件进行校验,以确保预测任务提交的准确性。进一步地,服务器在校验通过后,执行对配置文件的解析操作,以得到待预测模型,代码版本及环境参数。
在步骤102~103,参考图2,服务器在根据环境参数创建预测环境及根据代码版本从代码库中共查找预测代码之前,需要先解析配置文件,并根据解析得到的环境参数和代码版本。
这里,预测环境通常为容器docker镜像。具体地,服务器根据环境参数启动对应的docker镜像。首先根据环境参数中的***版本和预测框架启动对应的docker镜像,之后再根据GPU卡数和存储大小给docker镜像挂载GPU和存储即可。
在一应用示例中,个性化环境配置依赖配置模板中环境参数,比如按照以下示例配置,即docker image:"py3.6-cudnn5.1-cuda8.0-centos7";worker num:"4";gpus perworker:"8",那么预测代码执行的环境是:四台机器,每台机器配置8张GPU,每台机器的***是centos7,且预装好python3.6,cudnn5.1,cuda8.0。若在下一个预测任务中想把环境的8卡改成4卡,只需要把配置改为docker image:"py3.6-cudnn5.1-cuda8.0-centos7";worker num:"4";gpus per worker:"4"即可。因此只要在配置文件中按照约定的规范写明你需要的环境参数,服务器就会自动提供预测任务执行需要的环境配置。
在步骤103,服务器可以根据代码版本从代码库(如git仓库)中查找预测代码。其中,git仓库通常使用git和git的标签tag功能进行预测代码的版本管理。git是一个开源的分布式版本控制***,可以有效、高速地处理从很小到非常大的项目版本管理,git在***里的作用就是把代码托管在上面;tag的作用是给项目的开发节点,加上语义化的名字,也即功能版本的别名。打上标签名的同时,写上附带信息,可以方便项目日后维护过程中的回溯和复查。这样,只要提供git resp(git请求)的地址和一个tag即可唯一确定一个代码版本。如图3所示,预测代码库里有若干个版本,根据git resp地址和tag v1.0.2就可以在代码库里确定版本为v.1.0.2的代码,根据git resp地址和tagv.10.4就可以在代码库里确定版本为v.1.0.4的代码。
在步骤104,参考图2,服务器在根据环境参数完成预测环境的创建,并根据代码版本从代码库中查找得到预测代码之后,即可在所创建的预测环境中挂载模型和数据集;之后,在预测环境中运行预测代码。
如此,本发明通过用户终端预先配置并向服务器上传至少包括预测任务对应的待预测模型、代码版本及环境参数的配置文件的形式实现预测任务的自动提交,这样相比通过手动挑选模型和硬编码代码并进一步手动调整预测参数来说,预测任务的提交更加方便快捷,进而有效提升模型预测效率;另外,整个预测任务的自动提交流程可以全部记录,方便后续追溯比较。而且,对预测代码进行版本管理,预测代码存储在代码库上,用户修改提交代码的记录都会通过代码库记录,用户只需要通过标签方式来区分不同的代码版本,便于统一管理。另外,个性化预测任务执行,预测任务执行需要的预测模型、数据集、预测代码、环境参数、自定义参数等,均通过***提供的配置文件模板,可以实现上述参数或者功能的自由搭配满足用户个性化的预测需求,而无需再手动或者硬编码实现。
图4示出了本发明实施例模型预测方法的实现流程示意图二。
参考图4,本发明实施例模型预测方法,应用于服务器,包括:步骤401,接收由用户终端上传的针对预测任务的配置文件,配置文件至少包括预测任务对应的待预测模型、代码版本、环境参数及预测任务对应预测结果的存储地址;步骤402,根据环境参数创建预测环境;步骤403,根据所述代码版本从代码库中查找预测代码;步骤404,在所创建的预测环境中运行所述预测代码,以执行针对所述待预测模型的预测任务;步骤405,在执行预测任务的过程中,记录并保存预测结果至存储地址。
这里,存储地址为预测任务执行结果保存的路径和名称。
待预测模型可以包括多种类型,如分类模型、检测模型、分割模型等。其中的检测模型属于实际应用中最常见的类型,比如用于人脸检测的人脸检测模型。在真实的业务场景中,通常会把一系列功能的模型串联成一个工作流(workflow),然后去应用,比如人脸识别功能可以是人脸检测模型+人脸识别模型;车牌识别功能可以是检测模型(识别出车辆)+lstm模型(识别车牌号);人体检测功能可以是人体检测模型(识别出人体)+人体骨骼姿态模型(认别人体姿势,比如跌到、蹦跳等)。
通常来讲,预测代码一般采用Python或者C++编写。代码版本主要用于表征不同预测代码。对于同一数据集使用同一预测模型进行预测,如果代码中前处理和后处理不同,那么预测结果可能会不一致。因此,在实际应用中,可以通过配置代码版本的方式来选取最合适的预测代码的前处理和后处理。举例来说,如Python或者C++版本:python2.7或者python3.7或者gcc 4.8,gcc 7.5都可以自由选择。
环境参数可以包括***版本、预测框架、内存大小、GPU卡数及存储大小等参数类型。其中,***版本可以使用的是centos或ubuntu,若使用的是centos,还可以是centos7.0,centos7.5等;预测框架可以使用的是mxnet、caffe或tensorflow,对于特定框架训练出来的模型必须采用同一预测框架来跑预测任务;内存大小通常可以是8G或16G;GPU卡数可以是8卡或16卡,更多的卡可以加速预测任务运行;存储大小可以挂载100G或者200G的硬盘来给用户存储数据。
在步骤401,如图2所示,服务器接收由用户终端上传的针对预测任务的配置文件;针对于预测任务的配置文件是由用户终端响应于用户在配置模板界面针对各配置项的选取所生成的。具体实现中,用户终端首先按照配置模板编写配置文件,即准备配置文件;之后,利用配置文件提交预测任务,即上传配置文件至服务器。
其中,配置文件包含固定配置项和自定义配置项,通过修改固定配置项和自定义配置项就可以支持用户进行个性化预测。具体地,响应于用户在配置模板界面针对各配置项的选取,用户终端生成针对于预测任务的配置文件。
在一可能实施方式中,参考图2,在步骤401之后,该方法还包括:服务器对配置文件进行校验,以确保预测任务提交的准确性。进一步地,服务器在校验通过后,执行对配置文件的解析操作,以得到待预测模型,代码版本及环境参数。
在步骤402~403,参考图2,服务器在根据环境参数创建预测环境及根据代码版本从代码库中共查找预测代码之前,需要先解析配置文件,并根据解析得到的环境参数和代码版本。
这里,预测环境通常为容器docker镜像。具体地,服务器根据环境参数启动对应的docker镜像。首先根据环境参数中的***版本和预测框架启动对应的docker镜像,之后再根据GPU卡数和存储大小给docker镜像挂载GPU和存储即可。
在一应用示例中,个性化环境配置依赖配置模板中环境参数,比如按照以下示例配置,即docker image:"py3.6-cudnn5.1-cuda8.0-centos7";worker num:"4";gpus perworker:"8",那么预测代码执行的环境是:四台机器,每台机器配置8张GPU,每台机器的***是centos7,且预装好python3.6,cudnn5.1,cuda8.0。若在下一个预测任务中想把环境的8卡改成4卡,只需要把配置改为docker image:"py3.6-cudnn5.1-cuda8.0-centos7";worker num:"4";gpus per worker:"4"即可。因此只要在配置文件中按照约定的规范写明你需要的环境参数,服务器就会自动提供预测任务执行需要的环境配置。
在步骤403,服务器可以根据代码版本从代码库(如git仓库)中查找预测代码。其中,git仓库通常使用git和git的标签tag功能进行预测代码的版本管理。git是一个开源的分布式版本控制***,可以有效、高速地处理从很小到非常大的项目版本管理,git在***里的作用就是把代码托管在上面;tag的作用是给项目的开发节点,加上语义化的名字,也即功能版本的别名。打上标签名的同时,写上附带信息,可以方便项目日后维护过程中的回溯和复查。这样,只要提供git resp(git请求)的地址和一个tag即可唯一确定一个代码版本。如图3所示,预测代码库里有若干个版本,根据git resp地址和tag v1.0.2就可以在代码库里确定版本为v.1.0.2的代码,根据git resp地址和tagv.10.4就可以在代码库里确定版本为v.1.0.4的代码。
在步骤404,参考图2,服务器在根据环境参数完成预测环境的创建,并根据代码版本从代码库中查找得到预测代码之后,即可在所创建的预测环境中挂载模型和数据集;之后,在预测环境中运行预测代码。
在步骤405,配置文件中除了包括预测任务对应的待预测模型、代码版本及环境参数之外,还包括预测任务对应预测结果的存储地址,以便在执行预测任务的过程中,记录并保存预测结果至指定的存储地址。
以满足某一个性化需求的预测任务为例,预测任务执行需要指定预测代码的代码版本,指定预测模型,指定数据集;那么按照以下示例配置就可以快速自由搭配预测任务。如预测任务是“http://gitlab.hobot.cc/san.zhang/aiot_predictor_example.git”,预测代码版本是“v1.0.0”,预测任务使用的预测模型的模型参数是“model-example”,预测任务使用的数据集是“dataset-example”,预测任务执行结果保存的路径和名称,即存储地址为“/home/user/job-result-example”。这样,在执行预测任务的过程中,便可随时记录并保存预测结果至存储地址“/home/user/job-result-example”。
如此,本发明实施例通过在配置文件中增加预测任务对应预测结果的存储地址,使得在执行预测任务的过程中,便可随时记录并保存预测结果至指定的存储地址,以供追溯和分析预测任务。
图5示出了本发明实施例模型预测方法的实现流程示意图三。
参考图5,在如图1或图4所示的模型预测方法的基础上,预测任务包括第一预测任务和第二预测任务,第一预测任务和第二预测任务隶属于同一任务类别;相应的,本发明实施例模型预测方法还可以包括如下操作流程:步骤501,检测配置文件的待比较任务列表中是否包括第一预测任务和第二预测任务;步骤502,若检测到配置文件的待比较任务列表中包括所述第一预测任务和第二预测任务,则执行对第一预测任务和第二预测任务比较,得到第一预测任务和第二预测任务之间的差异性。
在步骤501,用户只需要提供需要比较的预测任务名称到配置文件中,即可自动比较出每个预测任务所提交参数的差异和各个流程运行的差异。
在步骤502,执行对所述第一预测任务和第二预测任务的比较,得到所述第一预测任务和第二预测任务之间的差异性,包括:
对所述第一预测任务的环境参数和所述第二预测任务的环境参数进行比较,得到所述第一预测任务和第二预测任务之间预测环境的差异性,即比较出不同预测任务运行环境的差异;其中预测环境的差异性通常包括***差异(如不同的***类型或***版本)、预测框架差异(如不同的框架类型或框架版本)、内存差异、GPU卡数差异、存储大小差异等。
或,对所述第一预测任务对应的待预测模型和所述第二预测任务对应的待预测模型二者的模型层级数及各模型层级的参数信息进行比较,得到所述第一预测任务和第二预测任务之间待预测模型的差异性,即比较出不同预测任务使用的模型结构和各层参数的差异性;其中预测模型的差异性包括如下两种情况:1)对于相同结构的模型,可以比较每一层结构的参数的差异;2)对于不同结构的模型,可以比较整体结构的差异。
或,对所述第一预测任务的预测代码和所述第二预测任务的预测代码二者的参数信息进行比较,得到所述第一预测任务和第二预测任务之间预测代码的差异性,即比较出不同预测任务预测代码的差异;
或,根据特定评价指标对所述第一预测任务的预测结果和所述第二预测任务的预测结果进行性能比较,得到所述第一预测任务和第二预测任务之间预测结果的差异性,即比较出不同预测任务预测结果数据的差异。不同模型的预测结果是不一样的,比如分类模型,一个模型预测准确率是76%,一个是67%;检测模型,也比较的是准确率,比如一个模型检测出人的概率是80%,一个模型检测出人的概率是50%。
当然,对于相同的预测模型,还可以进一步对第一预测任务的数据集和第二预测任务的数据集进行比较,以得到第一预测任务和第二预测任务之间的数据集的差异性。举例来说,分类数据集,可以比较不同数据集中类别数,一个数据集中是1000类,一个数据集中是200类;再细致比较,具体可以比较相同类别的图片的具体差异性。
如此,本发明实施例在可追溯预测任务从提交到运行全流程的基础上,进一步实现不同预测任务之间的差异比较。
进一步地,基于上文所述模型预测方法,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质包括一组计算机可执行指令,当所述指令被处理器执行时,使得所述处理器至少执行如下所述的操作步骤:步骤101,接收由用户终端上传的针对预测任务的配置文件,配置文件至少包括预测任务对应的待预测模型、代码版本及环境参数;步骤102,根据环境参数创建预测环境;步骤103,根据所述代码版本从代码库中查找预测代码;步骤104,在所创建的预测环境中运行所述预测代码,以执行针对所述待预测模型的预测任务。
进一步地,基于如上文所述模型预测方法,本发明实施例又提供了一种模型预测装置,如图6所示,该装置60包括:接收模块601,用于接收由用户终端上传的针对预测任务的配置文件,所述配置文件至少包括所述预测任务对应的待预测模型、代码版本及环境参数;创建模块602,用于根据所述环境参数创建预测环境;查找模块603,用于根据所述代码版本从代码库中查找预测代码;以及执行模块604,用于在所创建的预测环境中运行所述预测代码,以执行针对所述待预测模型的预测任务。
根据本发明一实施方式,所述配置文件还包括所述预测任务对应预测结果的存储地址;执行模块604,还用于在执行所述预测任务的过程中,记录并保存预测结果至所述存储地址。
根据本发明一实施方式,预测任务包括第一预测任务和第二预测任务,所述第一预测任务和所述第二预测任务隶属于同一任务类别;相应的,如图7所示,装置60还包括:任务比较模块605,用于检测所述配置文件的待比较任务列表中是否包括所述第一预测任务和第二预测任务;若检测到所述配置文件的待比较任务列表中包括所述第一预测任务和第二预测任务,则执行对所述第一预测任务和第二预测任务比较,得到所述第一预测任务和第二预测任务之间的差异性。
根据本发明一实施方式,任务比较模块605,具体用于对所述第一预测任务的环境参数和所述第二预测任务的环境参数进行比较,得到所述第一预测任务和第二预测任务之间预测环境的差异性;或,对所述第一预测任务对应的待预测模型和所述第二预测任务对应的待预测模型二者的模型层级数及各模型层级的参数信息进行比较,得到所述第一预测任务和第二预测任务之间待预测模型的差异性;或,对所述第一预测任务的预测代码和所述第二预测任务的预测代码二者的参数信息进行比较,得到所述第一预测任务和第二预测任务之间预测代码的差异性;或,根据特定评价指标对所述第一预测任务的预测结果和所述第二预测任务的预测结果进行性能比较,得到所述第一预测任务和第二预测任务之间预测结果的差异性。
根据本发明一实施方式,如图7所示,装置60还包括:校验解析模块606,用于对所述配置文件进行校验;校验通过后,执行对所述配置文件的解析操作,以得到所述待预测模型,代码版本及环境参数。
这里需要指出的是:以上对模型预测装置实施例的描述,与前述图1至5所示的方法实施例的描述是类似的,具有同前述图1至5所示的方法实施例相似的有益效果,因此不做赘述。对于本发明模型预测装置实施例中未披露的技术细节,请参照本发明前述图1至5所示的方法实施例的描述而理解,为节约篇幅,因此不再赘述。
下面,参考图8来描述根据本申请实施例的电子设备。该电子设备可以是模型预测装置60和模型预测装置70中的任一个或两者、或与它们独立的单机设备,该单机设备可以与模型预测装置60和模型预测装置70进行通信,以从它们接收所采集到的输入信号。
图8图示了根据本申请实施例的电子设备的框图。
如图8所示,电子设备11包括一个或多个处理器111和存储器112。
处理器111可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备11中的其他组件以执行期望的功能。
存储器112可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器111可以运行所述程序指令,以实现上文所述的本申请的各个实施例的声源定位方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如配置文件、预测代码、预测结果等各种内容。
在一个示例中,电子设备11还可以包括:输入装置113和输出装置114,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是模型预测装置60和模型预测装置70时,该输入装置113可以是上述的收发天线,用于接收由用户终端上传的针对预测任务的配置文件。在该电子设备是单机设备时,该输入装置113可以是通信网络连接器,用于从模型预测装置60和模型预测装置70接收执行预测任务后所得到的预测结果。
此外,该输入设备113还可以包括例如键盘、鼠标等等。
该输出装置114可以向外部输出各种信息,包括执行预测任务所得到的预测结果、比较得到的不同预测任务之间的差异性等。该输出设备14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备11中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备11还可以包括任何其他适当的组件。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的声源定位方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的声源定位方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种模型预测方法,应用于服务器,包括:
接收由用户终端上传的针对预测任务的配置文件,所述配置文件至少包括所述预测任务对应的待预测模型、代码版本及环境参数;
根据所述环境参数创建预测环境;
根据所述代码版本从代码库中查找预测代码;
在所创建的预测环境中运行所述预测代码,以执行针对所述待预测模型的预测任务。
2.根据权利要求1所述的方法,其中,所述配置文件还包括所述预测任务对应预测结果的存储地址;相应的,所述方法还包括:
在执行所述预测任务的过程中,记录并保存预测结果至所述存储地址。
3.根据权利要求1所述的方法,其中,所述预测任务包括第一预测任务和第二预测任务,所述第一预测任务和所述第二预测任务隶属于同一任务类别;相应的,所述方法还包括:
检测所述配置文件的待比较任务列表中是否包括所述第一预测任务和第二预测任务;
若检测到所述配置文件的待比较任务列表中包括所述第一预测任务和第二预测任务,则执行对所述第一预测任务和第二预测任务比较,得到所述第一预测任务和第二预测任务之间的差异性。
4.根据权利要求3所述的方法,其中,所述执行对所述第一预测任务和第二预测任务的比较,得到所述第一预测任务和第二预测任务之间的差异性,包括:
对所述第一预测任务的环境参数和所述第二预测任务的环境参数进行比较,得到所述第一预测任务和第二预测任务之间预测环境的差异性;
或,对所述第一预测任务对应的待预测模型和所述第二预测任务对应的待预测模型二者的模型层级数及各模型层级的参数信息进行比较,得到所述第一预测任务和第二预测任务之间待预测模型的差异性;
或,对所述第一预测任务的预测代码和所述第二预测任务的预测代码二者的参数信息进行比较,得到所述第一预测任务和第二预测任务之间预测代码的差异性;
或,根据特定评价指标对所述第一预测任务的预测结果和所述第二预测任务的预测结果进行性能比较,得到所述第一预测任务和第二预测任务之间预测结果的差异性。
5.根据权利要求1所述的方法,其中,所述方法还包括:
对所述配置文件进行校验;
校验通过后,执行对所述配置文件的解析操作,以得到所述待预测模型,代码版本及环境参数。
6.根据权利要求1至5任一项所述的方法,其中,所述针对于预测任务的配置文件是由用户终端响应于用户在配置模板界面针对各配置项的选取所生成的。
7.一种模型预测装置,应用于服务器,包括:
接收模块,用于接收由用户终端上传的针对预测任务的配置文件,所述配置文件至少包括所述预测任务对应的待预测模型、代码版本及环境参数;
创建模块,用于根据所述环境参数创建预测环境;
查找模块,用于根据所述代码版本从代码库中查找预测代码;
执行模块,用于在所创建的预测环境中运行所述预测代码,以执行针对所述待预测模型的预测任务。
8.根据权利要求7所述的装置,其中,所述配置文件还包括所述预测任务对应预测结果的存储地址;所述执行模块,还用于在执行所述预测任务的过程中,记录并保存预测结果至所述存储地址。
9.一种模型预测装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6任一项所述的模型预测方法。
10.一种计算机存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行权利要求1至6任一项所述的模型预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010671076.2A CN111949514A (zh) | 2020-07-13 | 2020-07-13 | 一种模型预测方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010671076.2A CN111949514A (zh) | 2020-07-13 | 2020-07-13 | 一种模型预测方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111949514A true CN111949514A (zh) | 2020-11-17 |
Family
ID=73340234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010671076.2A Pending CN111949514A (zh) | 2020-07-13 | 2020-07-13 | 一种模型预测方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949514A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527676A (zh) * | 2020-12-23 | 2021-03-19 | 中移(杭州)信息技术有限公司 | 模型自动化测试方法、装置及存储介质 |
CN114968271A (zh) * | 2022-05-26 | 2022-08-30 | 北京金堤科技有限公司 | 模型部署方法、装置、电子设备及存储介质 |
-
2020
- 2020-07-13 CN CN202010671076.2A patent/CN111949514A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527676A (zh) * | 2020-12-23 | 2021-03-19 | 中移(杭州)信息技术有限公司 | 模型自动化测试方法、装置及存储介质 |
CN114968271A (zh) * | 2022-05-26 | 2022-08-30 | 北京金堤科技有限公司 | 模型部署方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934301B2 (en) | System and method for automated software testing | |
US20240037020A1 (en) | System and Method for Automated Software Testing | |
US11373041B2 (en) | Text classification using models with complementary granularity and accuracy | |
US11302096B2 (en) | Determining model-related bias associated with training data | |
CN105765561A (zh) | 根据跟踪数据的生产对比开发使用的确定 | |
CN111949514A (zh) | 一种模型预测方法、装置及存储介质 | |
WO2012158572A2 (en) | Exploiting query click logs for domain detection in spoken language understanding | |
CN114661994B (zh) | 基于人工智能的用户兴趣数据处理方法、***及云平台 | |
CN113569115A (zh) | 数据分类方法、装置、设备及计算机可读存储介质 | |
CN110574005A (zh) | 用于验证软件程序的方法和*** | |
CN114064079A (zh) | 算法应用元的打包方法及装置、设备、存储介质 | |
US12001823B2 (en) | Systems and methods for building and deploying machine learning applications | |
US20210149793A1 (en) | Weighted code coverage | |
US20230419705A1 (en) | Computerized recognition of tabular data from an image | |
Strodl et al. | Digital preservation of a process and its application to e-science experiments | |
US20230351172A1 (en) | Supervised machine learning method for matching unsupervised data | |
US11726775B2 (en) | Source code issue assignment using machine learning | |
US10394898B1 (en) | Methods and systems for analyzing discrete-valued datasets | |
CN113900956A (zh) | 测试用例的生成方法、装置、计算机设备及存储介质 | |
CN113867608A (zh) | 一种业务处理模型的组建方法与装置 | |
CN112631850A (zh) | 故障场景的模拟方法及装置 | |
JP2023520313A (ja) | 不確定区間を有する性能予測の生成 | |
WO2022009499A1 (ja) | テスト支援装置及びテスト支援方法 | |
US20220358400A1 (en) | Probing Model Signal Awareness | |
KR102681448B1 (ko) | 문자 인식 방법 및 시스템 |
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 |