一种神经网络模型的生成方法及装置与流程

文档序号:24742476发布日期:2021-04-20 22:08阅读:117来源:国知局
一种神经网络模型的生成方法及装置与流程

1.本发明涉及计算机技术领域,尤其涉及一种神经网络模型的生成方法及装置。


背景技术:

2.相关技术中,包括多种不同类型的神经网络模型,而各种类型的神经网络模型的搭建方式具有一定的区别,为了搭建神经网络模型,需要使用特定的模型框架搭建编程语言,如果需要更换模型框架,则又需要工作人员学习和使用新的框架内容。因此,现有的神经网络模型的搭建方式较为复杂,成本较高。


技术实现要素:

3.本发明实施例提供一种神经网络模型的生成方法及装置,以解决现有的神经网络模型的搭建方式较为复杂,成本较高的问题。
4.第一方面,本发明实施例提供了一种神经网络模型的生成方法,包括以下步骤:
5.获取通用配置文件,所述通用配置文件包括节点信息和边信息,所述节点信息用于描述所述神经网络模型中的各神经网络单元,所述边信息用于描述所述神经网络模型中的数据传输关系;
6.根据所述通用配置文件生成神经网络模型。
7.可选的,所述获取通用配置文件的步骤,包括:
8.获取用户撰写的需求信息;
9.根据所述需求信息和模型框架的类型,生成所述通用配置文件。
10.可选的,所述获取通用配置文件的步骤,包括:
11.获取已建立的神经网络模型;
12.由所述已建立的神经网络模型导出预设格式的文件作为所述通用配置文件。
13.可选的,所述获取通用配置文件,包括:
14.确定神经网络单元的类型和序号;
15.确定神经网络单元的框架参数,所述框架参数包括张量维度和取值范围中的至少一项;
16.确定神经网络单元的节点数据精度;
17.根据神经网络单元的类型和序号、所述框架参数和所述节点数据精度生成节点信息。
18.可选的,所述获取通用配置文件,包括:
19.确定边的起始位置和终点位置;
20.确定边的节点流出端口和节点流入端口;
21.确定边的数据流动位置;
22.根据所述起始位置、所述终点位置、所述节点流入端口、所述节点流出端口和所述数据流动位置生成边信息。
23.可选的,在所述边中的目标边的起始位置的信息值小于0的情况下,所述目标边的输入数据为神经网络模型的外部数据;
24.在所述目标边的起始位置的信息值大于0的情况下,所述目标边的输入数据来自神经网络模型中的神经网络单元,且所述起始位置的信息值为向所述目标边输入数据的神经网络单元的序号;
25.在所述目标边的终点位置的信息值小于0的情况下,所述目标边的输出数据输出至神经网络模型的外部;
26.在所述目标边的终点位置的信息值大于0的情况下,所述目标边的输出数据输出至神经网络模型中的神经网络单元,且所述终点位置的信息值为所述目标边的输出数据输出到的神经网络单元的序号;
27.在所述目标边的节点流出端口的信息值小于0的情况下,所述目标边的输入数据为神经网络模型的外部数据;
28.在所述目标边的节点流出端口的信息值大于或等于0的情况下,所述目标边的输入数据来自神经网络模型中的神经网络单元,且所述节点流出端口的信息值为向所述目标边输入数据的神经网络单元与所述目标边进行数据传输的端口号;
29.在所述目标边的节点流入端口的信息值小于0的情况下,所述目标边的输出数据输出至神经网络模型的外部;
30.在所述目标边的节点流入端口的信息值大于或等于0的情况下,所述目标边的输出数据输出至神经网络模型中的神经网络单元,且所述节点流入端口的信息值为神经网络单元接收所述目标边的输出数据的端口号。
31.可选的,根据所述通用配置文件生成神经网络模型之前,所述方法还包括:
32.判断模型框架是否能够完全解析所述通用配置文件;
33.若否,则将所述通用配置文件中不能解析的部分抛弃,获得与所述模型框架完全兼容的通用配置文件。
34.可选的,所述通用配置文件的格式为yaml序列化格式。
35.可选的,模型框架为tensorflow框架、pytorch框架和mxnet框架中的至少一项。
36.第二方面,本发明实施例提供了一种神经网络模型的生成装置,包括:
37.获取模块,用于获取通用配置文件,所述通用配置文件包括节点信息和边信息,所述节点信息用于描述所述神经网络模型中的各神经网络单元,所述边信息用于描述所述神经网络模型中的数据传输关系;
38.生成模块,用于根据所述通用配置文件生成神经网络模型。
39.第三方面,本发明实施例提供了一种计算机程序产品,所述计算机程序产品存储于计算机可读存储介质上,所述计算机程序产品在被运行时,实现第一方面中任一项所述的神经网络模型的生成方法的步骤。
40.本发明实施例通过获取通用配置文件,通用配置文件包括节点信息和边信息,节点信息用于描述神经网络模型中的各神经网络单元,边信息用于描述神经网络模型中的数据传输关系;根据所述通用配置文件生成神经网络模型。这样,由于通用配置文件包括描述神经网络模型的各神经网络单元节点的边信息和描述神经网络模型中的数据传输关系节点信息,因此,根据该通用配置文件能够建立相应的神经网络模型,不需要利用程序语言进
行代码的编写,提高了建立神经网络模型的便利程度,有助于降低模型的搭建成本。
附图说明
41.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获取其他的附图。
42.图1是本发明一实施例提供的神经网络模型的生成方法的流程图;
43.图2是本发明一实施例中的神经网络连接图;
44.图3是本发明一实施例中神经网络模型的生成方法的场景示意图;
45.图4是本发明一实施例提供的神经网络模型的生成装置的结构图。
具体实施方式
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
47.本发明提供了一种神经网络模型的生成方法。
48.在一个实施例中,该神经网络模型的生成方法包括以下步骤:
49.步骤101:获取通用配置文件。
50.本实施例中,模型框架指的是搭建神经网络模型的框架,模型框架的类型可能存在差异,但是神经网络模型的基本结构均是相同的,神经网络模型包括用于数据处理的神经网络单元(operators,简写为op)和用于进行数据传输的边(edge),其中,神经网络单元也可也称作神经网络模型的节点(node)。
51.无论是深度学习还是类脑计算,其底层的计算模型均是神经网络(neuralnetwork,nn),主要区别在于,深度学习使用的主要是人工神经网络(artificialneuralnetwork,ann),而类脑计算主要使用的是脉冲神经网络(spikingneuralnetwork,snn),两者基本组成单元均为神经元,由大量神经元相互连接成网络。神经元之间的连接可以看作带权重的有向边,神经元的输出会被神经元之间的连接所加权,然后传递给所连到的神经元,而每个神经元接收到的所有输入会被累加起来进行进一步处理,产生神经元的输出。ann和snn的主要区别在于,ann的神经元输出的是数值,与边权相乘进行加权;而snn的神经元输出的是一个个电脉冲信号,电脉冲信号经过加权成为不同强度的电流信号;ann的神经元对于其他神经元的输入,会经过一个激活函数直接算出神经元的输出值;而snn的神经元接收到其他神经元输入的电流信号,会根据其神经元模型更新其状态,当达到特定状态便会发放一个电脉冲,并重置状态。
52.神经网络连接图是一个有向图,图中的每个节点表示一层神经元,每条边表示层间的连接关系,在ann神经网络应用情况下,对应的神经网络连接图是无环有向图,在snn神经网络应用情况下,对应的神经网络连接图是有向有环图。
53.由于不同的神经网络模型的基本单元是相同的,均包括节点和边,并且,目前大部
分的模型框架也是基于节点和边的描述来生成神经网络模型,因此,本实施例中,通过包括节点信息和边信息的通用配置文件,对节点和边进行分别描述,可以适配不同的模型框架,生成得到特定的神经网络模型,从而实现基于相同的通用配置文件根据不同的框架搭建神经网络模型。
54.在其中一些实施例中,模型框架具体可以是tensorflow框架、pytorch框架和mxnet框架中的至少一项。
55.实施时,所能应用的模型框架并不局限于此,显然,该方法还可以根据需要,应用于其他框架以搭建神经网络模型。
56.本实施例中通用配置文件包括通用配置文件包括节点信息和边信息,节点信息用于描述神经网络模型中的各神经网络单元,边信息用于描述神经网络模型中的数据传输关系。
57.由于神经网络模型的基本结构均是相同的,且均包括节点和边,因此,根据包括节点信息和边信息的通用配置文件能够实现对不同类型的神经网络模型的搭建。
58.步骤102:根据所述通用配置文件生成神经网络模型。
59.在确定了通用配置文件之后,可以利用脚本生成器根据该通用配置文件生成相应的神经网络模型。
60.本发明实施例中,由于通用配置文件包括描述神经网络模型的各神经网络单元的边信息和描述神经网络模型中的数据传输关系的节点信息,因此,根据该通用配置文件能够建立相应的神经网络模型,不需要利用程序语言进行代码的编写,提高了建立神经网络模型的便利程度,有助于降低搭建神经网络模型的人力成本和学习难度。
61.在其中一些实施例中,上述步骤101包括:
62.获取用户撰写的需求信息;
63.根据所述需求信息和模型框架的类型,生成所述通用配置文件。
64.本实施例中,需求信息可以由用户直接撰写获得,例如,可以提供一特定的模板,该模板可以通过不同的方式提供,例如可以在excel(电子表格)等软件中,当需要获取通用配置文件时,由用户在该模板中按照一定的格式和要求填写需求信息,然后将所填写的需求信息输入脚本生成器,并利用脚本生成器根据用户填写的需求信息生成相应的通用配置文件。
65.本实施例中,用户只要按照一定的格式需求填写需求信息,即可实现生成配置文件并进一步搭建神经网络模型,提高了搭建神经网络模型的便利性,也降低了对于用户的编程能力的要求,有助于降低用户搭建神经网络模型的成本,更便于使用。
66.在另外一些实施例中,上述步骤101包括:
67.获取已建立的神经网络模型;
68.由所述已建立的神经网络模型导出预设格式的文件作为所述通用配置文件。
69.本实施例中的已建立的神经网络模型指的是已经搭建完成的神经网络模型,实施时,可以按照一定的格式要求,从该已建立的神经网络模型中导出满足该格式要求的文件作为通用配置文件,同样能够实现获取通用配置文件。
70.在另外一些实施例中,该通用配置文件还可以按照上述预设格式直接撰写获得。
71.在其中一些实施例中,所通用配置文件的格式为yaml序列化格式,更便于易于阅
读和移植。
72.通用配置文件包括节点信息和边信息,因此,获取通用配置文件的过程实际上就是获取节点信息和边信息的过程。在其中一些实施例中,通用配置文件还可以包括名称,该名称可以根据用户的习惯设定,主要与用于区分和标记所生成的通用配置文件,对通用配置文件的实际应用过程不构成影响。
73.在其中一些实施例中,通用配置文件包括节点信息,上述步骤101具体包括:
74.确定神经网络单元的类型和序号;
75.确定神经网络单元的框架参数,所述框架参数包括张量维度和取值范围中的至少一项;
76.确定神经网络单元的节点数据精度;
77.根据神经网络单元的类型和序号、所述框架参数和所述节点数据精度生成节点信息。
78.本实施例中,节点信息用于描述神经网络单元,其中,神经网络单元的类型用于区分不同的神经网络单元,而序号则用于区分相同类型的神经网络单元,对于相同类型的神经网络单元,可以由1开始顺序编号作为其序号。
79.框架参数为神经网络单元对应的模型框架的主要参数,具体可以包括张量维度和取值范围等。
80.节点数据精度用于限定输入数据的数据精度。
81.在一个实施例中,某一神经网络单元的节点信息可以通过如下形式表示:
[0082][0083]
上述节点信息中,name代表神经网络单元的类型,神经网络单元具体可以是乘方运算,卷积运算等执行不同运算的神经网络单元。本实施例中,具体为乘方运算exp,该神经网络单元的序号sequence取值为2,代表该神经网络单元为相同的神经网络单元中的序号为2。
[0084]
框架参数parameters包括张量维度tensor_in_shape,取值范围的最大值value_min和最小值value_max。
[0085]
输出状态out是本实施例中该类型的模型框架相关的参数,当更改模型框架时,可能不需要设置该参数。
[0086]
本实施例中的节点数据精度precision为16字节单精度浮点数,当搭建其他神经网络模型时,显然可以根据需要设定相应的节点数据精度。
[0087]
这样,通过生成每一神经网络单元的节点信息,能够描述每一神经网络单元的参数。
[0088]
在其中一些实施例中,通用配置文件包括边信息,上述步骤101具体包括:
[0089]
确定边的起始位置和终点位置;
[0090]
确定边的节点流出端口和节点流入端口;
[0091]
确定边的数据流动位置;
[0092]
根据所述起始位置、所述终点位置、所述节点流入端口、所述节点流出端口和所述数据流动位置生成边信息。
[0093]
示例性的,在本实施例的一个具体实施方式中,描述某一边的边信息如下所示:
[0094][0095]
边信息用于描述神经网络模型中的数据传输,其中,边的起始位置prev_node_seq和终点位置next_node_seq主要用于区分某一数据传输过程的是否与神经网络模型的外部数据有关。
[0096]
在其中一个实施例中,设定为在边中的目标边的起始位置的信息值小于0的情况下,目标边的输入数据为神经网络模型的外部数据;在目标边的起始位置的信息值大于0的情况下,目标边的输入数据来自神经网络模型中的神经网络单元,且起始位置的信息值为向目标边输入数据的神经网络单元的序号。
[0097]
本实施例中,目标边的起始位置的取值可以是

