一种应用程序文件配置方法、装置、设备及存储介质与流程

文档序号:28374024发布日期:2022-01-07 21:09阅读:68来源:国知局
一种应用程序文件配置方法、装置、设备及存储介质与流程

1.本公开涉及人工智能技术领域,尤其涉及计算机视觉和深度学习技术领域。


背景技术:

2.近年来神经网络技术的应用越来越广泛,为了能够更好的实现各种软件功能,越来越多的应用程序文件均可以基于神经网络技术来进行开发。应用程序文件通常配置在软件框架文件中。基于软件框架文件提供的软件框架来运行应用程序文件实现软件功能。
3.当前上述软件框架文件和应用程序文件一般是结合不同操作系统的特点开发的,因此,在配置应用程序文件时,一般按照电子设备所安装的操作系统配置应用程序文件。


技术实现要素:

4.本公开提供了一种用于应用程序文件配置的方法、装置、设备以及存储介质。
5.根据本公开的一方面,提供了一种应用程序文件配置方法,应用于服务器,包括:
6.接收电子设备发送的针对应用程序文件的配置请求;
7.获得表征所述电子设备计算性能的算力信息;
8.从所述配置请求对应的预设神经网络模型中,确定与所述算力信息相匹配的第一目标神经网络模型,其中,不同预设神经网络模型需要的计算资源量不同;
9.向所述电子设备发送所述第一目标神经网络模型对应的第一应用程序文件和软件框架文件,以使得所述电子设备在所述软件框架文件中配置所述第一应用程序文件,其中,所述软件框架文件为:基于支持跨平台程序语言编写的代码文件。
10.根据本公开的另一方面,提供了一种应用程序文件配置方法,应用于电子设备,包括:
11.确定用于表征所述电子设备计算性能的算力信息;
12.向服务器发送针对应用程序文件的配置请求以及所述算力信息;
13.获得所述服务器提供的第一应用程序文件和软件框架文件,其中,所述第一应用程序文件为:第一目标神经网络模型对应的应用程序文件,所述第一目标神经网络模型为:所述配置请求对应的预设神经网络模型中与所述算力信息相匹配的网络模型,不同预设神经网络模型需要的计算资源量不同,所述软件框架文件为:基于支持跨平台程序语言编写的代码文件;
14.在所述软件框架文件中配置所述第一应用程序文件。
15.根据本公开的另一方面,提供了一种应用程序文件配置装置,应用于服务器,包括:
16.请求接收模块,用于接收电子设备发送的针对应用程序文件的配置请求;
17.算力获得模块,用于获得表征所述电子设备计算性能的算力信息;
18.第一模型确定模块,用于从所述配置请求对应的预设神经网络模型中,确定与所述算力信息相匹配的第一目标神经网络模型,其中,不同预设神经网络模型需要的计算资
源量不同;
19.第一文件发送模块,用于向所述电子设备发送所述第一目标神经网络模型对应的第一应用程序文件和软件框架文件,以使得所述电子设备在所述软件框架文件中配置所述第一应用程序文件,其中,所述软件框架文件为:基于支持跨平台程序语言编写的代码文件。
20.根据本公开的另一方面,提供了一种应用程序文件配置装置,应用于电子设备,包括:
21.算力确定模块,用于确定用于表征所述电子设备计算性能的算力信息;
22.算力发送模块,用于向服务器发送针对应用程序文件的配置请求以及所述算力信息;
23.文件获得模块,用于获得所述服务器提供的第一应用程序文件和软件框架文件,其中,所述第一应用程序文件为:第一目标神经网络模型对应的应用程序文件,所述第一目标神经网络模型为:所述配置请求对应的预设神经网络模型中与所述算力信息相匹配的网络模型,不同预设神经网络模型需要的计算资源量不同,所述软件框架文件为:基于支持跨平台程序语言编写的代码文件;
24.文件配置模块,用于在所述软件框架文件中配置所述第一应用程序文件。
25.根据本公开的另一方面,提供了一种电子设备,作为服务器,包括:
26.至少一个处理器;以及
27.与所述至少一个处理器通信连接的存储器;其中,
28.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述应用于服务器的应用程序文件配置方法。
29.根据本公开的另一方面,提供了一种电子设备,包括:
30.至少一个处理器;以及
31.与所述至少一个处理器通信连接的存储器;其中,
32.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述应用于电子设备的应用程序文件配置方法。
33.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述应用程序文件配置方法。
34.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述应用程序文件配置的方法。
35.由以上可见,应用本公开实施例提供的方案配置应用程序文件时,服务器接收到电子设备发送的针对应用程序文件的配置请求、并获得表征电子设备计算性能的算力信息后,从配置请求对应的预设神经网络模型中,确定与算力信息相匹配的第一目标神经网络模型,向电子设备发送第一目标神经网络模型对应的第一应用程序文件和软件框架文件,这样可以使得电子设备在软件框架文件中配置第一应用程序文件,从而实现应用程序文件配置。因此,应用本公开实施例提供的应用程序文件配置方案,电子设备能够根据自身的计算性能配置应用程序文件。
36.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
37.附图用于更好地理解本方案,不构成对本公开的限定。其中:
38.图1为本公开实施例提供的第一种应用程序文件配置方法的流程示意图;
39.图2为本公开实施例提供的第二种应用程序文件配置方法的流程示意图;
40.图3为本公开实施例提供的第三种应用程序文件配置方法的流程示意图;
41.图4为本公开实施例提供的第四种应用程序文件配置方法的流程示意图;
42.图5为本公开实施例提供的第五种应用程序文件配置方法的流程示意图;
43.图6为本公开实施例提供的第一种应用程序文件配置装置的结构示意图;
44.图7为本公开实施例提供的第二种应用程序文件配置装置的结构示意图;
45.图8为本公开实施例提供的第三种应用程序文件配置装置的结构示意图;
46.图9为本公开实施例提供的第四种应用程序文件配置装置的结构示意图;
47.图10是用来实现本公开实施例的应用程序文件配置的方法的第一种电子设备的框图;
48.图11是用来实现本公开实施例的应用程序文件配置的方法的第二种电子设备的框图。
具体实施方式
49.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
50.参见图1,图1为本公开实施例提供的第一种应用程序文件配置方法的流程示意图,该方法应用于服务器,上述方法包括以下步骤s101-s104。
51.步骤s101:接收电子设备发送的针对应用程序文件的配置请求。
52.其中,上述电子设备为存在应用程序文件配置需求的设备,例如,上述电子设备可以是手机、计算机等。服务器为提供应用程序文件配置服务的设备,例如,存储有电子设备需要配置的应用程序文件的设备。
53.上述应用程序文件可以是基于神经网络技术或者神经网络模型开发的文件。应用程序文件的大小与神经网络模型的模型规模相关,神经网络模型的模型规模越大,应用程序文件越大,神经网络模型的模型规模越小,应用程序文件越小。
54.上述应用程序文件的配置请求中可以携带有电子设备需要配置的应用程序文件的标识等信息。
55.步骤s102:获得表征电子设备计算性能的算力信息。
56.其中,上述算力信息用于表征电子设备的计算性能。由于电子设备的计算性能与计算资源的多少相关,因此,也可以认为上述算力信息能够反映电子设备计算资源的多少。
57.电子设备的计算性能越高,可以认为电子设备能够提供的计算资源越多,执行计
算任务的速度越快,越能够支持计算资源需求高的计算任务。
58.由于cpu、gpu(graphics processing unit,图形处理器)等器件均能够提供计算资源,因此,上述算力信息可以基于电子设备所配置的cpu、gpu等器件的信息进行描述。算力信息的具体描述形式可以参见后续实施例,这里暂不详述。
59.具体的,服务器可以通过以下不同的方式获得上述算力信息。
60.一种实现方式中,上述配置请求中可以携带有算力信息,这样服务器接收到配置请求后,可以通过解析上述配置请求获得算力信息。
61.另一种实现方式中,电子设备向服务器发送配置请求后,可以再通过数据交互指令向服务器发送上述算力信息,这样服务器可以基于上述数据交互指令获得算力信息。
62.再一种实现方式中,服务器接收到电子设备发送的配置请求后,可以向电子设备发送算力请求,电子设备接收到算力请求后,向服务器发送上述算力信息,从而服务器获得到上述算力信息。
63.步骤s103:从配置请求对应的预设神经网络模型中,确定与算力信息相匹配的第一目标神经网络模型。
64.其中,不同预设神经网络模型需要的计算资源量不同。
65.从上述步骤s101中可以得知,配置请求与应用程序文件之间存在对应关系,应用程序文件与神经网络模型之间存在对应关系,因此,配置请求与神经网络模型之间存在对应关系。
66.由于神经网络模型在训练过程中能够学习到数据各个方面的特征,因此,使用神经网络模型对数据进行处理能够得到较好的处理效果。为此运行基于神经网络模型开发的应用程序文件,相当于引入神经网络模型来实现设定功能。例如,上述设定功能可以是人像分割功能、人脸识别功能、图像分割功能、对象识别功能、特征点识别功能等等。
67.又由于神经网络模型的模型规模与数据处理准确度息息相关,例如,神经网络模型中神经元越多、或者网络层级越多,则模型的规模越大,对数据进行处理的耗时越长、准确度越高,相应的需要的计算资源越多;反之,神经网络模型中神经元越少、或者网络层级越少,则模型的规模越小,对数据进行处理的耗时越短、准确度越低,相应的需要的计算资源越少。鉴于此,在具有不同计算性能的电子设备能够提供的计算资源量不同的情况下,为了使得应用程序文件适用具有不同计算性能的电子设备,可以预设多个神经网络模型,这些神经网络模型均用于实现设定功能,但是这些神经网络模型的模型规模不同,进而需要的计算资源量也不相同。
68.上述预设神经网络模型的数量可以是3个、5个或者其他数量。
69.由于电子设备的算力信息反映了电子设备的计算性能,也就是反映了电子设备计算资源的情况,因此,可以根据上述算力信息从各个预设神经网络模型中选择适用于上述电子设备的神经网络模型。例如,若上述算力信息表征电子设备的计算性能较低,也就是,电子设备的计算资源较少,则可以选择模型规模较小的神经网络模型;若上述算力信息表征电子设备的计算性能较高,也就是,电子设备的计算资源较多,则可以选择模型规模较大的神经网络模型。
70.具体的,确定与上述算力信息相匹配的第一目标神经网络模型的实现方式在后续介绍算力信息时一并进行说明,这里暂不详述。
71.步骤s104:向电子设备发送第一目标神经网络模型对应的第一应用程序文件和软件框架文件,以使得电子设备在软件框架文件中配置第一应用程序文件。
72.其中,软件框架文件是用于支撑应用程序文件运行的框架性文件,例如,可以是sdk(software development kit,软件开发工具包)。具体的,软件框架文件为:基于支持跨平台程序语言编写的代码文件。
73.上述跨平台程序语言是指适用于多个操作系统的计算机程序语言。这样上述软件框架文件可以适用于多个操作系统。因此,上述软件框架文件可以安装在搭载不同操作系统的各种电子设备中。
74.本公开的一个实施例中,上述跨平台程序语言为c++语言。
75.本公开实施例中,应用程序文件配置在软件框架文件中。这样电子设备在需要运行应用程序文件时,可以在软件框架文件提供的软件框架下运行应用程序文件实现设定功能。
76.服务器在向电子设备发送第一目标神经网络模型对应的第一应用程序文件以及软件框架文件后,电子设备接收服务器发送的第一应用程序文件以及软件框架文件,并在软件框架文件中配置第一应用程序文件,从而实现应用程序文件的配置。
77.本公开的一个实施例中,上述第一应用程序文件为人像分割模型对应的应用程序文件。
78.这种情况下,运行第一应用程序文件,能够实现人像分割功能。
79.本公开的另一个实施例中,上述第一应用程序文件为人脸识别模型对应的应用程序文件。
80.这种情况下,运行第一应用程序文件,能够实现人脸识别功能。
81.本公开的又一个实施例中,上述第一应用程序文件为图像分割模型对应的应用程序文件。
82.这种情况下,运行第一应用程序文件,能够实现图像分割功能。
83.由以上可见,应用本公开实施例提供的方案配置应用程序文件时,服务器接收到电子设备发送的针对应用程序文件的配置请求、并获得表征电子设备计算性能的算力信息后,从配置请求对应的预设神经网络模型中,确定与算力信息相匹配的第一目标神经网络模型,向电子设备发送第一目标神经网络模型对应的第一应用程序文件和软件框架文件,这样可以使得电子设备在软件框架文件中配置第一应用程序文件,从而实现应用程序文件配置。因此,应用本公开实施例提供的应用程序文件配置方案,电子设备能够根据自身的计算性能配置应用程序文件。
84.另外,一方面,本公开实施例提供的方案中,是根据电子设备的算力信息确定第一目标神经网络模型的,所以,在开发预设神经网络模型对应的应用程序文件时依据上述算力信息进行开发即可,而无需考虑电子设备的操作系统,这样所开发出的应用程序文件之间仅是运行过程中需要的计算资源量不同,而不会受所应用电子设备的操作系统限制;另一方面,软件框架文件是基于支持跨平台程序语言编写的代码文件,所以,软件框架文件适用于多种操作系统,这样在开发软件框架文件时,无需再考虑不同操作系统,针对多种操作系统,仅开发一份软件框架文件即可。
85.综合上述两个方面,开发上述应用程序文件以及软件框架文件无需考虑操作系
统,也就无需针对不同的操作系统开发不同的文件版本,简化了开发过程,降低了开发成本。相应的,应用程序维护人员维护应用程序文件以及软件框架文件时,也无需按照操作系统进行维护,降低了维护成本。电子设备配置应用程序文件时,也无需依据操作系统进行配置,配置应用程序文件后运行应用程序文件,也不会因操作系统不同导致所运行文件版本不同,进而设定功能的实现效果不同。
86.由于电子设备的算力信息可以通过不同的信息呈现,下面分不同情况对上述算力信息进行介绍。
87.第一种情况,上述算力信息包括电子设备中用于提供计算资源的器件的初始计算资源量。
88.其中,上述用于提供计算资源的器件可以是电子设备中的cpu、gpu等器件。
89.上述计算资源可以是cpu和/或gpu的核心数等。
90.用于提供计算资源的器件的初始计算资源量可以理解为电子设备不运行任何程序时器件所提供的计算资源量,也就是,电子设备在出厂时上述器件提供的计算资源量。
91.具体的,电子设备完成出厂设置后,一般会记录其所配置的各种器件的器件参数,由于初始计算资源量是用于提供计算资源的各种器件的器件参数之一,所以,可以通过读取电子设备中记录的上述器件的器件参数获得用于提供计算资源的器件的初始计算资源量。
92.由于上述初始计算资源量为电子设备处理数据时所能调用的最大计算资源量,因此,以上述初始计算资源量作为算力信息,能够确定出电子设备能够支持的性能最佳的第一目标神经网络模型,这样能够提高电子设备配置应用程序文件后运行应用程序文件时实现设定功能的准确度。
93.第二种情况,上述算力信息包括电子设备当前剩余计算资源的资源量。
94.电子设备可能会同时运行多种应用程序,每一应用程序均会占用一定的计算资源,获知了当前剩余计算资源的资源量也就获知了当前能够使用的最多计算资源的多少。
95.以当前剩余计算资源的资源量作为算力信息,能够确定出电子设备在运行有其他应用程序的情况下当前能够支持的性能最佳的第一目标神经网络模型,这样能够使得电子设备运行应用程序文件时,不仅不会影响电子设备中已运行的应用程序,还能够保证运行应用程序文件实现设定功能的准确度。
96.第三种情况,上述算力信息包含目标对象的型号。
97.上述目标对象可以是电子设备。由于电子设备的型号是确定的,电子设备中配置的各种器件也是确定的,所以,电子设备的型号与电子设备配置的器件间存在对应关系。又由于上述各种器件的计算性能决定了电子设备的计算性能,所以,在已知电子设备的型号的情况下,能够获知电子设备的计算性能。鉴于上述情况,可以以电子设备的型号作为算力信息,进而上述目标对象可以是电子设备。
98.上述目标对象也可以是电子设备中用于提供计算资源的器件。由于上述器件的型号是确定的,上述器件所能提供的计算资源也是确定的,所以,电子设备中用于提供计算资源的器件的型号与上述器件能够提供的计算资源间存在对应关系。又由于电子设备的计算性能与电子设备中器件提供的计算资源的多少相关,所以,在已知电子设备中用于提供计算资源的器件的型号的情况下,能够获知电子设备的计算性能。鉴于上述情况,可以以电子
设备中用于提供计算资源的器件的型号作为算力信息,进而上述目标对象可以是电子设备中用于提供计算资源的器件。
99.综合上述情况,若上述电子设备为手机时,目标对象的型号可以是手机型号、该手机中cpu的型号或者该手机中gpu的型号等。
100.由以上描述可以看出,不管目标对象是电子设备还是用于提供计算资源的器件,目标对象的型号均能够唯一的标识出目标对象,而在基于目标对象描述电子设备的计算性能时,一般是从目标对象的不同角度多个方向描述的,这样需要多种描述参数,而目标对象的型号这一个参数可以概括上述多种描述参数,所以,以目标对象的型号作为算力信息,能够简化算力信息,这样服务器在基于算力信息确定第一目标神经网络模型时,所参考的信息较少,从而提高确定速度。
101.从上面的描述可以看出电子设备的算力信息可以通过不同的信息呈现,由于第一目标神经网络模型是基于上述算力信息确定的,所以,下面结合不同的算力信息,介绍前述步骤s103中确定第一目标神经网络模型的实现方式。
102.从上述第一种情况和第二种情况来看,算力信息可以包括目标计算资源的资源量,其中,目标计算资源包括:电子设备的初始计算资源、剩余计算资源等。这种情况下,可以基于目标计算资源的资源量,从多个预设神经网络模型中,确定第一目标神经网络模型。
103.一种实现方式中,可以预先设定计算资源的资源量范围与各个预设神经网络模型间的对应关系,确定第一目标神经网络模型时,可以查询目标计算资源的资源量所处的目标资源量范围,将目标资源量范围对应的预设神经网络模型确定为第一目标神经网络模型。
104.例如,若预设神经网络模型1对应的计算资源量的数值范围为a-b,预设神经网络模型2对应的计算资源量的数值范围为b-c,预设神经网络模型3对应的计算资源量的数值范围为c-d。若上述算力信息中包含的电子设备的计算资源量的数值为x,数值x处于数值范围c-d中,则可以确定预设神经网络模型3为第一目标神经网络模型。
105.从上述第三种情况来看,算力信息可以包括目标对象的型号。这种情况下,可以基于目标对象的型号,从多个预设神经网络模型中,确定第一目标神经网络模型。
106.在此基础上,本公开的一个实施例中,参见图2,提供了第二种应用程序文件配置方法的流程示意图,与前述图1所示实施例相比,本实施例中,在算力信息包括目标对象的型号的情况下,可以通过以下步骤s103a-s103c实现上述步骤s103。
107.步骤s103a:查找预设的对象模型对应关系中是否存在包含目标对象的型号的对应关系,若存在,则执行步骤s103b,若不存在,则执行步骤s103c。
108.其中,对象模型对应关系为:对象的型号与预设神经网络模型间的对应关系。
109.从前述第三种情况处的描述可以得知对象的型号能够作为电子设备的算力信息,又由于不同预设神经网络模型需要的计算资源不同,因此,可以建立对象的型号与预设神经网络模型之间的对应关系,以便于后续直接根据对象的型号,确定第一目标神经网络模型。
110.步骤s103b:将所查找到对应关系中记录的神经网络模型确定为与算力信息相匹配的第一目标神经网络模型。
111.步骤s103c:将预设神经网络模型中的缺省神经网络模型确定为第一目标神经网
络模型。
112.由于新的电子设备层出不穷,预先建立的对象模型对应关系中可能不存在新的电子设备的对象的型号与预设神经网络模型之间的对应关系,为此可以在预设神经网络模型中设置缺省神经网络模型,这样在步骤s103a未查找到包含目标对象的型号的对应关系时,可以将缺省神经网络模型作为第一目标神经网络模型。
113.由此可见,本公开实施例提供的方案中,预先设定了对象的型号与神经网络模型间的对应关系,这样在确定第一目标神经网络模型时,依据目标对象的型号查询对应关系即确定出了第一目标神经网络模型,而无需参考其他信息。又由于对象的型号能够表征对象在多个角度多个方向对计算性能的描述参数,因此,本公开实施例提供的方案中,在确定第一目标神经网络模型时,只需考虑目标对象的型号这一较少的参数,从而能够提高模型确定效率。
114.本公开的一个实施例中,参见图3,提供了第三种应用程序文件配置方法的流程示意图,与前述图1所示实施例相比,本实施例中,上述方法还包括以下步骤s105-s108。
115.步骤s105:接收电子设备发送的运行信息。
116.其中,运行信息为:电子设备配置第一应用程序文件后运行第一应用程序文件生成的信息。上述运行信息可以是与耗时、资源量等相关的反映第一应用程序文件在电子设备中的运行情况的信息。
117.本公开的一个实施例中,上述运行信息包括以下信息中的至少一种:
118.运行第一应用程序文件完成设定功能的耗时;第一应用程序文件在电子设备运行过程中实际消耗的计算资源量;第一应用程序文件在电子设备运行后电子设备的剩余计算资源量。
119.以第一应用程序文件的设定功能为图像分割功能为例,上述耗时可以是第一应用程序文件分割一张图像所消耗的时间。若所分割的图像为视频中的各帧图像,则上述耗时可以是第一应用程序文件对单帧图像进行分割所消耗的时长,也可以是第一应用程序文件对多帧图像进行图像分割所消耗时长的平均值。
120.例如,上述第一应用程序文件在电子设备运行过程中实际消耗的计算资源量可以是第一应用程序文件运行时所占用的cpu或者gpu的核心数。
121.上述第一应用程序文件在电子设备运行后电子设备的剩余计算资源量可以是第一应用程序文件运行时处于空闲状态的cpu或者gpu的核心数。
122.上述耗时表示第一应用程序文件完成设定功能所需时间的长短,若耗时过长,可以认为电子设备存在计算资源不足的情况,若耗时过短,可以认为电子设备存在计算资源过剩的情况;对于每一预设神经网络模型对应的应用程序文件而言,均存在预期消耗的计算资源量,这样根据上述实际消耗的计算资源量和预期消耗的计算资源量能够判断出电子设备是否为第一应用程序文件提供了充足的计算资源;第一应用程序文件在电子设备运行后会使得电子设备的剩余计算资源量变小,若剩余计算资源量过小,例如,接近于0,则剩余计算资源可能难以支持电子设备正常运行,这时可以认为对于电子设备而言第一应用程序文件需要的计算资源过多。
123.综合以上可以看出,上述耗时、实际消耗的计算资源量、剩余计算资源量可以从不同角度反映第一应用程序文件在电子设备上运行后,电子设备的运行情况,为后续判断第
一应用程序文件是否与电子设备相匹配提供了丰富的参考信息。
124.步骤s106:根据运行信息,判断第一应用程序文件是否与电子设备相匹配,若为否,则执行步骤s107。
125.一种实现方式中,上述运行信息可以以运行参数描述,这种情况下,可以预先设定表征电子设备正常运行的参数范围,然后判断上述运行参数的参数值是否属于上述参数范围,若运行参数的参数值属于上述参数范围,则认为第一应用程序文件在电子设备中运行后,电子设备正常运行,确定第一应用程序文件与电子设备相匹配;若运行参数的参数值不属于上述参数范围,则认为第一应用程序文件在电子设备中运行后,电子设备运行异常,确定第一应用程序文件与电子设备不匹配。
126.在确定第一应用程序文件与电子设备不匹配的情况下,还可以进一步根据运行参数的参数值与上述参数范围之间的大小关系,确定第一应用程序文件与电子设备不匹配的原因。
127.一种情况下,上述不匹配的原因可能是电子设备计算资源过剩,这种情况下,电子设备运行第一应用程序文件后,依然存在大量剩余计算资源,实际能够支持运行应用程序文件的高级版本,其中,上述应用程序文件的高级版本对应的预设神经网络模型的模型规模大于第一应用程序文件对应的预设神经网络的模型规模。这种情况下,运行参数的参数值与上述参数范围之间的大小关系,表明第一应用程序文件在电子设备中运行的运行效果比期望得到的运行效果好。例如,若上述运行参数为运行第一应用程序文件完成设定功能的耗时,则可以预先设定时长范围,若上述耗时小于该时长范围的最小时长,说明电子设备计算资源过剩,存在多余的计算资源供第一应用程序文件完成设定功能使用,使得数据处理速度比正常情况下的速度快,完成设定功能的耗时减小。
128.另一种情况下,上述不匹配的原因可能是电子设备计算资源不足,这种情况下,电子设备运行第一应用程序文件后,不存在剩余计算资源,或者剩余计算资源较少,使得电子设备处于高负荷运行状态,难以保证电子设备正常运行,实际电子设备只能支持运行应用程序文件的低级版本以保证正常运行,其中,上述应用程序文件的低级版本对应的预设神经网络模型的模型规模小于第一应用程序文件对应的预设神经网络模型的模型规模。这种情况下,运行参数的参数值与上述参数范围之间的大小关系,表明第一应用程序文件在电子设备中运行的运行效果比期望得到的运行效果差。例如,若上述耗时大于预设时长范围的最大时长,说明电子设备计算资源不足,难以为第一应用程序文件提供所需的全部计算资源完成设定功能,使得数据处理速度比正常情况下的速度慢,完成设定功能的耗时增加。
129.步骤s107:根据运行信息和第一目标神经网络模型,从预设神经网络模型中,重新确定所对应的第二应用程序文件与电子设备相匹配的第二目标神经网络模型。
130.第一应用程序文件与电子设备不匹配的原因不同,则根据运行信息和第一目标神经网络模型确定第二目标神经网络模型的方式也就不同。
131.具体的,若上述不匹配的原因是电子设备计算资源过剩,可以选择预设神经网络模型中模型规模比第一目标神经网络模型的模型规模大的神经网络模型作为第二目标神经网络模型。
132.若上述不匹配的原因是电子设备计算资源不足,可以选择预设神经网络模型中模型规模比第一目标神经网络模型的模型规模小的神经网络模型作为第二目标神经网络模
型。
133.步骤s108:向电子设备发送第二应用程序文件,以使得电子设备将第一应用程序文件更新为第二应用程序文件。
134.电子设备将第一应用程序文件更新为第二应用程序文件后,可以在上述软件框架文件提供的软件框架下运行第二应用程序文件实现设定功能。
135.电子设备将第一应用程序文件更新为第二应用程序文件之后,服务器可以再次执行步骤s105-s108,直至更新后的应用程序文件与电子设备相匹配。
136.由此可见,本公开实施例提供的方案中,服务器在向电子设备发送包括第一应用程序文件和软件框架文件后,还可以根据电子设备反馈的第一应用程序文件运行时生成的运行信息,确定在实际运行过程中第一应用程序文件与电子设备是否匹配,若不匹配,则重新确定第二应用程序文件,这样可以使得更新后的第二应用程序文件更适合电子设备。
137.与上述应用于服务器的应用程序文件配置方法相对应,本公开实施例还提供了一种应用于电子设备的应用程序文件配置方法。
138.参见图4,图4为本公开实施例提供的第四种应用程序文件配置方法的流程示意图,该方法应用于电子设备。上述电子设备可以是存在应用程序文件配置需求的设备,如,手机、计算机等终端或者服务器等。
139.上述应用程序文件配置方法包括以下步骤s401-s404。
140.步骤s401:确定用于表征电子设备计算性能的算力信息。
141.上述算力信息用于表征电子设备的计算性能。由于电子设备的计算性能与计算资源的多少相关,因此,也可以认为上述算力信息能够反映电子设备计算资源的多少。
142.关于算力信息的介绍可以参见前述图1所示实施例中步骤s102处,这里不再详述。
143.上述算力信息可以通过多种方式确定,详细情况可参见后续实施例,这里暂不详述。
144.步骤s402:向服务器发送针对应用程序文件的配置请求以及算力信息。
145.其中,上述应用程序文件可以是基于神经网络技术或者神经网络模型开发的文件。应用程序文件的大小可以与神经网络模型的模型规模相关,神经网络模型的模型规模越大,应用程序文件越大,神经网络模型的模型规模越小,应用程序文件越小。
146.上述应用程序文件的配置请求中可以携带有电子设备需要配置的应用程序文件的标识等信息。
147.具体的,电子设备可以通过以下不同的方式向服务器发送配置请求以及算力信息。
148.一种实现方式中,上述配置请求中可以携带有算力信息,这样电子设备向服务器发送配置请求时,也就将上述算力信息发送给服务器。
149.另一种实现方式中,电子设备向服务器发送配置请求后,可以再通过数据交互指令向服务器发送上述算力信息。
150.再一种实现方式中,电子设备向服务器发送配置请求,服务器接收到电子设备发送的配置请求后,可以向电子设备发送算力请求,电子设备接收到算力请求后,向服务器发送上述算力信息。
151.步骤s403:获得服务器提供的第一应用程序文件和软件框架文件。
152.其中,第一应用程序文件为:第一目标神经网络模型对应的应用程序文件,第一目标神经网络模型为:配置请求对应的预设神经网络模型中与算力信息相匹配的网络模型,不同预设神经网络模型需要的计算资源量不同,软件框架文件为:基于支持跨平台程序语言编写的代码文件。
153.关于软件框架文件、预设神经网络模型以及应用程序文件的介绍可以参见前述图1所示实施例中各步骤处,这里不再详述。
154.步骤s404:在软件框架文件中配置第一应用程序文件。
155.一种情况下,可以将上述第一应用程序文件的文件内容添加至上述软件框架文件中的指定位置,从而实现在软件框架文件中配置第一应用程序文件。
156.另一种情况下,还可以在软件框架文件中设置第一应用程序文件的超链接,使得在运行软件框架文件时可以根据所设置的超链接跳转至第一应用程序文件,从而实现在软件框架文件中配置第一应用程序文件。
157.由此可见,本公开实施例提供的方案中,电子设备向服务器发送针对应用程序文件的配置请求以及用于表征电子设备计算性能的算力信息,这样可以使得服务器能够根据上述算力信息从应用程序文件对应的预设神经网络模型中确定第一目标神经网络模型,从而为电子设备提供第一目标神经网络模型对应的第一应用程序文件和软件框架文件,进而电子设备获得服务器所提供的第一应用程序文件和软件框架文件,并在软件框架文件中配置第一应用程序文件,完成应用程序文件的配置。
158.下面通过不同的实施例介绍电子设备获得上述算力信息的方式。
159.本公开的一个实施例中,电子设备可以获得电子设备中用于提供计算资源的器件的初始计算资源量,作为算力信息。
160.其中,上述用于提供计算资源的器件可以是电子设备中的cpu、gpu等器件。
161.上述计算资源可以是可以是cpu或者gpu处理数据的核心数等。
162.关于初始计算资源的介绍可以参见前述应用于服务器的应用程序文件配置方法实施例,这里不再详述。
163.由于上述初始计算资源量为电子设备处理数据时所能调用的最大计算资源量,因此,以上述初始计算资源量作为算力信息,能够确定出电子设备能够支持的性能最佳的第一目标神经网络模型,这样能够提高电子设备配置第一应用程序文件后运行第一应用程序文件时实现设定功能的准确度。
164.本公开的另一个实施例中,电子设备可以获得电子设备当前剩余计算资源的资源量,作为算力信息。
165.电子设备可能会同时运行多种应用程序,每一应用程序均会占用一定的计算资源,获知了当前剩余计算资源的资源量也就获知了当前能够使用的最多计算资源的多少。
166.以当前剩余计算资源的资源量作为算力信息,能够确定出电子设备在运行有其他应用程序的情况下当前能够支持的性能最佳的第一目标神经网络模型,这样能够使得电子设备运行应用程序文件时,不仅不会影响电子设备中已运行的应用程序,还能够保证运行应用程序文件实现设定功能的准确度。
167.本公开的另一个实施例中,电子设备可以获得目标对象的型号,作为表征电子设备计算性能的算力信息。
168.上述目标对象可以是电子设备。由于电子设备的型号是确定的,电子设备中配置的各种器件也是确定的,所以,电子设备的型号与电子设备配置的器件间存在对应关系。又由于上述各种器件的计算性能决定了电子设备的计算性能,所以,在已知电子设备的型号的情况下,能够获知电子设备的计算性能。鉴于上述情况,可以以电子设备的型号作为算力信息,进而上述目标对象可以是电子设备。
169.上述目标对象也可以是电子设备中用于提供计算资源的器件。由于上述器件的型号是确定的,上述器件所能提供的计算资源也是确定的,所以,电子设备中用于提供计算资源的器件的型号与电子设备的计算资源间存在对应关系。又由于电子设备的计算性能与计算资源的多少相关,所以,在已知电子设备中用于提供计算资源的器件的型号的情况下,能够获知电子设备的计算性能。鉴于上述情况,可以以电子设备中用于提供计算资源的器件的型号作为算力信息,进而上述目标对象可以是电子设备中用于提供计算资源的器件。
170.综合上述情况,若上述电子设备为手机时,目标对象的型号可以是手机型号、该手机中cpu的型号或者该手机中gpu的型号等。
171.由以上描述可以看出,不管目标对象是电子设备还是用于提供计算资源的器件,目标对象的型号均能够唯一的标识出目标对象,而在基于目标对象描述电子设备的计算性能时,一般是从目标对象的不同角度多个方向描述的,这样需要多种描述参数,而目标对象的型号这一个参数可以概括上述多种描述参数,所以,以目标对象的型号作为算力信息,能够简化算力信息,这样服务器在基于算力信息确定第一目标神经网络模型时,所参考的信息较少,从而提高确定速度。
172.本公开的一个实施例中,参见图5,提供了第五种应用程序文件配置方法的流程示意图,与前述图4所示实施例相比,上述方法还包括以下步骤s405-s408。
173.步骤s405:获得电子设备配置第一应用程序文件后运行第一应用程序文件生成的运行信息。
174.其中,上述运行信息可以是与耗时、资源量等相关的反映第一应用程序文件在电子设备中的运行情况的信息。
175.具体的,可以通过以下两种实现方式获得电子设备配置第一应用程序文件后运行目标版本生成的运行信息。
176.第一种实现方式:电子设备可以实时检测第一应用程序文件在实际运行过程中的运行情况,从而获得运行信息。
177.第二种实现方式:电子设备还可以模拟第一应用程序文件的运行环境,对所配置的第一应用程序文件进行测试,从而获得运行信息。例如,电子设备可以下载用于测试第一应用程序文件的测试应用程序,利用该测试应用程序来模拟第一应用程序文件的运行环境对第一应用程序文件进行运行测试,获得测试结果作为运行信息。
178.另外,电子设备可以获得每一次运行第一应用程序文件生成的运行信息,也可以每隔预设运行次数获得一次运行第一应用程序文件生成的运行信息,还可以每隔一段时间获得一次运行第一应用程序文件生成的运行信息,例如,每隔一个小时,获得这一小时内最后一次运行第一应用程序文件生成的运行信息。
179.当然,电子设备还可以通过其他方式获得上述运行信息,具体可以参见后续实施例,这里暂不详述。
180.步骤s406:向服务器发送运行信息。
181.与上述步骤s405中运行信息的获得方式相对应,可以在电子设备获得上述运行信息之后,立即将该运行信息发送给服务器,还可以每隔一段时间向服务器发送一次运行信息。
182.步骤s407:接收服务器发送的、与电子设备相匹配的第二应用程序文件。
183.其中,第二应用程序文件为:第二目标神经网络模型对应的应用程序文件,第二目标神经网络模型为:根据运行信息判断第一应用程序文件与电子设备不匹配的情况下,根据运行信息和第一目标神经网络模型,从预设神经网络模型中重新确定的网络模型。
184.具体的,根据运行信息判断第一应用程序文件是否与电子设备匹配的方式、确定第二应用程序文件的方式,可以参见前述应用于服务器的应用程序文件配置方法实施例,这里不再详述。
185.步骤s408:将第一应用程序文件更新为第二应用程序文件。
186.电子设备将第一应用程序文件更新为第二应用程序文件后,可以在上述软件框架文件提供的软件框架下运行第二应用程序文件实现设定功能。
187.电子设备将第一应用程序文件更新为第二应用程序文件之后,可以再次执行步骤s405-s408,直至更新后的应用程序文件与电子设备相匹配。
188.由此可见,本公开实施例提供的方案中,电子设备在软件框架文件中配置第一应用程序文件后,还可以向服务器反馈运行第一应用程序文件时生成的运行信息,这样服务器可以借助上述运行信息确定实际运行过程中第一应用程序文件与电子设备是否匹配,若不匹配,服务器为电子设备重新选择第二应用程序文件,电子设备将第一应用程序文件更新为第二应用程序文件,这样可以使得更新后的第二应用程序文件更适合电子设备。
189.与图5所示实施例相类似,一种实现方式中,电子设备在获得上述运行信息后,还可以自身依据上述运行信息判断第一应用程序文件是否与电子设备相匹配,若不匹配,向服务器发送应用程序文件更新请求,该应用程序文件更新请求中可以携带有上述运行信息和第一应用程序文件的标识,这样服务器可以根据上述运行信息和第一应用程序文件,从预设神经网络模型中重新确定第二目标神经网络模型,进而确定与第二目标神经网络模型对应的第二应用程序文件。
190.下面通过不同的实施例,介绍电子设备如何获得上述运行信息。
191.本公开的一个实施例中,电子设备可以获得第一应用程序文件在电子设备运行过程中完成设定功能的耗时,作为电子设备配置第一应用程序文件后运行第一应用程序文件生成的运行信息。
192.以第一应用程序文件的设定功能为图像分割功能为例,上述耗时可以是第一应用程序文件分割一张图像所消耗的时间。若所分割的图像为视频中的各帧图像,则上述耗时可以是第一应用程序文件对单帧图像进行分割所消耗的时长,也可以是第一应用程序文件对多帧图像进行图像分割所消耗时长的平均值。
193.由于上述耗时表示第一应用程序文件完成设定功能所需时间的长短,能够表征第一应用程序文件的完成效率,将上述耗时作为运行信息,能够直观准确的获知第一应用程序文件在电子设备中的运行情况。
194.本公开的一个实施例中,电子设备可以获得第一应用程序文件在电子设备运行过
程中实际消耗的计算资源量,作为运行信息。
195.例如,上述第一应用程序文件在电子设备运行过程中实际消耗的计算资源量可以是第一应用程序文件运行时所占用的cpu或者gpu的核心数。
196.由于通常第一应用程序文件在电子设备运行过程中实际消耗的计算资源量越多,第一应用程序文件完成设定功能的效果越好,因此,将第一应用程序文件在电子设备运行过程中实际消耗的计算资源量作为运行信息,同样能够直观准确的获知第一应用程序文件在电子设备中的运行情况。
197.本公开的一个实施例中,电子设备可以获得第一应用程序文件在电子设备运行后电子设备的剩余计算资源量,作为运行信息。
198.例如,上述第一应用程序文件在电子设备运行后电子设备的剩余计算资源量可以是第一应用程序文件运行时处于空闲状态的cpu或者gpu的核心数。
199.若第一应用程序文件在电子设备运行后电子设备的剩余计算资源量较多,则说明第一应用程序文件能够在电子设备中正常运行,并且运行效果可能比预期效果好;若第一应用程序文件在电子设备运行后电子设备的剩余计算资源量较少,则说明电子设备的工作情况较差,第一应用程序文件可能难以在电子设备中正常运行,因此,将第一应用程序文件在电子设备运行后电子设备的剩余计算资源量作为运行信息,同样可以获知第一应用程序文件在电子设备中的运行情况。
200.本公开的一个实施例中,在电子设备配置应用程序文件之后,可以运行应用程序文件,实现应用程序文件的设定功能。
201.以用于图像分割的应用程序文件为例,应用程序文件对视频帧图像进行图像分割的处理过程可以分为以下六个步骤,其中,对视频帧图像进行图像分割可以是对视频帧图像中的人像进行分割,也可以是对视频帧图像中的动物、车辆等其他对象进行分割。
202.步骤一:获得需要处理的视频帧图像,其中,该图像可以是电子设备中的相机采集得到的。
203.步骤二:对所获得的视频帧图像进行合法性判断,可以通过判断该图像是否为空帧,或者判断该图像的图像尺寸是否为预设图像尺寸的方式来进行合法性判断。若判断结果为合法,则执行步骤三;若判断结果为非法,则返回步骤一。
204.步骤三:对上述视频帧图像进行预处理,具体操作可以包括:调整视频帧图像的大小为预设大小、将视频帧图像所在的颜色空间转换为预设颜色空间、将视频帧图像中的每一像素点的像素值减去视频帧图像的像素均值或者将视频帧图像中的每一像素点的像素值与视频帧图像的像素值方差相除等。
205.步骤四:利用应用程序文件对预处理后的图像进行图像分割,得到图像分割结果。
206.步骤五:对图像分割结果进行后处理,例如,上述后处理可以是平滑处理等。
207.步骤六:显示后处理后的图像分割结果。
208.与上述应用程序文件配置方法相对应,本公开还提供了一种应用程序文件配置装置。
209.参见图6,提供了第一种应用程序文件配置装置的结构示意图,应用于服务器,包括:
210.请求接收模块601,用于接收电子设备发送的针对应用程序文件的配置请求;
211.算力获得模块602,用于获得表征所述电子设备计算性能的算力信息;
212.第一模型确定模块603,用于从所述配置请求对应的预设神经网络模型中,确定与所述算力信息相匹配的第一目标神经网络模型,其中,不同预设神经网络模型需要的计算资源量不同;
213.第一文件发送模块604,用于向所述电子设备发送所述第一目标神经网络模型对应的第一应用程序文件和软件框架文件,以使得所述电子设备在所述软件框架文件中配置所述第一应用程序文件,其中,所述软件框架文件为:基于支持跨平台程序语言编写的代码文件。
214.由以上可见,应用本公开实施例提供的方案配置应用程序文件时,服务器接收到电子设备发送的针对应用程序文件的配置请求、并获得表征电子设备计算性能的算力信息后,从配置请求对应的预设神经网络模型中,确定与算力信息相匹配的第一目标神经网络模型,向电子设备发送第一目标神经网络模型对应的第一应用程序文件和软件框架文件,这样可以使得电子设备在软件框架文件中配置第一应用程序文件,从而实现应用程序文件配置。因此,应用本公开实施例提供的应用程序文件配置方案,电子设备能够根据自身的计算性能配置应用程序文件。
215.本公开的一个实施例中,参见图7,提供了第二种应用程序文件配置装置的结构示意图,与前述图6所述实施例相比,本实施例中,所述装置还包括:
216.信息接收模块605,用于接收所述电子设备发送的运行信息,其中,所述运行信息为:所述电子设备配置所述第一应用程序文件后运行所述第一应用程序文件生成的信息;
217.文件判断模块606,用于根据所述运行信息,判断所述第一应用程序文件是否与所述电子设备相匹配,若为否,则触发第二模块确定模块607;
218.所述第二模型确定模块607,用于根据所述运行信息和所述第一目标神经网络模型,从所述预设神经网络模型中,重新确定所对应的第二应用程序文件与所述电子设备相匹配的第二目标神经网络模型;
219.第二文件发送模块608,用于向所述电子设备发送所述第二应用程序文件,以使得所述电子设备将所述第一应用程序文件更新为所述第二应用程序文件。
220.由此可见,本公开实施例提供的方案中,服务器在向电子设备发送包括第一应用程序文件和软件框架文件后,还可以根据电子设备反馈的第一应用程序文件运行时生成的运行信息,确定在实际运行过程中第一应用程序文件与电子设备是否匹配,若不匹配,则重新确定第二应用程序文件,这样可以使得更新后的第二应用程序文件更适合电子设备。
221.本公开的一个实施例中,所述运行信息包括以下信息中的至少一种:
222.运行所述第一应用程序文件完成设定功能的耗时;
223.所述第一应用程序文件在所述电子设备运行过程中实际消耗的计算资源量;
224.所述第一应用程序文件在所述电子设备运行后所述电子设备的剩余计算资源量。
225.由以上可见,本公开实施例提供的方案中,上述耗时、实际消耗的计算资源量、剩余计算资源量可以从不同角度反映第一应用程序文件在电子设备上运行后,第一应用程序文件的运行情况,为后续判断第一应用程序文件是否与电子设备相匹配提供了丰富的参考信息。
226.本公开的一个实施例中,所述算力信息包括:所述电子设备中用于提供计算资源
的器件的初始计算资源量;
227.由此可见,本公开实施例提供的方案中,由于上述初始计算资源量为电子设备处理数据时所能调用的最大计算资源量,因此,以上述初始计算资源量作为算力信息,能够确定出电子设备能够支持的性能最佳的第一目标神经网络模型,这样能够提高电子设备配置应用程序文件后运行应用程序文件时实现设定功能的准确度。
228.本公开的一个实施例中,所述算力信息包括:所述电子设备当前剩余计算资源的资源量;
229.由此可见,本公开实施例提供的方案中,以当前剩余计算资源的资源量作为算力信息,能够确定出电子设备在运行有其他应用程序的情况下当前能够支持的性能最佳的第一目标神经网络模型,这样能够使得电子设备运行应用程序文件时,不仅不会影响电子设备中已运行的应用程序,还能够保证应用程序文件实现设定功能的准确度。
230.本公开的一个实施例中,所述算力信息包括:目标对象的型号,其中,所述目标对象为:所述器件或者所述电子设备。
231.由以上可见,本公开实施例提供的方案中,不管目标对象是电子设备还是用于提供计算资源的器件,目标对象的型号均能够唯一的标识出目标对象,而在基于目标对象描述电子设备的计算性能时,一般是从目标对象的不同角度多个方向描述的,这样需要多种描述参数,而目标对象的型号这一个参数可以概括上述多种描述参数,所以,以目标对象的型号作为算力信息,能够简化算力信息,这样服务器在基于算力信息确定第一目标神经网络模型时,所参考的信息较少,从而提高确定速度。
232.本公开的一个实施例中,在所述算力信息包括所述目标对象的型号的情况下,所述第一模型确定模块603,具体用于:
233.查找预设的对象模型对应关系中是否存在包含所述目标对象的型号的对应关系,其中,所述对象模型对应关系为:对象的型号与预设神经网络模型间的对应关系;
234.若存在,将所查找到对应关系中记录的神经网络模型确定为与所述算力信息相匹配的第一目标神经网络模型;
235.若不存在,将预设神经网络模型中的缺省神经网络模型确定为所述第一目标神经网络模型。
236.由此可见,本公开实施例提供的方案中,预先设定了对象的型号与神经网络模型间的对应关系,这样在确定第一目标神经网络模型时,依据目标对象的型号查询对应关系即确定出了第一目标神经网络模型,而无需参考其他信息。又由于对象的型号能够表征对象在多个角度多个方向对计算性能的描述参数,因此,本公开实施例提供的方案中,在确定第一目标神经网络模型时,只需考虑目标对象的型号这一较少的参数,从而能够提高模型确定效率。
237.本公开的一个实施例中,所述第一应用程序文件为以下任一模型对应的应用程序文件:
238.人像分割模型、人脸识别模型、图像分割模型。
239.由此可见,本公开实施例提供的方案中,若第一应用程序文件对应人像分割模型,则运行第一应用程序文件能够实现人像分割功能;若第一应用程序文件对应人脸识别模型,则运行第一应用程序文件能够实现人脸识别功能;若第一应用程序文件对应图像分割
模型,则运行第一应用程序文件能够实现图像分割功能。
240.本公开的一个实施例中,参见图8,提供了第三种应用程序文件配置装置的结构示意图,应用于电子设备,包括:
241.算力确定模块801,用于确定用于表征所述电子设备计算性能的算力信息;
242.算力发送模块802,用于向服务器发送针对应用程序文件的配置请求以及所述算力信息;
243.文件获得模块803,用于获得所述服务器提供的第一应用程序文件和软件框架文件,其中,所述第一应用程序文件为:第一目标神经网络模型对应的应用程序文件,所述第一目标神经网络模型为:所述配置请求对应的预设神经网络模型中与所述算力信息相匹配的网络模型,不同预设神经网络模型需要的计算资源量不同,所述软件框架文件为:基于支持跨平台程序语言编写的代码文件;
244.文件配置模块804,用于在所述软件框架文件中配置所述第一应用程序文件。
245.由此可见,本公开实施例提供的方案中,电子设备向服务器发送针对应用程序文件的配置请求以及用于表征电子设备计算性能的算力信息,这样可以使得服务器能够根据上述算力信息从应用程序文件对应的预设神经网络模型中确定第一目标神经网络模型,从而为电子设备提供第一目标神经网络模型对应的第一应用程序文件和软件框架文件,进而电子设备获得服务器所提供的第一应用程序文件和软件框架文件,并在软件框架文件中配置第一应用程序文件,完成应用程序文件的配置。
246.本公开的一个实施例中,参见图9,提供了第四种应用程序文件配置装置的结构示意图,与前述图8所述实施例相比,本实施例中,所述装置还包括:
247.信息获得模块805,用于获得所述电子设备配置所述第一应用程序文件后运行所述第一应用程序文件生成的运行信息;
248.信息发送模块806,用于向所述服务器发送所述运行信息;
249.文件接收模块807,用于接收所述服务器发送的、与所述电子设备相匹配的第二应用程序文件,其中,所述第二应用程序文件为:第二目标神经网络模型对应的应用程序文件,所述第二目标神经网络模型为:根据所述运行信息判断所述第一应用程序文件与所述电子设备不匹配的情况下,根据所述运行信息和所述第一目标神经网络模型,从所述预设神经网络模型中重新确定的网络模型;
250.文件更新模块808,用于将所述第一应用程序文件更新为所述第二应用程序文件。
251.由此可见,本公开实施例提供的方案中,电子设备在软件框架文件中配置第一应用程序文件后,还可以向服务器反馈运行第一应用程序文件时生成的运行信息,这样服务器可以借助上述运行信息确定实际运行过程中第一应用程序文件与电子设备是否匹配,若不匹配,服务器为电子设备重新选择第二应用程序文件,电子设备将第一应用程序文件更新为第二应用程序文件,这样可以使得更新后的第二应用程序文件更适合电子设备。
252.本公开的一个实施例中,所述信息获得模块805,具体用于:
253.获得所述第一应用程序文件在所述电子设备运行过程中完成设定功能的耗时,作为所述电子设备配置所述第一应用程序文件后运行所述第一应用程序文件生成的运行信息。
254.由此可见,本公开实施例提供的方案中,由于上述耗时表示第一应用程序文件完
成设定功能所需时间的长短,能够表征第一应用程序文件的完成效率,将上述耗时作为运行信息,能够直观准确的获知第一应用程序文件在电子设备中的运行情况。
255.本公开的一个实施例中,所述信息获得模块805,具体用于:
256.获得所述第一应用程序文件在所述电子设备运行过程中实际消耗的计算资源量,作为所述运行信息。
257.由此可见,本公开实施例提供的方案中,由于通常第一应用程序文件在电子设备运行过程中实际消耗的计算资源量越多,第一应用程序文件完成设定功能的效果越好,因此,将第一应用程序文件在电子设备运行过程中实际消耗的计算资源量作为运行信息,同样能够直观准确的获知第一应用程序文件在电子设备中的运行情况。
258.本公开的一个实施例中,所述信息获得模块805,具体用于:
259.获得所述第一应用程序文件在所述电子设备运行后所述电子设备的剩余计算资源量,作为所述运行信息。
260.由此可见,本公开实施例提供的方案中,若第一应用程序文件在电子设备运行后电子设备的剩余计算资源量较多,则说明第一应用程序文件能够在电子设备中正常运行,并且运行效果可能比预期效果好;若第一应用程序文件在电子设备运行后电子设备的剩余计算资源量较少,则说明电子设备的工作情况较差,第一应用程序文件可能难以在电子设备中正常运行,因此,将第一应用程序文件在电子设备运行后电子设备的剩余计算资源量作为运行信息,同样可以获知第一应用程序文件在电子设备中的运行情况。
261.本公开的一个实施例中,所述算力确定模块801,具体用于:
262.获得所述电子设备中用于提供计算资源的器件的初始计算资源量,作为算力信息。
263.由此可见,本公开实施例提供的方案中,由于上述初始计算资源量为电子设备处理数据时所能调用的最大计算资源量,因此,以上述初始计算资源量作为算力信息,能够确定出电子设备能够支持的性能最佳的第一目标神经网络模型,这样能够提高电子设备配置应用程序文件后运行应用程序文件时实现设定功能的准确度。
264.本公开的一个实施例中,所述算力确定模块801,具体用于:
265.获得所述电子设备当前剩余计算资源的资源量,作为所述算力信息;
266.由此可见,本公开实施例提供的方案中,以当前剩余计算资源的资源量作为算力信息,能够确定出电子设备在运行有其他应用程序的情况下当前能够支持的性能最佳的第一目标神经网络模型,这样能够使得电子设备运行应用程序文件时,不仅不会影响电子设备中已运行的应用程序,还能够保证运行应用程序文件实现设定功能的准确度。
267.本公开的一个实施例中,所述算力确定模块801,具体用于:
268.获得目标对象的型号,作为表征所述电子设备计算性能的算力信息,其中,所述目标对象为:所述器件或者所述电子设备。
269.由此可见,本公开实施例提供的方案中,不管目标对象是电子设备还是用于提供计算资源的器件,目标对象的型号均能够唯一的标识出目标对象,而在基于目标对象描述电子设备的计算性能时,一般是从目标对象的不同角度多个方向描述的,这样需要多种描述参数,而目标对象的型号这一个参数可以概括上述多种描述参数,所以,以目标对象的型号作为算力信息,能够简化算力信息,这样服务器在基于算力信息确定第一目标神经网络
模型时,所参考的信息较少,从而提高确定速度。
270.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
271.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
272.本公开的一个实施例中,提供了一种电子设备,作为服务器,包括:
273.至少一个处理器;以及
274.与所述至少一个处理器通信连接的存储器;其中,
275.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述方法实施例中任一应用于服务器的应用程序文件配置方法。
276.本公开的一个实施例中,提供了一种电子设备,包括:
277.至少一个处理器;以及
278.与所述至少一个处理器通信连接的存储器;其中,
279.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述方法实施例中任一应用于电子设备的应用程序文件配置方法。
280.本公开的一个实施例中,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述方法实施例中任一应用程序文件配置的方法。
281.本公开的一个实施例中,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述方法实施例中任一应用程序文件配置的方法。
282.图10、图11示出了可以用来实施本公开的实施例的示例电子设备1000、1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
283.如图10所示,设备1000可以作为服务器,包括计算单元1001,其可以根据存储在只读存储器(rom)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(ram)1003中的计算机程序,来执行各种适当的动作和处理。在ram 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
284.设备1000中的多个部件连接至i/o接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
285.计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的
人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如应用程序文件配置方法。例如,在一些实施例中,应用程序文件配置方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由rom 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到ram 1003并由计算单元1001执行时,可以执行上文描述的应用程序文件配置方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用程序文件配置方法。
286.如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(rom)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(ram)1103中的计算机程序,来执行各种适当的动作和处理。在ram 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
287.设备1100中的多个部件连接至i/o接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
288.计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如应用程序文件配置方法。例如,在一些实施例中,应用程序文件配置方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由rom 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到ram 1103并由计算单元1101执行时,可以执行上文描述的应用程序文件配置方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用程序文件配置方法。
289.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
290.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件
包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
291.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
292.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
293.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
294.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
295.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
296.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1