本公开涉及计算机技术领域,尤其涉及计算机视觉和深度学习技术等人工智能领域。
背景技术:
随着深度学习的不断发展,其在众多领域都取得了巨大的成功,且逐渐向全自动机器学习发展。例如,神经网络结构搜索技术(neuralarchitecturesearch,nas)作为全自动机器学习的研究热点之一,通过设计高效的搜索方法,自动获取泛化能力强,硬件要求友好的神经网络,大量的解放了相关研究人员的创造力。
传统的nas方法需要独立采样并评估模型结构的性能,这种方式会造成很大的性能开销。为降低性能开销,基于梯度的超网络训练方法得以研究。其中,超网络可以适用于多种不同的网络结构应用。基于梯度的超网络训练方法,在超网络训练过程中,逐步删除权重最低的连接,随着连接的逐步删除,搜索空间会逐步减少,最终收敛到最优的结构中。
技术实现要素:
本公开提供了一种模型获取方法、装置、电子设备、存储介质和程序产品。
根据本公开的一方面,提供了一种模型获取方法,包括:
获取参考模型输出的m个第一软标签,其中,所述m个第一软标签分别与所述参考模型的m个目标连接层一一对应;
依据所述m个第一软标签对超网络中的子网络的中间节点的连接参数进行更新,得到目标模型;
其中,所述子网络的第i个中间节点是基于第i个目标连接层对应的第一软件标签进行更新,所述第i个中间节点位于所述超网络包括的m个连接层中的第i个连接层。
根据本公开的另一方面,提供了一种模型获取装置,包括:
获取模块,用于获取参考模型输出的m个第一软标签,其中,所述m个第一软标签分别与所述参考模型的m个目标连接层一一对应;
更新模块,用于依据所述m个第一软标签对超网络中的子网络的中间节点的连接参数进行更新,得到目标模型;
其中,所述子网络的第i个中间节点是基于第i个目标连接层对应的第一软件标签进行更新,所述第i个中间节点位于所述超网络包括的m个连接层中的第i个连接层。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开提供的模型获取方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开提供的模型获取方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开提供的模型获取方法。
根据本公开的技术方案,通过基于参考模型中的第一软标签,对超网络进行更新,这样,可以提高更新得到的目标模型与超网络之间性能的一致性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开提供的一种模型获取方法的流程图;
图2是本公开提供的超网络中的部分网络结构示意图;
图3是本公开提供的目标模型中的部分网络结构示意图;
图4是本公开提供的一种模型获取装置的结构图之一;
图5是本公开提供的一种模型获取装置的结构图之二;
图6是本公开提供的一种电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
近年来,深度学习技术在很多方向上都取得了巨大的成功,深度学习技术中,神经网络结构的好坏对目标模型的效果有非常重要的影响。人工设计神经网络结构需要非常丰富的经验和众多尝试,并且众多参数会产生爆炸性的组合,常规的随机搜索几乎不可行,因此nas成为研究热点。
传统的nas方法需要独立采样并评估模型结构的性能,这种方式会造成很大的性能开销。为降低性能开销,基于超网络的模型训练方法通过参数共享的方式,大大加速的模型结构的搜索过程。然而,一致性问题是所有基于超网络的模型训练方案最大的问题,如果不解决一致性问题会导致搜索结果与预期结果存在非常大的性能差异。其中,一致性问题具体为:当将基于超网络的训练方法得到目标模型应用于具体的场景时,经常使得目标模型无法达到该场景对应的独立网络结构的性能,即训练得到的目标模型与超网络之间存在性能差异,也就是说,目前基于超网络的训练方法得到目标模型的性能较差。
基于超网络的模型训练方案包括基于梯度的超网络训练方案和基于一步法(oneshot)的超网络训练方案。本实施例旨在解决基于梯度的超网络训练方案的一致性问题。
目前,基于梯度的超网络训练方案,在超网络训练过程中,逐步删除权重最低的连接方式,随着连接方式的逐步删除,搜索空间会逐步缩小,最终收敛到最优的结构中。
但上述方案无法保证删除权重最低的连接方式对超网络整体性能的影响,从而导致超网络性能与独立训练得到的网络结构之间的差异;此外,由于删除掉连接方式存在的差异,会导致超网络的性能也无法达到最优。
请参见图1,图1是本公开提供的一种模型获取方法,包括:
步骤s101、获取参考模型输出的m个第一软标签,其中,所述m个第一软标签分别与所述参考模型的m个目标连接层一一对应。
具体地,可以将所述参考模型作为教师模型,将超网络作为学生模型。所述教师模型可以是用于对图像/视频数据进行编解码处理的大模型,可以根据实际需求的不同,具体表现为不同类型的模型,例如,卷积神经网络、深度神经网络、长短期记忆网络、生成对抗网络等,本实施例中,所述教师模型可以采用resnet101_vd等结构,教师模型在imagenettop1acc超过80。应当说明的是,上述教师模型应当是预先训练好且具有良好性能的网络模型结构,以便于基于教师模型对所述学生模型进行训练,例如,可以基于所述教师模型对所述学生模型进行蒸馏训练,以提高训练到的目标模型结构与超网络之间的一致性。
上述目标连接层可以是所述参考模型的中间连接层,即除输出层和输出层之外的连接层,例如,所述目标连接层可以是所述参考模型中的卷积层。
上述第一软标签可以是参考模型之所以能够表现出高精度的原因,即教师模型所拥有的“知识”的表现,以人为例,知识可以具有抽象为文字表述的经验,但对于计算机模型而言,其知识通常表现为关键特征数据。由于参考模型中的每个中间连接层都能基于自身所拥有的“知识”对上层输出的数据进行处理,因此,参考模型的每个目标连接层均具有特定的“知识”,本实施例中,所述m个第一软标签分布表示不同参考模型中的m个不同目标连接层所拥有的“知识”。具体而言,可以基于以下方式获取所述第一软标签:在将测试模型训练至收敛之后,可以对测试模型中的每个目标连接层(block)分别引出类似auxiluryhead,直至收敛,收敛后每个block都可以输出softlabel。上述第一软标签的表现形式可以是由多个特征数据组合形成的一组数据,也可以是用于表征关键特征数据的分布情况的特征分布。
应当说明的是,上述m个目标连接层在测试模型中的层级不同,例如,所述m个目标连接层可以是测试模型的输入层和输出层之间的,且顺次连接的连接层。
步骤s102、依据所述m个第一软标签对超网络中的子网络的中间节点的连接参数进行更新,得到目标模型,其中,所述子网络的第i个中间节点是基于第i个目标连接层对应的第一软件标签进行更新,所述第i个中间节点位于所述超网络包括的m个连接层中的第i个连接层。
上述对超网络中的子网络的中间节点的连接参数进行更新可以是指:在对超网络进行训练以得到子网络的训练过程中,对超网络中的子网络的中间节点的连接参数进行更新。其中,所述参数更新的方式可以是指从超网络中删除节点之间的连接,以降低超网络的复杂程度,上述目标模型可以是该过程中训练得到的子网络。
请参见图2,为本公开一个实施例中提供的超网络中的部分网络结构示意图,其中,0、1、2和3可以分别表示超网络的四个不同连接层中的中间节点,为了便于说明,下文将中间节点0所在连接层称之为第一连接层、将中间节点1所在连接层称之为第二连接层、将中间节点2所在连接层称之为第三连接层、将中间节点3所在连接层称之为第四连接层。不同连接层中的中间节点之间的不同连接构成不同的子网络,且超网络的子网络可以包括超网络的每个连接层中的连接节点,也可以仅包括超网络的部分连接层中的连接节点。例如,根据图2可知,第一连接层中的中间节点0既可以直接与第四连接层中的中间节点3连接,以形成超网络的其中一个子网络,此外,第一连接层中的中间节点0也可以分别通过第二连接层中的中间节点2以及第三连接层中的中间节点3与第四连接层中的中间节点3连接,以形成超网络的一个子网络。请参见图3,上述子网络是由节点的有序序列组成的有向无环图。
请进一步参见图2,由图2可知,超网络中的不同节点之间均存在多条不同的连接,本实施例中,可以基于所述参考模型输出的第一软标签的指引,对所述超网络中的连接进行删除,以得到如图3所述的目标模型,且使所述目标模型与超网络之间的性能具有一致性,同时,所得到的子网络不需要重新进行训练直接就可以产出模型。
上述超网络可以包括m个中间连接层,其中,所述超网络中的连接层可以是卷积层。上述参考模型的m个目标连接层与超网络的m个连接层可以是一一对应的关系,例如,当所述参考模型与超网络的连接层数相同时,可以使超网络中的第i个连接层与参考模型的第i个目标连接层相对应,所述i的取值范围为1~m。
具体地,可以基于参考模型的m个目标连接层,建立所述m个第一软标签与超网络的m个连接层之间的对应关系,例如,可以建立第i个目标连接层所对应的第一软标签与所述第i个目标连接层所对应的连接层之间的对应关系,这样,后续在对子网络的中间节点的连接参数进行更新时,可以将中间节点所在连接层所对应的第一软标签作为指引,以指引该中间节点的连接参数更新的过程。这样,可以实现在对超网络进行更新过程中,进行逐级监督,以提高更新之后得到的目标模型与超网络之间性能的一致性。
如图3所示,上述目标模型中,各个节点之间的连接数量可以是均为1。
应当说明的是,上述实施例提供的方法在应用于对图像处理方面时,可以提高图像处理的速度,同时,由于任务搜索效率的提高,可以降低设备成本。
该实施方式中,通过基于参考模型中的m个第一软标签,分别指引超网络的m个连接层的更新过程,以实现逐级监督,这样,可以提高更新之后得到的目标模型与超网络之间性能的一致性。
可选地,所述子网络中的每个中间节点均存在k+1个连接,所述k为大于1的整数,所述依据所述m个第一软标签对超网络中的子网络的中间节点的连接参数进行更新,包括:
对所述子网络进行k轮迭代更新,其中,每轮迭代更新删除每个所述中间节点的一个连接。
上述中间节点存在k+1个连接可以是指:在子模型中,中间节点与该中间节点的下一级节点之间存在k+1个连接,例如,请参见图2,在中间节点0、中间节点1、中间节点3所形成的子网络中,中间节点0与中间节点1之间存在3个连接,即所述中间节点0存在3个连接。
上述k轮更新中的第x轮更新可以是在第一超网络的基础上进行的更新,所述x为大于0的整数,其中,在所述x等于1的情况下,所述第一超网络为上述超网络。在所述x不等于1的情况下,所述第一超网络为对超网络进行第x-1轮更新之后,得到的超网络。
由于上述子网络中的每个中间节点均存在k+1个连接,因此,可以通过对中间节点执行k次裁剪操作,即可使得所得到的目标模型中,各个节点之间的连接数量可以是均为1。
在上述超网络包括多个子网络的情况下,可以按照预设的顺序,分别对超网络的多个子网络进行更新,以得到图3所示的目标模型。具体而言,在对所述超网络的第a个子模型进行更新时,可以在第二超网络的基础上进行更新,所述a为大于0的整数,其中,在所述a等于1的情况下,所述第二超网络为上述超网络。在所述a不等于1的情况下,所述第二超网络为对超网络的第a-1个子模型进行更新之后,得到的超网络。
此外,由于超网络中的不同子模型之间存在公共的节点,例如,请参见图2,子网络0、1、2、3与子网络0、2、3之间存在公共节点2和公共节点3。而在对子网络0、1、2、3进行更新的过程中,已经对公共节点2的连接进行了更新,即公共节点2的连接数量已经为1,后续在对子模型0、2、3进行更新时,无需在对节点2的连接参数进行更新。因此,上述对所述子网络进行k轮迭代更新可以是指:对所述子网络进行迭代更新,直至所述子网络中的所有中间节点的连接数量均为1。
应当说明的是,在对某个中间节点进行更新时,应当冻结超网络中其他中间节点的连接参数,以避免在此更新过程中,超网络中的其他中间节点的连接参数随之发生变化。
该实施方式中,在对子网络的中间节点的连接参数进行更新的过程中,通过每次仅删除中间节点中的一个连接,这样,每次在对超网络进行更新时,可以基于超网络当前的状态,将对超网络整体性能的影响最弱的连接予以删除。相对于现有技术中,一次性删除多个连接而言,可以避免一次性删除过多的连接而导致删除对超网络的性能影响较大的连接。
可选地,所述超网络包括输出节点,所述k轮迭代更新中的第j轮更新,包括:
按照预设顺序分别对所述子网络中的中间节点的连接进行删除,其中,所述预设顺序为按照所述子网络中的中间节点与所述输出节点之间的距离,由小至大进行排序得到的顺序。
具体地,由于模型在对数据进行处理的过程中,例如,在对图像进行识别的过程中,通常是按照模型中的节点逐级传递,即将上一级节点的输出作为下一级节点的输入,因此,在对某一中间节点的连接参数进行更新之后,将对该中间节点的下级节点的输出产生影响。
由于每轮更新都需要对子模型的各个中间节点中分别删除一条连接,为了避免上层中间节点中的连接的删除而导致对下层中间节点的连接删除过程产生影响,进而导致将对超网络的性能影响较大的连接进行删除的问题。本实施例中,在k轮迭代更新中的第j轮更新的过程中,从接近输出层的中间节点开始逐渐向远离输出层的方向对子模型中的各个中间节点进行更新,例如,在对图2中的子网络0、1、2、3进行更新的过程中,可以按照以下顺序更新子网络0、1、2、3的四个中间节点:中间节点3、中间节点2、中间节点1、中间节点0。这样,在对子网络中的第一中间节点进行更新时,由于所述第一中间节点的上层中间节点均未被更新,因此,更新第一中间节点时,不会因为上层中间节点的更新而导致对第一中间节点的更新过程产生影响,同时,由于所述第一中间节点的下层中间节点均已更新完成,因此,第一中间节点的更新过程也不会对第一中间节点的下层节点的更新过程产生影响,其中,所述第一中间节点为所述子网络中的任一中间节点。
该实施方式中,通过按照预设顺序对子网络中的各个中间节点进行更新,这样,可以避免因为上层中间节点的更新而导致对下层中间节点的更新过程产生影响,以进一步提高更新过程的准确性,从而进一步提高更新之后得到的目标模型与超网络之间的一致性。
可选地,所述按照预设顺序分别对所述子网络中的中间节点的连接方式进行删除,包括:
对目标中间节点进行k+1次删除操作,得到k+1个中间超网络,其中,每次删除操作删除所述目标中间节点的一个不同连接,所述目标中间节点为所述子网络中的任意中间节点,且所述目标中间节点位于所述m个连接层中的第y个连接层,y为1至m中任一整数;
确定所述k+1个中间超网络中的第y个连接层输出的k+1个第二软标签;
基于所述k+1个第二软标签与第y个目标连接层所对应的目标第一软标签之间的距离,将所述k+1个中间超网络中的目标超网络确定为更新后的超网络。
具体地,所述对所述目标中间节点的更新,可以在第三超网络的基础上进行的更新。其中,若所述j等于1,且所述目标中间节点为所述子网络最接近所述输出节点的中间节点,则第三超网络为上述超网络,即第三超网络为未被更新的超网络;若所述j不等于1,且目标中间节点为所述子网络中最接近所述输出节点的中间节点,则第三超网络为对超网络进行第j-1轮更新之后得到的超网络;若所述目标中间节点不是所述子网络中最接近所述输出节点的中间节点,则第三超网络为对所述预设顺序中,顺序在所述目标中间节点前一位的中间节点进行更新之后,得到的超网络。
上述k+1次删除操作均是在所述第三超网络的基础上进行的,由于所述目标中间节点存在k+1个连接,因此,上述k+1次删除操作分别与所述目标中间节点存在的k+1个连接一一对应,即k+1次删除操作分别在第三超网络中,删除所述目标中间节点存在的k+1个连接中的不同连接,这样,通过对k+1个中间超网络进行对比,即可确定删除目标中间节的k+1个连接中的哪个连接对更新之后得到的目标模型的性能损失最小,进而确定本轮更新过程应该删除目标中间节点的k+1个连接中的目标连接,并将删除目标连接的中间超网络确定为对目标中间节点进行更新之后得到的超网络。
由于所述目标中间节点位于所述m个连接层中的第y个连接层,因此,为了确定上述目标连接,可以确定k+1个中间超网络中的每个中间超网络的第y个连接层输出第二软标签,从而得到k+1个第二软标签,上述第二软标签与上述第一软标签类似,其具体物理意义即获取方式可以参加上述第一软标签的相关说明。
由于上述k+1次删除操作均是在第y个目标连接层所对应的目标第一软标签的指引下进行的,因此,可以将所述k+1个第二软标签分别与目标第一软标签进行对比,以确定k+1个连接中的目标连接。具体而言,在删除k+1个连接中的某个连接之后,若得到的中间超网络输出的第二软标签与目标第一软标签越接近,即删除前后超网络的性能相当,则说明删除该连接对超网络的性能影响较小。反之,若删除某个连接之后,得到的中间超网络输出的第二软标签与目标第一软标签差距越大,则说明删除该连接对超网络的性能影响越大。
其中,上述距离可以是软标签之间的范数距离或者欧式距离等,应当说明的是,上述距离并不限于所列举的范数距离或者欧式距离,只要能够体现软标签之间的差异大小的物理量均可以。
该实施方式中,通过每次在对目标中间节点进行更新时,将目标中间节点中,对超网络性能影响最小的一个连接进行删除,以确保删除连接之后,性能损失最小,从而提高更新之后得到的目标模型与超网络之间性能的一致性。
可选地,所述目标超网络为所述k+1个中间超网络中输出的第二软标签与所述目标第一软标签之间的距离最小的超网络。
具体地,上述目标超网络为所述k+1个中间超网络中输出的第二软标签与所述目标第一软标签之间的距离最小,则说明删除连接之后得到的中间超网络与上述第三超网络之间的性能越接近。
该实施方式中,通过将目标超网络为所述k+1个中间超网络中输出的第二软标签与所述目标第一软标签之间的距离最小的超网络,确定为更新之后的超网络。这样,可以使删除中间节点中的目标连接之后,超网络的性能损失最小。
可选地,所述参考模型包括的连接层的数量为所述m的整数倍,所述m个目标连接层中任意两个目标连接层之间间隔的连接层数相同。
具体地,若所述参考模型与超网络的连接层的数量均为4,则将所述参考模型的4个连接层均确定为目标连接层,此时,上述m个目标连接层与m个连接层一一对应可以是指:按照模型中数据传输的顺序,将参考模型的第1个目标连接层与超网络的第1个连接层相对应,将参考模型的第2个目标连接层与超网络的第2个连接层相对应,将参考模型的第3个目标连接层与超网络的第3个连接层相对应,将参考模型的第4个目标连接层与超网络的第4个连接层相对应。再例如,若所述参考模型的连接层数为8,所述超网络的连接层的数量为4,则可将所述参考模型的第2连接层、第4连接层、第6连接层和第8连接层分别确定为目标连接层,此时,上述m个目标连接层与m个连接层一一对应可以是指:按照模型中数据传输的顺序,将参考模型的第2个目标连接层与超网络的第1个连接层相对应,将参考模型的第4个目标连接层与超网络的第2个连接层相对应,将参考模型的第6个目标连接层与超网络的第3个连接层相对应,将参考模型的第8个目标连接层与超网络的第4个连接层相对应。
该实施方式中,通过使m个目标连接层中任意两个目标连接层之间间隔的连接层数相同,这样,相邻两个目标连接层之间的性能差相对均衡,使得所获取的m个目标软标签之间的距离相对均衡,后续在基于m个目标软标签对超网络的更新过程进行指引时,有利于提高训练得到的目标模型的各层级之间性能的稳定性,从而进一步提高训练得到的目标模型的性能。
请参见图4,图4是本公开实施例提供的一种模型获取装置400,包括:
获取模块401,用于获取参考模型输出的m个第一软标签,其中,所述m个第一软标签分别与所述参考模型的m个目标连接层一一对应;
更新模块402,用于依据所述m个第一软标签对超网络中的子网络的中间节点的连接参数进行更新,得到目标模型;
其中,所述子网络的第i个中间节点是基于第i个目标连接层对应的第一软件标签进行更新,所述第i个中间节点位于所述超网络包括的m个连接层中的第i个连接层。
可选地,所述子网络中的每个中间节点均存在k+1个连接,所述k为大于1的整数;
所述更新模块402,具体用于对所述子网络进行k轮迭代更新,其中,每轮迭代更新删除每个所述中间节点的一个连接。
可选地,所述更新模块402,具体还用于按照预设顺序分别对所述子网络中的中间节点的连接进行删除,其中,所述预设顺序为按照所述子网络中的中间节点与所述输出节点之间的距离,由小至大进行排序得到的顺序。
可选地,所述更新模块402,包括:
删除单元4021,用于对目标中间节点进行k+1次删除操作,得到k+1个中间超网络,其中,每次删除操作删除所述目标中间节点的一个不同连接,所述目标中间节点为所述子网络中的任意中间节点,且所述目标中间节点位于所述m个连接层中的第y个连接层,y为1至m中任一整数;
确定单元4022,用于确定所述k+1个中间超网络中的第y个连接层输出的k+1个第二软标签;
更新单元402,用于基于所述k+1个第二软标签与第y个目标连接层所对应的目标第一软标签之间的距离,将所述k+1个中间超网络中的目标超网络确定为更新后的超网络。
可选地,所述目标超网络为所述k+1个中间超网络中输出的第二软标签与所述目标第一软标签之间的距离最小的超网络。
可选地,所述参考模型包括的连接层的数量为所述m的整数倍,所述m个目标连接层中任意两个目标连接层之间间隔的连接层数相同。
本实施例提供的装置能够实现图1所示的方法实施例中实现的各个过程,且可以达到相同有益效果,为避免重复,这里不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram603中,还可存储设备600操作所需的各种程序和数据。计算单元601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如模型获取方法。例如,在一些实施例中,模型获取方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram603并由计算单元601执行时,可以执行上文描述的模型获取方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行模型获取方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。