1,也可以是正整数,当起始位置的信息值为

1时,说明目标边的输入数据为神经网络模型的外部数据,当起始位置的信息值为正整数时,该信息之代表目标边获取数据的神经网络单元的序号sequence,本实施例中,具体为1,也就是该序号sequence值为1的神经网络单元的向该目标边输入数据。
[0098]
终点位置next_node_seq的参数取值与起点位置类似。
[0099]
具体的,当在目标边的终点位置的信息值小于0的情况下,目标边的输出数据输出至神经网络模型的外部,例如,如果终点位置的信息值为

1,则代表该目标边向神经网络模型的外部输出数据。在目标边的终点位置的信息值大于0的情况下,目标边的输出数据输出至神经网络模型中的神经网络单元,且终点位置的信息值为目标边的输出数据输出到的神经网络单元的序号,本实施例中具体为2,则说明该目标边向序号sequence值为2的神经网络单元输出数据。
[0100]
边的节点流出端口和节点流入端口具体用于表示神经网络单元与目标边之间数据传输的端口号。
[0101]
在目标边的节点流出端口的信息值小于0的情况下,目标边的输入数据为神经网络模型的外部数据;在目标边的节点流入端口的信息值小于0的情况下,目标边的输出数据输出至神经网络模型的外部。
[0102]
边信息中包括的节点流出端口指的是,数据由神经网络单元的节点流出端口流出,并流入边,以通过该边进行数据传输,因此,边的节点流出端口实际上对应输入边的数据;边信息中包括的节点流入端口指的是,神经网络单元接收边传输的数据时,通过神经网络单元的节点流入端口流入相应的神经网络单元,也就是说,节点流入端口实际上对应边输出的数据。
[0103]
边的节点流出端口和节点流入端口的信息值的取值范围均可以是大于或等于

