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

计算图优化方法及装置、电子设备、计算机可读介质与流程

2022-07-30 05:26:46 来源:中国专利 TAG:


1.本公开涉及计算图技术领域,特别涉及一种计算图优化方法及装置、电子设备、计算机可读存储介质。


背景技术:

2.随着人工智能技术的不断发展,越来越多的神经网络被应用到了生产实践中。这些神经网络在编程、部署、执行的过程中往往使用计算图的形式去描述,计算图作为ir(intermediate representation,中间表示)也被用于高性能计算等其他领域,因此,针对计算图的优化(如编译优化与执行优化)已经越来越受到人们的重视。


技术实现要素:

3.本公开提供一种计算图优化方法及装置、处理核、电子设备、计算机可读存储介质。
4.第一方面,本公开提供了一种计算图优化方法,该计算图优化方法包括:获取待优化的第一计算图;通过预先训练的图神经网络对所述第一计算图进行检测,确定所述第一计算图中待优化的第一子图;根据所述第一子图,对所述第一计算图进行优化,得到优化后的第二计算图。
5.第二方面,本公开提供了一种计算图优化装置,该计算图优化装置包括:获取模块,用于获取待优化的第一计算图;检测模块,用于通过预先训练的图神经网络对所述第一计算图进行检测,确定所述第一计算图中待优化的第一子图;优化模块,用于根据所述第一子图,对所述第一计算图进行优化,得到优化后的第二计算图。
6.第三方面,本公开提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的计算图优化方法。
7.第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器/处理核执行时实现上述的计算图优化方法。
8.本公开所提供的实施例,使用图神经网络(gnn,graph neural networks)对计算图进行检测,能够检测到模糊的、难以用统一的明确规则定义的、待优化的结构或算子,提升了检测的成功率,从而提升了计算图的优化效率,进一步提升了计算图的编译效率。
9.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
10.附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进
行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
11.图1为相关技术中对计算图进行优化的流程的示意图;
12.图2为本公开实施例提供的一种计算图优化方法的流程图;
13.图3为本公开实施例提供的一种计算图优化方法的部分步骤的流程图;
14.图4为本公开实施例提供的一种计算图优化方法的部分步骤的流程图;
15.图5为本公开实施例提供的一种计算图优化方法的部分步骤的流程图;
16.图6为本公开实施例提供的一种计算图优化方法的部分步骤的流程图;
17.图7为本公开实施例提供的一种计算图优化方法的示意图;
18.图8为本公开实施例提供的一种计算图优化方法的示意图;
19.图9为本公开实施例提供的一种计算图优化方法的部分步骤的流程图;
20.图10为本公开实施例提供的一种计算图优化装置的框图;
21.图11为本公开实施例提供的一种电子设备的框图。
具体实施方式
22.为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
23.在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
24.如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
25.本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
26.除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
27.在一些相关技术中,会针对特定的算子或者结构编写一系列的优化过程,这些优化过程一般被称为pass,pass用于完成编译对象(如计算图)的转换、分析或优化,参照图1,pass的执行就是编译器对编译对象进行转换、分析和优化的过程,通过执行与计算图对应的pass(即图中的pass1、pass2、pass3、pass4),可以得到计算图对应的编译结果。
28.通过模板匹配的方法可以在编译对象(如计算图)上寻找特定的算子或结构,即将特定的算子或结构使用明确的规则表示,然后使用对应的规则在编译对象上进行匹配,在匹配到符合规则的算子或结构后,使用对应的编译流程或优化方法(如pass)对计算图进行优化。
29.但在实际应用中,一些特定的算子或结构往往是模糊的、难以用统一的明确规则定义的,如可能造成硬件中间存储极大上升的分支结构、造成计算利用率下降的不均衡结构等,在编译时,往往需要将这些算子或结构识别出来,并调用针对性的优化方法进行优化,使用模板匹配的方法很难将这些算子或结构识别出来,识别正确率低,影响了计算图的优化效率,进一步影响了计算图的编译效率。
30.根据本公开实施例的计算图优化方法,使用图神经网络(gnn,graph neural networks)对计算图进行检测,能够检测到模糊的、难以用统一的明确规则定义的结构或算子,提升了检测到模糊的、难以用统一的明确规则定义的结构或算子的成功率,也就提升了计算图的优化效率,进一步提升了计算图的编译效率。
31.根据本公开实施例的计算图优化方法可以由终端设备或服务器等电子设备执行,终端设备可以为车载设备、用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读程序指令的方式来实现。或者,可通过服务器执行所述方法。
32.图2为本公开实施例提供的一种计算图优化方法的流程图。参照图2,该方法包括:
33.在步骤s21中,获取待优化的第一计算图;
34.在步骤s22中,通过预先训练的图神经网络对第一计算图进行检测,确定第一计算图中待优化的第一子图;
35.在步骤s23中,根据第一子图,对第一计算图进行优化,得到优化后的第二计算图。
36.举例来说,在步骤s21中,第一计算图可以是没有编译、没有优化的计算图,也可以是由相关技术中的优化方式优化过的、未编译的计算图,本公开实施例对获取第一计算图的具体方式并不作限制。
37.在一些可能的实现方式中,第一计算图可以是神经网络对应的、在编程、部署、执行过程中的中间表示。其中,神经网络用于执行处理任务,处理任务包括图像处理任务、语音处理任务、文本处理任务、视频处理任务中的任意一种。本公开对神经网络执行的任务类型不作限制。
38.在步骤s22中,对第一计算图进行检测的图神经网络是预先训练好的图神经网络。
39.在一些可能的实现方式中,使用包含特定算子或结构的计算图以及特定算子或结构在计算图的具体位置作为正样本对图神经网络进行训练,使训练好的图神经网络对特定算子或结构敏感。
40.通过图神经网络对第一计算图进行检测,可以是将第一计算图输入训练好的图神经网络,图神经网络对第一计算图进行扫描和检测,图神经网络的输出可以是第一计算图是否含有特定的算子或结构,以及特定的算子或结构在第一计算图的具体位置,在第一计算图中的特定算子或结构就是第一计算图中待优化的第一子图。
41.在一些可能的实现方式中,图神经网络的输出可以包括特定算子或结构对应的第一子图的标识,该标识可以是特定算子或结构的索引,通过该索引可以确定与该特定算子或结构对应的优化器或优化结果,如图神经网络的输出可以直接是特定算子或结构对应的优化器的索引,通过该索引可以在多个优化器组成的优化库中找到该特定算子或结构对应的优化器。
42.在一些可能的实现方式中,可以使用多个图神经网络对第一计算图进行检测,这多个图神经网络分别对不同的特定算子或结构敏感;也可以使用一个图神经网络对第一计算图进行检测,这个图神经网络是通用的图神经网络,对多个特定算子或结构都敏感。
43.在一些可能的实现方式中,第一子图的数量可以是多个,所有图神经网络检测出的结果都是第一子图。
44.在步骤s23中,在图神经网络在第一计算图中检测出第一子图的情况下,根据第一子图对第一计算图进行优化,可以将第一子图提取出来,并通过第一子图的标识,找到与第一子图对应的优化器,使用优化器对第一子图进行优化,并将优化的结果合并至第一计算图中,得到第二计算图。
45.根据本公开的实施例,使用图神经网络对计算图进行检测,能够检测到模糊的、难以用统一的明确规则定义的、待优化的结构或算子,提升了检测的成功率,从而提升了计算图的优化效率,进一步提升了计算图的编译效率。
46.下面对根据本公开实施例的计算图优化方法进行展开说明。
47.如前所述,可以使用多个图神经网络对第一计算图进行检测,如图神经网络包括网络库中的多个第一图神经网络,每个第一图神经网络对一个或多个不同的特定算子或结构敏感。还可以使用一个对多个特定算子或结构都敏感的图神经网络对第一计算图进行检测,以确定第一子图。
48.图3为使用网络库中多个第一图神经网络对第一计算图进行检测的步骤的流程图,参照图3,步骤s22可以包括步骤s31和步骤s32。
49.在步骤s31中,将网络库中多个第一图神经网络划分为多个检测组,每个检测组包括至少一个图神经网络;
50.在步骤s32中,采用各个检测组,分别对第一计算图进行检测,确定第一计算图中的至少一个第一子图。
51.举例来说,在步骤s31中,可以按照一定的规则将网络库中多个第一图神经网络划分为多个检测组,每个检测组包括的第一图神经网络的数量可以是相同的,也可以是不同的,但每个检测组应至少包括一个第一图神经网络。
52.特殊情况下,每个检测组都只包含一个第一图神经网络,也就是说,网络库中有多少个第一图神经网络就有多少个检测组。
53.在步骤s32中,使用多个检测组分别对第一计算图进行检测,可以使用多个运算单元并行运算,每一个运算单元上运行一个第一图神经网络,多个运算单元并行运算,相当于多个第一图神经网络并行对第一计算图进行检测,确定第一计算图中是否包括该检测组的第一图神经网络敏感的特定算子或结构,即第一子图。
54.在一些可能的实现方式中,一个检测组对第一计算图检测完成,确定第一计算图中的第一子图后,就可以根据确定的第一子图,对第一计算图进行优化,并将优化后的计算图作为下一个检测组的第一图神经网络的输入,以此类推,直到最后一个检测组检测完成,并根据最后一个检测组的检测结果对计算图进行优化,得到的结果就是第二计算图。
55.也就是说,每个检测组的第一图神经网络的输入是一致的,即根据其上一个检测的第一图神经网络输出结果优化后的计算图(第一个检测组的输入就是第一计算图),不同检测组的第一图神经网络的输入是不同的。
56.在一些可能的实现方式中,也可以是在所有检测组都检测完成之后,根据所有检测组确定的第一子图,对第一计算图进行优化,以得到第二计算图。
57.由于每个第一图神经网络只对一个或多个特定算子或结构敏感,相比于通用的图神经网络,其结构更加简单,更好训练,准确率也更加高,同时,多个运算单元并行运算,弥补了使用多个第一图神经网络检测,导致检测总时间过长的缺点,缩短了所有第一图神经网络检测的总时间,提升了检测效率。
58.图4为使用一个对多个特定算子或结构都敏感的图神经网络对第一计算图进行检测的步骤的流程示意图,参照图4,步骤s22可以包括步骤s41。
59.在步骤s41中,通过第二图神经网络对第一计算图进行检测,确定第一计算图中的至少一个第一子图。
60.其中,第二图神经网络可以是一个较通用的图神经网络,其对多个特定算子或结构敏感,将第一计算图输入第二图神经网络后,第二图神经网络可以检测出第一计算图中所有特定算子或结构,并以第一子图的形式输出。
61.由于第二图神经网络对多个特定算子或结构敏感,因此相比于第一图神经网络其结构必然更加复杂,训练过程也必然更加复杂,其检测一次所需的时间也会更长,但使用第二图神经网络进行检测,只需一次检测,也就是说,其只需要读取一次第一计算图,因此,其占用的读取内存会更少,且虽然其一次检测的时间要长于第一图神经网络一次检测的时间,但由于其只需要一次检测就可以确定所有第一子图,因此,使用第二图神经网络对第一计算图进行检测的总时间可能会小于使用多个第一图神经网络对第一计算图进行检测的总时间。
62.当然,无论是在一个检测组的第一图神经网络检测完成后就对第一计算图进行优化,并将优化结果作为下一个检测组的输入,还是在所有检测组的第一图神经网络都检测完成之后,根据所有检测组的结果对第一计算图进行优化,又或者使用第二图神经网络对第一计算图进行检测,根据检测结果对第一计算图进行优化,根据第一子图对第一计算图进行优化的优化过程都是一致的。
63.图5为根据第一子图对第一计算图进行优化的步骤的流程示意图,参照图5,步骤s23可以包括步骤s51、步骤s52和步骤s53。
64.在步骤s51中,根据第一子图的标识,确定与第一子图对应的优化器;
65.在步骤s52中,调用与第一子图对应的优化器,对第一子图进行优化,得到第二子图;
66.在步骤s53中,采用第二子图替换第一计算图中相应的第一子图,得到第二计算图。
67.其中,第一子图的标识可以是特定算子或结构的索引,特定算子或结构的索引,通过该索引可以确定与该特定算子或结构对应的优化器或优化结果,如图神经网络的输出可以直接是特定算子或结构对应的优化器的索引,通过该索引可以在优化库中找到该特定算子或结构对应的优化器。
68.优化库可以是由多个优化器组成的,每个优化器可以用于对一个特定算子或结构进行优化,由于第一子图就是第一计算图中存在的特定算子或结构,因此,优化器可以用于对第一子图进行优化。
69.在一些可能的实现方式中,第一子图的数量可能不止一个,对于每一个第一子图,在步骤s51中,可以根据该第一子图的标识,从优化库中确定与该第一子图对应的优化器;在步骤s52中,从优化库中调用与该第一子图对应的优化器,对该第一子图进行优化,得到的优化结果,就是该第一子图对应的第二子图;在步骤s53中,使用该第一子图对应的第二子图替换第一计算图中对应的第一子图。
70.对所有第一子图都执行上述步骤,最终得到的计算图就是第二计算图。
71.在优化过程中,不同的第一子图之间可能存在交集,如第一子图a和第一子图b共用算子c,第一子图a对应的优化器对第一子图a进行优化之后,将算子c与其他的算子合并优化,在使用第一子图a对应的第二子图替换第一子图a对第一计算图进行优化后,优化后的计算图已经没有第一子图b,也就无法实现使用第一子图b对应的第二子图对计算图进行优化。
72.在一些可能的实现方式中,在确定多个第一子图的情况下,根据每个第一子图以及该第一子图对应的预先设定的优先级,对第一计算图进行优化,得到优化后的第二计算图。
73.图6为根据每个第一子图以及该第一子图对应的预先设定的优先级,对第一计算图进行优化的步骤的流程示意图,参照图6,根据每个第一子图以及该第一子图对应的预先设定的优先级,对第一计算图进行优化可以包括步骤s61和步骤s62。
74.在步骤s61中,在多个第一子图存在交集的情况下,分别确定多个第一子图的优先级;
75.在步骤s62中,根据多个第一子图的优先级顺序,对第一计算图进行优化。
76.举例来说,按照第一子图对应的优先级从高到低的顺序,使用第一子图对应的优化器对第一子图进行优化,得到第二子图,并使用第二子图替换第一子图,当运行到某个第一子图时,发现其已经在前面优化过程中从优化后的第一计算图“消失”,则不使用该第一子图对第一计算图进行优化。
77.其中,多个第一子图之间存在交集是指多个第一子图共用算子或结构。
78.如第一子图a和第一子图b共用算子c,第一子图a对应的优化器对第一子图a进行优化之后,将算子c与其他的算子合并优化,在使用第一子图a对应的第二子图替换第一子图a对第一计算图进行优化后,优化后的计算图已经没有第一子图b。由于在预先设定的优先级中第一子图a的优先级高于第一子图b的优先级,因此放弃使用第一子图b对第一计算图进行优化。
79.同时,第一子图b和第一子图d也共用算子e,第一子图b对应的优化器对第一子图b进行优化之后,算子e会与其他的算子合并优化,但由于第一子图b与第一子图a存在交集,导致放弃使用第一子图b对第一计算图进行优化,因此,第一子图b和第一子图d的“冲突”也就“消失”了,可以使用第一子图d对第一计算图进行优化。
80.图7和图8为本公开实施例的计算图优化方法整体流程的示意图。
81.参照图7和图8,将第一计算图输入图神经网络,图神经网络对第一计算图进行检测,识别出第一计算图中的特定结构或算子,并从优化库中调用该结构或算子对应的优化器对该特定算子或结构进行优化,得到特定算子或结构对应的优化结果。
82.其中,对第一计算图进行检测的图神经网络可以如图7所示,是网络库中多个第一
图神经网络,也可以如图8所示,是通用的图神经网络,即第二图神经网络。
83.优化库如前所述是有多个优化器组成的,可通过特定结构或算子的标识来从优化库中获取其对应的优化器。
84.在获取特定算子或结构对应的优化结果之后,可以使用优化结果替换第一计算图中的特定算子或结构,得到第一计算图对应的优化结果,即第二计算图。
85.在一些可能的实现方式中,在获取第二计算图之后,对第二计算图进行编译,并将编译结果进行加载使用。
86.图9为对第二计算图进行编译,并将编译结果进行加载使用的步骤的流程示意图。参照图9,对第二计算图进行编译,并将编译结果进行加载使用包括步骤s91和步骤s92。
87.在步骤s91中,对第二计算图进行编译,得到第二计算图的编译结果。
88.在步骤s92中,将编译结果加载到众核系统的多个处理核,以使多个处理核执行与第二计算图对应的处理任务。
89.也就是说,第一计算图可以是根据加载在众核系统的任务所对应的中间表示,如第一计算图为根据加载在众核系统的神经网络构建的、具有图形式的中间表示,众核系统的处理核并不能直接运行计算图,因此,在对第一计算图进行优化得到第二计算图之后,要对第二计算图进行编译,将得到的编译结果加载到众核系统的多个处理核,以使处理核可以运行编译结果,即执行神经网络对应的任务,该任务包括图像处理任务、语音处理任务、文本处理任务、视频处理任务中的任意一种。
90.可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
91.此外,本公开还提供了计算图优化装置、电子设备、计算机可读存储介质,上述均可用来实现本公开提供的任一种计算图优化方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
92.图10为本公开实施例提供的一种计算图优化装置的框图。
93.参照图10,本公开实施例提供了一种计算图优化装置,该计算图优化装置包括:
94.获取模块,用于获取待优化的第一计算图;
95.检测模块,用于通过预先训练的图神经网络对第一计算图进行检测,确定第一计算图中待优化的第一子图;
96.优化模块,用于根据第一子图,对第一计算图进行优化,得到优化后的第二计算图。
97.图11为本公开实施例提供的一种电子设备的框图。
98.参照图11,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器1101;至少一个存储器1102,以及一个或多个i/o接口1103,连接在处理器1101与存储器1102之间;其中,存储器1102存储有可被至少一个处理器1101执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器1101执行,以使至少一个处理器1101能够执行上述的计算图优化方法。
99.本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,
所述计算机程序在被处理器/处理核执行时实现上述的计算图优化方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
100.本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述计算图优化方法。
101.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
102.如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom)、静态随机存取存储器(sram)、闪存或其他存储器技术、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
103.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
104.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方
面。
105.这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
106.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
107.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
108.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
109.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
110.本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
再多了解一些

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

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

相关文献