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

神经网络模型的执行方法、装置、设备和存储介质与流程

2021-11-09 21:04:00 来源:中国专利 TAG:


1.本发明属于计算机技术领域,具体提供一种神经网络模型的执行方法、装置、设备和存储介质。


背景技术:

2.随着金融机构互联网信贷业务的增长,数据量呈指数级增长,金融机构需求成熟的数据分析手段,神经网络模型的应用也随之增加,在有限资源下,面对如此繁杂的数据分析处理任务,目前还没有相关技术来管理神经网络模型的运行问题。因此,如何管理神经网络模型的上线运行,已经成为本领域亟待解决的问题。
3.相应地,本领域需求一种新的方案来解决上述问题。


技术实现要素:

4.本发明旨在解决上述技术问题,即,解决如何在有限资源下管理模型的执行问题。
5.根据本发明的第一方面,提供了一种神经网络模型的执行方法,包括如下步骤:
6.步骤102,在接收到神经网络模型的运行请求时,判断当前状态是否能够满足所述神经网络模型的运行需求;
7.步骤104,在判断结果为是时,根据所述神经网络模型的执行类型运行所述神经网络模型。
8.在上述神经网络模型的执行方法的一个实施方式中,所述步骤102包括:
9.在接收到所述运行请求时,将所述运行请求放入到执行队列中;
10.判断服务器的处理资源是否满足神经网络模型的运行要求,若满足,则进一步判断当前线程池是否达到最大并发数且线程池的等待队列已满;
11.若线程池未达到最大并发数,则执行所述神经网络模型。
12.在上述神经网络模型的执行方法的一个实施方式中,在步骤104中,若所述神经网络模型的执行类型是定时类型,则进一步判断当前是否存在正在运行的相同神经网络模型,若判断结果为否,则获取对应的执行文件并执行,否则,不执行所述神经网络模型;
13.在执行过程中,进一步判断执行时间是否超过预设时长,若超过,则结束运行该神经网络模型。
14.在上述神经网络模型的执行方法的一个实施方式中,在步骤104中,若所述神经网络模型的执行类型是即时类型,则获取与所述神经网络模型对应的执行文件并执行,神经网络模型的具体实现逻辑记录于执行文件中;
15.若文件目录下不存在与所述神经网络模型对应的执行文件,则调用其他存储器中的对应执行文件。
16.根据本发明的第二方面,还提供了一种神经网络模型的执行装置,包括:
17.判断单元,在接收到神经网络模型的运行请求时,判断当前状态是否能够满足所述神经网络模型的运行需求;
18.执行单元,在判断单元的判断结果为是时,根据所述神经网络模型的执行类型运行所述神经网络模型。
19.在上述神经网络模型的执行装置的一个实施方式中,所述判断单元在接收到所述运行请求时,将所述运行请求放入到执行队列中,并判断服务器的处理资源是否满足神经网络模型的运行要求,若满足,则进一步判断当前线程池是否达到最大并发数且线程池的等待队列已满,若线程池未达到最大并发数,则通知所述执行单元运行所述神经网络模型。
20.在上述神经网络模型的执行装置的一个实施方式中,在所述神经网络模型的执行类型是定时类型时,所述执行单元进一步判断当前是否存在正在运行的相同神经网络模型,若判断结果为否,则获取对应的执行文件并执行,否则,不执行所述神经网络模型;
21.在执行过程中,进一步判断执行时间是否超过预设时长,若超过,则结束运行该神经网络模型。
22.在上述神经网络模型的执行装置的一个实施方式中,在所述神经网络模型的执行类型是即时类型时,所述执行单元获取与所述神经网络模型对应的执行文件并执行,神经网络模型的具体实现逻辑记录于执行文件中,若文件目录下不存在与所述神经网络模型对应的执行文件,则调用其他存储器中的对应执行文件。
23.根据本发明的第三方面,还提供了一种计算机设备,包括处理器和存储装置,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器运行并运行以执行上述任一项所述的神经网络模型的执行方法。
24.根据本发明的第四方面,还提供了一种存储介质,所述存储介质适于存储多条程序代码,其特征在于,所述程序代码适于由处理器运行并运行以执行上述任一项所述的神经网络模型的执行方法。
25.在采用上述技术方案的情况下,在上线神经网络模型时,综合判断当前状态来确定是否满足模型的运行需求,在确定可运行时,进一步根据模型的类型来运行网络模型,分类型来处理,使所有模型可以和谐运行。
附图说明
26.下面结合附图来描述本发明的优选实施方式,附图中:
27.图1是根据本发明的实施例的神经网络模型的执行方法的主要步骤流程图。
28.图2是根据本发明的实施例的神经网络模型的执行方法的流程图。
具体实施方式
29.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
30.首先阅读图1,图1是本发明的实施例的神经网络模型的执行方法的主要步骤流程图。如图1所示,本发明的数据处理方法包括:
31.步骤102,在接收到神经网络模型的运行请求时,判断当前状态是否能够满足所述神经网络模型的运行需求。运行网络模型的服务器或者其他设备系统,在接收到模型的运
行请求时,需求检测设备的当前状态,例如内存资源、当前运行模型的数量等等。根据这些情况判断是否满足该模型的运行需求。模型的运行需求可以是模型的类型、体量、需要的内存资源等等。
32.步骤104,在判断结果为是时,根据所述神经网络模型的执行类型运行所述神经网络模型。在本实施例中,模型的执行类型可以分为定时行和即时型,针对不同的类型,有相应的处理方法。
33.下面结合图2,详细说明针对不同的模型类型,如何区别处理。
34.在步骤201,接收到模型执行请求后,首先将该请求放入到执行队列中。
35.在步骤202,判断服务器的资源(例如内存)是否满足此模型的运行。
36.在步骤203,如果服务器的资源满足,则查看线程池是否达到最大的并发数且线程池的等待队列已满,否则结束该流程。
37.如果服务器线程池未达到最大并发数且线程池的等待队列未满,则执行模型,否则不执行该模型。
38.在步骤204,确定可执行该模型后,判断模型的执行类型。若该模型是定时类型,则进入步骤205,若该模型是即时模型,则进入步骤211.
39.在步骤205,判断当前模型是否已执行,若判断结果是,则结束该流程,否则进入步骤206。
40.在步骤206,判断服务器是否存在与该模型对应的执行文件。若判断结果为是,则进入步骤207,否则进入步骤208。
41.步骤207,可采用java调用执行文件。该执行文件可以是python文件,记录了模型的运行逻辑。
42.步骤209,判断是否超过预设的最大执行时长,若是,则进入停止运行该模型。否则,继续运行该模型。
43.在步骤211,在模型的执行类型是即时类型时,直接判断服务器是否存在执行文件,若是,则进入步骤207,调用执行文件,否则从ftp服务器等其他服务器下载对应的执行文件,并执行该模型。
44.因此,本领域技术人员应理解,当执行类型为定时模型时:
45.①
从数据库的模型执行状态表中查看当前模型id是否正在运行(同一时刻同一模型id不可重复执行),如果存在,则请求停止,如果不存在,则修改当前模型的执行状态为正在运行,并记录开始执行的时间。
46.②
查看服务器的文件目录下是否存在python文件及其附属文件,如果不存在则从ftp服务器上下载python文件及其附属文件。
47.③
通过java调用python文件的方式,执行python文件,并将此模型id的python进程对象保存。
48.④
正常情况下,python进程对象执行完python文件后会自动销毁,然后修改模型的执行状态为未运行。
49.⑤
如遇python文件阻塞、死循环等情况,模型监控服务会定时轮询,查询数据库中当前模型设定的最大执行时长,当此刻时间减去开始时间大于设定的最大执行时长,模型监控服务会取出此模型id的python进程对象,进行销毁,并修改模型的执行状态为未运行,
同时记录模型执行的错误信息。
50.当执行类型为即时模型时:
51.①
查看服务器的文件目录下是否存在python文件及其附属文件,如果不存在则从ftp服务器上下载python文件及其附属文件。
52.②
通过java调用python文件的方式,执行python文件。
53.通过任务的添加,当任务触发加载后,定时任务执行数据的跑批,执行完成后,可点击图表进行查看。即时任务可进行实时查看,达到实时自动管理的功能,秒级速度执行上下线。
54.需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时执行或以其他顺序执行,也可以增加、替换或者省略某些步骤,这些变化都在本发明的保护范围之内等。
55.上文详细说明的根据本发明的技术方案,本发明通过使用执行队列 服务器资源监控 线程池的组合判断方式,达到最大化利用服务器资源的目的。
56.其次,通过一套java代码程序,加载不同的模型python文件,处理不同的数据加工逻辑。在版本升级时,不需要停止当前服务,只需要新增或替换python文件即可,真正实现了系统的热部署。
57.此外,使用模型监控功能,用于监控python的进程,避免定时模型阻塞时,因为数据库中保存的模型执行状态是运行中,发出的重试请求被停止的情况发生。同时,在数据库连接失败等情况下,一旦恢复正常,即可重新正常执行,并修正所有执行结束的模型因数据库连接失败未更改模型执行状态,保障了系统的高容错性。
58.定时模型执行异常时,不但会将异常的详细信息存储到数据库,而且还会以短信或邮件的形式发送给管理员。避免了系统异常时,不能第一时间知晓、解决,同时,因为数据库和邮件中记录了详细的异常信息,所以管理员不需要从海量的系统日志中查询详细的异常信息,从而让管理员更高效的管理系统。
59.根据本发明的实施例还提供了一种神经网络模型的执行装置,包括:
60.判断单元,在接收到神经网络模型的运行请求时,判断当前状态是否能够满足所述神经网络模型的运行需求;
61.执行单元,在判断单元的判断结果为是时,根据所述神经网络模型的执行类型运行所述神经网络模型。
62.在上述神经网络模型的执行装置的一个实施方式中,所述判断单元在接收到所述运行请求时,将所述运行请求放入到执行队列中,并判断服务器的处理资源是否满足神经网络模型的运行要求,若满足,则进一步判断当前线程池是否达到最大并发数且线程池的等待队列已满,若线程池未达到最大并发数,则通知所述执行单元运行所述神经网络模型。
63.在上述神经网络模型的执行装置的一个实施方式中,在所述神经网络模型的执行类型是定时类型时,所述执行单元进一步判断当前是否存在正在运行的相同神经网络模型,若判断结果为否,则获取对应的执行文件并执行,否则,不执行所述神经网络模型;
64.在执行过程中,进一步判断执行时间是否超过预设时长,若超过,则结束运行该神经网络模型。
65.在上述神经网络模型的执行装置的一个实施方式中,在所述神经网络模型的执行类型是即时类型时,所述执行单元获取与所述神经网络模型对应的执行文件并执行,神经网络模型的具体实现逻辑记录于执行文件中,若文件目录下不存在与所述神经网络模型对应的执行文件,则调用其他存储器中的对应执行文件。
66.服务器资源最大化分配,防止资源浪费,同时,定时任务和即时任务可满足金融机构多场景的数据分析需求,消息队列采用执行失败回调机制保证任务可执行成功。
67.根据本发明实施例的一种计算机设备,包括处理器和存储装置,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器运行并运行以执行上述任一项所述的神经网络模型的执行方法。在本发明的描述中,与实现使用分布不均衡数据训练人体检测模型的方法相对应的各个模块(下文称作控制模块)可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。
68.根据本发明的实施例的存储介质,所述存储介质适于存储多条程序代码,其特征在于,所述程序代码适于由处理器运行并运行以执行上述任一项所述的神经网络模型的执行方法。本领域技术人员能够理解的是,本发明实现其方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,可以理解的是,该程序代码包括但不限于执行上述使用分布不均衡数据训练人体检测模型的方法的程序代码。为了便于说明,仅示出了与本发明相关的部分。所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
69.在采用上述技术方案的情况下,在需求上线神经网络模型时,综合判断当前状态来确定是否满足模型的运行需求,在确定可运行时,进一步根据模型的类型来运行网络模型,分类型来处理,使所有模型可以和谐运行。
70.本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
71.需求说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第
二”等序数词仅用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。应该理解这样使用的数据在适当的情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
72.需求说明的是,在本技术的描述中,术语“a和/或b”表示所有可能的a与b的组合,比如只是a、只是b或者a和b。
73.至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献