1的整数。
[0104]
当目标边的起始位置的信息值小于0时,本实施例中具体为

1时,目标边的输入信息来自神经网络模型的外部,相应的,目标边的节点流出端口取值也为

1。
[0105]
类似的,当目标边的终点位置的信息值为

1时,目标边的输出数据输出至神经网络模型的外部,节点流入端口的信息值的取值也为

1。
[0106]
目标边的节点流出端口的信息值和节点流入端口的信息值为非负整数时,该信息值代表相应的端口号,每一神经网络单元的节点流出端口和节点流入端口的端口号均从0开始依次编号。
[0107]
在目标边的节点流出端口的信息值大于或等于0的情况下,目标边的输入数据来自神经网络模型中的神经网络单元,且节点流出端口的信息值为向目标边输入数据的神经网络单元与目标边进行数据传输的端口号。
[0108]
在目标边的节点流入端口的信息值大于或等于0的情况下,目标边的输出数据输出至神经网络模型中的神经网络单元,且节点流入端口的信息值为神经网络单元接收目标边的输出数据的端口号。
[0109]
例如,上述边信息中的节点流出端口和点流入端口均为神经网络单元的0号端口。
[0110]
边信息中还可以包括数据的来源或输出位置的数据位置标识data_file。当目标边的数据位置标识的信息值取值为none时,说明该目标边与神经网络模型外部没有数据传输,即输入目标边的数据来自神经网络模型中的神经网络单元,而并非外部数据,该目标边的数据输出至神经网络模型中的神经网络单元,而并非输出至神经网络模型的外部。
[0111]
当数据位置标识的信息值不为none时,说明目标边与神经网络模型外部存在数据交互,此时,结合上述起始位置和终点位置等参数能够确定目标边究竟是获取外部数据还是向外输出数据,此时,可以将具体的数据来源或数据输出地址作为数据位置标识的信息值,从而能够确定目标边的数据流向。
[0112]
如下,示例性的给出了一个神经网络模型的搭建过程。
[0113]
如图2所示,图2位该神经网络模型的神经网络连接图,其具体为可以理解为一个有向无环图,包括两个节点和四条边,其中,一个神经网络单元接收两份外部数据数据(input date file),这两份外部输入数据通过不同的边输入至该神经网络单元,经过该神经网络单元处理后,通过一条边输出至下一神经网络单元,再经过下一神经网络单元的处理之后,通过边输出,获得输出文件(output data file)。
[0114]
如表1至表3所示,搭建该神经网络模型时,首先在excel中撰写需求文件。其中,图
1为边信息对应的需求文件,图2和图3分别为两个节点对应的需求文件。
[0115]
表1:边信息的需求信息
[0116][0117]
表2:第一个节点的需求信息
[0118][0119]
表3:第二个节点的需求信息
[0120]
casenameextra_infoopnametensor_in_shapevalue_minvalue_maxout
ꢀꢀꢀꢀꢀꢀꢀ
qa_exp_000001

pytorchpytorchexp[4,8,11,11]

11none
[0121]
其中,表1中的边信息的需求信息描述了边的信息,例如需求文件的特征feature为连接connect、需求文件的名称casename为qa_smoke_connect_000001,一份配置文件case_config_1为qa_conv2d_000001

pytorch,另一份配置文件case_config_2为qa_exp_000001

pytorch。一个标签case_template_1对应卷积运算单元conv2d,另一个标签case_template_2对次方运算单元exp。该边的附加信息extra_info表明该边用于连接的两个节点。
[0122]
表2和表3中的两个节点信息的需求信息描述了这两个节点的相关参数,例如,需求文件的名称casename、节点类型opname和张量维度tensor_in_sha pe等框架参数,以及其他需要的参数等。
[0123]
接下来,根据上述需求文件获得该神经网络模型的通用配置文件如下,其中,括号中的描述代表相关内容的具体含义,并非通用配置文件的一部分。
[0124]
[0125]
[0126]
[0127][0128]
可选的,根据通用配置文件生成神经网络模型之前,该方法还包括:
[0129]
判断模型框架是否能够完全解析所述通用配置文件;
[0130]
若否,则将所述通用配置文件中不能解析的部分抛弃,获得与所述模型框架完全兼容的通用配置文件。
[0131]
本实施例中,还对通用配置文件与神经网络模型的兼容性进行检测。
[0132]
示例性的,如果通用配置文件由某一类型的模型框架搭建的模型导出,则该通用配置文件在应用于利用相同类型的模型框架搭建神经网络模型过程中,很可能不会出现兼容性问题。
[0133]
当该通用配置文件应用于其他类型的模型框架搭建神经网络模型的过程中,由于模型框架的不同,可能会存在不兼容的情况,具体表现为通用配置文件的一部分无法得到解析。
[0134]
示例性的,上述神经网络单元的节点信息中的参数out是为pytorch框架中相关参数,当基于其他模型框架搭建神经网络模型时,不需要设置该参数。这样,在所使用的模型框架不是pytorch框架时,该参数out无法得到解析,由于该参数out所使用的模型框架无关,因此,在通用配置文件不能完全解析的情况下,丢弃不能被解析的部分,例如,上述参数out,这样,所获得的通用配置文件与其他框架兼容不存在兼容性文件,即可以被其他框架完全解析。
[0135]
显然,以其他方式生成的通用配置文件也可能存在类似的问题。
[0136]
因此,本实施例中,对通用配置文件和待生成的神经网络模型的类型进行解析,并在通用配置文件中存在不能被模型框架解析的部分时,抛弃这一部分内容,从而使得通用配置文件能够被完全解析,能够解决通用配置文件对于不同模型框架的兼容性问题。。
[0137]
应当理解的是,不同类型的神经网络模型均由神经网络单元和边构成,因此,不需要对通用配置文件的整体架构进行调整,仅需要对某些特定的参数做适应性调整,相对于重新架构神经网络模型,本实施例的技术方案有效的节约了工作量,也降低了工作难度。
[0138]
进一步的,如果在对通用配置文件进行处理,抛弃不能解析的部分之后,仍不能获取完全兼容的通用配置文件,则说明该模型框架无法支持所获得的通用配置文件的部分内容,此时输出神经网络模型生成失败的结果。
[0139]
如果需要继续架构神经网络模型,可以重新生成通用配置文件,以解决可能存在的兼容性问题。例如,可以根据所使用的模型框架对撰写的通用配置文件作出适应性调整,也可以根据所使用的模型框架选择已建立的神经网络模型导出通用配置文件,以适应该模
型框架,避免由于模型框架不同导致的通用配置文件不兼容。
[0140]
如图3所示,本实施例的技术方案可以包括获取通用配置文件以及根据通用配置文件生成神经网络模型的过程。
[0141]
通用配置文件可以由需求文件输入特定的脚本生成器生成,可以直接撰写获得,还可以从已经建立的神经网络模型中导出获得。
[0142]
获取通用配置文件之后,将通用配置文件输入模型生成系统生成神经网络模型。
[0143]
模型生成系统的工作原理可以概括为,根据工作人员所提供的通用配置文件生成模型和数据。
[0144]
然后加载生成数据获得框架运行结果,加载所生成的模型获得模型运行结果,将框架运行结果和模型运行结果相比较,向工作人员返回比较结果。
[0145]
本发明还提供了一种神经网络模型的生成装置。
[0146]
如图4所示,在一个实施例中,该神经网络模型的生成装置400包括:
[0147]
获取模块401,用于获取通用配置文件,所述通用配置文件包括节点信息和边信息,所述节点信息用于描述所述神经网络模型中的各神经网络单元,所述边信息用于描述所述神经网络模型中的数据传输关系;
[0148]
生成模块402,用于根据所述通用配置文件生成神经网络模型。
[0149]
可选的,所述获取模块401包括:
[0150]
需求信息获取子模块,用于获取用户撰写的需求信息;
[0151]
生成子模块,用于根据所述需求信息和模型框架的类型,生成所述通用配置文件。
[0152]
可选的,所述获取模块401包括:
[0153]
模型获取子模块,用于获取已建立的神经网络模型;
[0154]
导出子模块,用于由所述已建立的神经网络模型导出预设格式的文件作为所述通用配置文件。
[0155]
可选的,所述获取模块401包括:
[0156]
第一确定子模块,用于确定神经网络单元的类型和序号;
[0157]
第二确定子模块,用于确定神经网络单元的框架参数,所述框架参数包括张量维度和取值范围中的至少一项;
[0158]
第三确定子模块,用于确定神经网络单元的节点数据精度;
[0159]
节点信息生成子模块,用于根据神经网络单元的类型和序号、所述框架参数和所述节点数据精度生成节点信息。
[0160]
可选的,所述获取模块401包括:
[0161]
第四确定子模块,用于确定边的起始位置和终点位置;
[0162]
第五确定子模块,用于确定边的节点流出端口和节点流入端口;
[0163]
第六确定子模块,用于确定边的数据流动位置;
[0164]
边信息生成子模块,用于根据所述起始位置、所述终点位置、所述节点流入端口、所述节点流出端口和所述数据流动位置生成边信息。
[0165]
可选的,在所述边中的目标边的起始位置的信息值小于0的情况下,所述目标边的输入数据为神经网络模型的外部数据;
[0166]
在所述目标边的起始位置的信息值大于0的情况下,所述目标边的输入数据来自
神经网络模型中的神经网络单元,且所述起始位置的信息值为向所述目标边输入数据的神经网络单元的序号;
[0167]
在所述目标边的终点位置的信息值小于0的情况下,所述目标边的输出数据输出至神经网络模型的外部;
[0168]
在所述目标边的终点位置的信息值大于或等于0的情况下,所述目标边的输出数据输出至神经网络模型中的神经网络单元,且所述终点位置的信息值为所述目标边的输出数据输出到的神经网络单元的序号;
[0169]
在所述目标边的节点流出端口的信息值小于0的情况下,所述目标边的输入数据为神经网络模型的外部数据;
[0170]
在所述目标边的节点流出端口的信息值大于或等于0的情况下,所述目标边的输入数据来自神经网络模型中的神经网络单元,且所述节点流出端口的信息值为向所述目标边输入数据的神经网络单元与所述目标边进行数据传输的端口号;
[0171]
在所述目标边的节点流入端口的信息值小于0的情况下,所述目标边的输出数据输出至神经网络模型的外部;
[0172]
在所述目标边的节点流入端口的信息值大于0的情况下,所述目标边的输出数据输出至神经网络模型中的神经网络单元,且所述节点流入端口的信息值为神经网络单元接收所述目标边的输出数据的端口号。
[0173]
可选的,还包括:
[0174]
兼容性确定模块,用于确定所述通用配置文件的类型与待生成的神经网络模型的类型是否兼容;
[0175]
兼容性处理模块,用于在所述通用配置文件的类型与所述待生成的神经网络模型的类型不兼容的情况下,对所述通用配置文件进行格式转换,获得与所述待生成的神经网络模型的类型兼容的通用配置文件。
[0176]
可选的,所述通用配置文件的格式为yaml序列化格式。
[0177]
可选的,模型框架为tensorflow框架、pytorch框架和mxnet框架中的至少一项。
[0178]
本实施例的神经网络模型的生成装置能够实现上述神经网络模型的生成方式实施例的各个步骤,并能实现基本相同或相似的技术效果,此处不再赘述。
[0179]
本发明实施例还提供了一种计算机程序产品,所述计算机程序产品存储于计算机可读存储介质上,所述计算机程序产品在被运行时,实现第一方面中任一项所述的神经网络模型的生成方法的步骤。
[0180]
本实施例中计算机可读存储介质中的计算机程序产品在运行时,能够实现上任一种神经网络模型的生成方法的步骤,因此至少能够实现上述全部技术效果,此处不再赘述。
[0181]
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1