掌桥专利:专业的专利平台
掌桥专利
首页

一种分类网络及其实现方法和装置

文献发布时间:2023-06-19 10:54:12


一种分类网络及其实现方法和装置

技术领域

本申请涉及神经网络技术领域,尤其涉及一种分类网络及其实现方法和装置。

背景技术

IRv2算法的全称是Inception-ResNet-v2,即第二代将Inception与ResNet(残差网络)进行结合以进行分类的算法,结合了Inception与ResNet的优点,能够得到较深的分类网络,分类性能十分不错。但基于IRv2算法得到的分类网络也具有复杂度高、内存占用大等问题,亟需解决。

发明内容

本申请实施例提供了一种分类网络及其实现方法和装置,能够既保证分类网络的分类效果,同时降低分类网络的复杂度,得到更轻量的分类网络。

本申请实施例采用下述技术方案:

第一方面,本申请实施例提供一种分类网络的实现方法,包括:基于IRv2算法构建包括Stem模块、多个Inception模块和多个IR模块的分类网络,其中,多个Inception模块包括剪枝Inception模块和非剪枝Inception模块,分类网络的批标准化BN层使用γ参数;对分类网络进行初始化,并对初始化的分类网络进行稀疏化训练,得到稀疏化的γ参数;基于稀疏化的γ参数,对稀疏化训练后的分类网络进行剪枝处理,其中,对Stem模块、剪枝Inception模块和多个IR模块进行network slimming剪枝,对非剪枝Inception模块不进行network slimming剪枝。

在一些实施例中,分类网络的实现方法中,对稀疏化训练后的分类网络进行剪枝处理包括:对Stem模块中首个卷积层的输入通道,不进行network slimming剪枝处理。

在一些实施例中,分类网络的实现方法中,对稀疏化训练后的分类网络进行剪枝处理包括:依据Stem模块中最后一个卷积层的输出通道的数量和序号,确定剪枝Inception模块中,每一个分支下首个卷积层的输入通道的数量和序号。

在一些实施例中,分类网络的实现方法中,Inception模块包括Mixed_5b模块和Mixed_7a模块,其中Mixed_5b模块为剪枝Inception模块,Mixed_7a模块为非剪枝Inception模块。

在一些实施例中,分类网络的实现方法中,对稀疏化训练后的分类网络进行剪枝处理包括:对IR模块中每一个inception分支下的首个卷积层的输入通道,不进行networkslimming剪枝。

在一些实施例中,分类网络的实现方法中,对稀疏化训练后的分类网络进行剪枝处理包括:根据各inception分支中最后一个卷积层的输出通道的数量和序号,确定IR模块中,连接在concat层后的首个卷积层的输入通道的数量和序号。

在一些实施例中,分类网络的实现方法中,对Stem模块、剪枝Inception模块和多个IR模块进行network slimming剪枝包括:对Block35模块、Block17模块以及Block8模块这三种IR模块进行network slimming剪枝。

在一些实施例中,分类网络的实现方法还包括:对经过剪枝处理后的分类网络进行微调;若微调后的分类网络的剪枝率达到预设值,则输出微调后的分类网络;否则,对微调后的分类网络进行稀疏化训练,并对稀疏化训练后的分类网络再次进行剪枝处理。

第二方面,本申请实施例还提供一种分类网络的实现装置,用于实现如上任一所述的分类网络的实现方法。

第三方面,本申请实施例还提供一种基于IRv2算法的分类网络,包括Stem模块、多个Inception模块和多个IR模块,Inception模块包括剪枝Inception模块和非剪枝Inception模块,Stem模块、剪枝Inception模块和IR模块经过network slimming剪枝,非剪枝Inception模块不经过network slimming剪枝。

第四方面,本申请实施例还提供一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,可执行指令在被执行时使处理器执行如上任一所述的分类网络的实现方法。

第五方面,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储一个或多个程序,一个或多个程序当被包括多个应用程序的电子设备执行时,使得电子设备执行如上任一所述的分类网络的实现方法。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过有选择性地使用network slimming剪枝处理技术,对包括Stem模块、多个Inception模块和多个IR模块的分类网络进行合理剪枝,能够既保证分类网络的分类效果,同时实现网络结构的精简,从而提高训练效率,减少推理时间和内存占用,节省人力、工时和经费,使得分类网络可以部署在不同算力的硬件设备上。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1示出了根据本申请一个实施例的分类网络的实现方法的流程示意图;

图2示出了根据本申请一个实施例的基于IRv2算法的分类网络结构示意图;

图3示出了图2中Mixed_5b模块的网络结构示意图;

图4示出了图2中Block35模块的网络结构示意图;

图5示出了图2中Block17模块的网络结构示意图;

图6示出了图2中Block8模块的网络结构示意图;

图7示出了根据本申请一个实施例的分类网络的实现装置的结构示意图;

图8为本申请实施例中一种电子设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了扩大分类神经网络的适用场景、降低分类神经网络的训练和推理时间、压缩分类神经网络的模型大小,学术界提出了大量剪枝、压缩和量化方法,通过对现有的复杂分类神经网络进行剪枝、压缩、量化,使其适用于多种具有不同算力的应用场景。

神经网络剪枝的出发点是在保证模型性能损失不太大的情况下,剔除模型中不重要的参数,从而减少网络的复杂度、内存占用以及计算量。神经网络剪枝按照剪枝的粒度可以分为非结构化剪枝和结构化剪枝。早期的剪枝方法多数是非结构化的,例如对kernel中绝对值小的值置零,从而得到稀疏的kernel,其特点是需要底层硬件或者计算库支持。结构化剪枝可以是通道级(channel-wise)、滤波器级(filter-wise)或者形状级(shape-wise),即对不重要的结构直接删除,其优点是不需要底层硬件或者计算库的支持。

Network Slimming算法属于经典的结构化剪枝算法,通过在卷积层引入通道级的scaling factor(标度系数)来实现对卷积层的剪枝。在卷积神经网络中,BatchNormalization(BN,批标准化)层的卷积层的输出通道数与BN层的γ参数个数相同,即卷积层输出的每一个通道对应一个γ值。因此Network slimming算法复用BN层的γ参数作为scaling factor,通过对其进行稀疏化,然后删除对应γ值小的通道,即可以实现在模型性能基本不变的基础上降低网络结构的复杂度。

本申请的技术构思在于利用Network Slimming算法,对基于IRv2算法实现的复杂分类网络进行剪枝处理,并有选择性地确定对哪些模块进行剪枝,对哪些模块不进行剪枝,从而实现网络结构复杂度和分类效果的均衡。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1示出了根据本申请一个实施例的分类网络的实现方法的流程示意图。如图1所示,该方法包括:

步骤S110,基于IRv2算法构建包括Stem模块、多个Inception模块和多个IR模块的分类网络,其中,多个Inception模块包括剪枝Inception模块和非剪枝Inception模块,分类网络的批标准化BN层使用γ参数。

基于IRv2算法实现的分类网络结构,兼具Inception和ResNet的网络结构特点,具体来说,Inception网络结构中每层使用不同大小的卷积核来产生不同的感受野,然后将所有分支拼接起来以丰富每层的信息,即Inception网络结构可以通过增加神经网络的宽度来实现分类性能的提升;Resnet网络结构通过在一个浅层网络的基础上增加恒等映射(identity mapping)来解决神经网络随深度增加而退化的问题,使得可以把神经网络设计的很深,即ResNet网络结构通过增加网络的深度来实现分类性能的提升。

上面提到的各模块中,Stem模块主要是对图像进行多次卷积和池化,实现对图像的预处理。Inception模块源自Inception算法,例如包括Mixed_5系列(Mixed_5b、Mixed_5c、Mixed_5d)、Mixed_6系列(Mixed_6a~Mixed_6e)、Mixed_7系列(Mixed_7a、Mixed_7b、Mixed_7c)等模块,具体使用哪些种类的模块可以根据需求来进行选择。IR模块就是指Inception-ResNet模块,是IRv2算法所提出的将Inception与ResNet的结合。

在本申请的实施例中,将Inception模块分为了剪枝Inception模块和非剪枝Inception模块,即对部分Inception模块进行剪枝,而对部分Inception模块不进行剪枝。

在实践中,许多基于IRv2算法的分类网络并不在BN(batch normalization,批标准化)层使用γ参数,但在本申请的实施例中由于需要基于稀疏化的γ参数来进行剪枝,因此需要在构建分类网络时,在BN层使用γ参数。

步骤S120,对分类网络进行初始化,并对初始化的分类网络进行稀疏化训练,得到稀疏化的γ参数。关于稀疏化训练可以选用任一种现有技术中的方式来实现,本申请对此不做限制。

步骤S130,基于稀疏化的γ参数,对稀疏化训练后的分类网络进行剪枝处理,其中,对Stem模块、剪枝Inception模块和多个IR模块进行network slimming剪枝,对非剪枝Inception模块不进行network slimming剪枝。

具体地,可以参照如下方式对需要剪枝的模块进行network slimming剪枝:

1)首先对整个分类网络中的所有γ值进行排序,按照预定剪枝率确定阈值T。

2)然后逐个分析每一个卷积层,记录其后BN层中的γ参数小于阈值T的通道序号,记为I

3)对于需要剪枝的卷积层,其输入通道数由其上一层的输出通道数决定,其输出通道数由其后BN层中的γ值决定。假定当前卷积层的序号为k,则输入通道删除的通道序号为I

可见,图1所示的方法,通过有选择性地使用network slimming剪枝处理技术,对包括Stem模块、多个Inception模块和多个IR模块的分类网络进行合理剪枝,能够既保证分类网络的分类效果,同时实现网络结构的精简,从而提高训练效率,减少推理时间和内存占用,节省人力、工时和经费,使得分类网络可以部署在不同算力的硬件设备上。

在一些实施例中,分类网络的实现方法中,对稀疏化训练后的分类网络进行剪枝处理包括:对Stem模块中首个卷积层的输入通道,不进行network slimming剪枝。由于Stem模块中首个卷积层的输入通道是原始图像,因此不能够进行剪枝,该模块其余卷积层可以参照前述方式正常剪枝。

在一些实施例中,分类网络的实现方法中,对稀疏化训练后的分类网络进行剪枝处理包括:依据Stem模块中最后一个卷积层的输出通道的数量和序号,确定剪枝Inception模块中,每一个分支下首个卷积层的输入通道的数量和序号。

在该实施例中,剪枝Inception模块连接在Stem模块之后,因此剪枝Inception模块中,每一个分支下首个卷积层的输入通道应当与Stem模块中最后一个卷积层的输出通道相匹配,因此具体地,需要进行数量和序号的匹配。例如Stem模块中最后一个卷积层的输出通道的数量为32,序号为0、2、4、6……62,则对应地,剪枝Inception模块中,每一个分支下首个卷积层的输入通道数量也为32,序号同样为0、2、4、6……62,一一对应。

另外,剪枝Inception模块中其他卷积层不需要进行network slimming剪枝。

在一些实施例中,分类网络的实现方法中,Inception模块包括Mixed_5b模块和Mixed_7a模块,其中Mixed_5b模块为剪枝Inception模块,Mixed_7a模块为非剪枝Inception模块。

如前所述,Inception模块包括多个系列,在一些实施例中选用其中的Mixed_5b模块和Mixed_7a模块,并且对Mixed_5b模块进行剪枝,对Mixed_7a模块不进行剪枝。

在一些实施例中,分类网络的实现方法中,对稀疏化训练后的分类网络进行剪枝处理包括:对IR模块中每一个inception分支下的首个卷积层的输入通道,不进行networkslimming剪枝。

在一些实施例中,分类网络的实现方法中,对稀疏化训练后的分类网络进行剪枝处理包括:根据各inception分支中最后一个卷积层的输出通道的数量和序号,确定IR模块中,连接在concat层后的首个卷积层的输入通道的数量和序号。即各IR模块中可剪枝的卷积层是连接在concat层后的首个卷积层,IR模块中其他卷积层不可剪枝。

在一些实施例中,分类网络的实现方法中,对Stem模块、剪枝Inception模块和多个IR模块进行network slimming剪枝包括:对Block35模块、Block17模块以及Block8模块这三种IR模块进行network slimming剪枝。

图2示出了根据本申请一个实施例的基于IRv2算法的分类网络结构示意图,如图2所示,分类网络包括串联的Stem模块,Mixed_5b模块、10个Block35模块的组合、Mixed_6a模块,20个Block17模块的组合、Mixed_7a模块、10个Block8模块的组合、平均池化层(AveragePooling)、Dropout层、Softmax层。Stem模块用于接收输入(Input)。

图3示出了图2中Mixed_5b模块的网络结构示意图,如图3所示,Mixed_5b模块包括四个分支,第一分支包括使用1*1卷积核的64通道卷积层(Conv),使用3*3卷积核的96通道卷积层,使用3*3卷积核的96通道卷积层;第二分支包括使用1*1卷积核的48通道卷积层,以及使用5*5卷积核的64通道卷积层;第三分支包括192通道的平均池化层和使用1*1卷积核的64通道卷积层,第四分支包括使用1*1卷积核的96通道卷积层。各分支的输出经过320通道的concat层进行拼接后进行输出(Output)。

图3中,第一分支使用1*1卷积核的64通道卷积层、第二分支使用1*1卷积核的48通道卷积层、第四分支使用1*1卷积核的96通道卷积层可以进行剪枝,输入通道数量和序号根据Stem模块中最后一个卷积层的输出通道的数量和序号确定。

图4示出了图2中Block35模块的网络结构示意图,其中虚线框所表示的是可进行剪枝的卷积层。如图4所示,Block35模块包括三个分支,第一分支包括使用1*1卷积核的32通道卷积层、使用3*3卷积核的48通道卷积层、使用3*3卷积核的64通道卷积层;第二分支包括使用1*1卷积核的32通道卷积层和使用3*3卷积核的32通道卷积层;第三分支包括使用1*1卷积核的32通道卷积层。各分支的输出经过128通道的concat层进行拼接后进行特征输出,接下来经过一个可剪枝的使用1*1卷积核的320通道卷积层,再经过比例调整(scaledup)和激活(使用relu函数),得到该模块最终的特征输出。

图5示出了图2中Block17模块的网络结构示意图,其中虚线框所表示的是可进行剪枝的卷积层。如图5所示,Block35模块包括两个分支,第一分支包括使用1*1卷积核的128通道卷积层、使用1*7卷积核的160通道卷积层、使用7*1卷积核的192通道卷积层;第二分支包括卷积-批标准化-激活层CBA(26,1,192)。各分支的输出经过384通道的concat层进行拼接后进行特征输出,接下来经过一个可剪枝的使用1*1卷积核的1088通道卷积层,再经过比例调整和激活,得到该模块最终的特征输出。

图6示出了图2中Block8模块的网络结构示意图,其中虚线框所表示的是可进行剪枝的卷积层。如图4所示,Block35模块包括两个分支,第一分支包括使用1*1卷积核的192通道卷积层、使用1*3卷积核的224通道卷积层、使用3*1卷积核的256通道卷积层;第二分支包括使用1*1卷积核的192通道卷积层。各分支的输出经过448通道的concat层进行拼接后进行特征输出,接下来经过一个可剪枝的使用1*1卷积核的2080通道卷积层,再经过比例调整和激活,得到该模块最终的特征输出。

在一些实施例中,分类网络的实现方法还包括:对经过剪枝处理后的分类网络进行微调;若微调后的分类网络的剪枝率达到预设值,则输出微调后的分类网络;否则,对微调后的分类网络进行稀疏化训练,并对稀疏化训练后的分类网络再次进行剪枝处理。

由于本申请中γ参数主要用于确定哪些通道需要剪枝,因此在剪枝后,可以将分类网络中γ参数去掉,再进行分类网络的微调。若微调后分类网络剪枝率达到预期,效果也满足预期,则分类网络可以投入使用,如果不满足预期,则可以重新进行稀疏化训练,并再次利用稀疏化的γ参数进行network slimming剪枝。

通过实验证明,本申请实施例的方案可以减少分类网络的训练时间、退了时间,降低浮点运算次数(FlOPs)和参数量。

并且,本申请实施例的方案还能保持分类网络的分类效果。

在一组对照实验中,实验场景为对工业产品的缺陷检测,分类对象是1799张工业产品的待测图像(samples)。

对照网络为基于IRv2算法构建的网络,可参照图2;剪枝网络为对对照网络利用本实施例所示出的方法经0.2的剪枝率剪枝得到。

实验数据表明,剪枝网络的漏检(将有缺陷的工业产品分类为正常的工业产品,miss)率下降了0.2%,剪枝网络与对照网络的准确率(P)相同,均为98.3%,在该场景下,漏检率降低具有更强的实用意义。

并且,剪枝网络的训练时间(约为对照网络的93.1%)、推理时间(约为对照网络的90.2%)、FLOPs(浮点运算数,约为对照网络的81.5%)和参数量(约为对照网络的77.6%)相较于对照网络都有明显的下降,而二者的性能基本保持不变,而且还有可能带来意料之外的收获。

本申请实施例还提供一种分类网络的实现装置,用于实现如上任一所述的分类网络的实现方法。

具体地,图7示出了根据本申请一个实施例的分类网络的实现装置的结构示意图。如图7所示,分类网络的实现装置700包括:

构建单元710,用途基于IRv2算法构建包括Stem模块、多个Inception模块和多个IR模块的分类网络,其中,多个Inception模块包括剪枝Inception模块和非剪枝Inception模块,分类网络的批标准化BN层使用γ参数。

稀疏单元720,用于对分类网络进行初始化,并对初始化的分类网络进行稀疏化训练,得到稀疏化的γ参数。

剪枝单元730,用于基于稀疏化的γ参数,对稀疏化训练后的分类网络进行剪枝处理,其中,对Stem模块、剪枝Inception模块和多个IR模块进行network slimming剪枝,对非剪枝Inception模块不进行network slimming剪枝。

在一些实施例中,分类网络的实现装置中,剪枝单元730,用于对Stem模块中首个卷积层的输入通道,不进行network slimming剪枝处理。

在一些实施例中,分类网络的实现装置中,剪枝单元730,用于依据Stem模块中最后一个卷积层的输出通道的数量和序号,确定剪枝Inception模块中,每一个分支下首个卷积层的输入通道的数量和序号。

在一些实施例中,分类网络的实现装置中,Inception模块包括Mixed_5b模块和Mixed_7a模块,其中Mixed_5b模块为剪枝Inception模块,Mixed_7a模块为非剪枝Inception模块。

在一些实施例中,分类网络的实现装置中,剪枝单元730,用于对IR模块中每一个inception分支下的首个卷积层的输入通道,不进行network slimming剪枝。

在一些实施例中,分类网络的实现装置中,剪枝单元730,用于根据各inception分支中最后一个卷积层的输出通道的数量和序号,确定IR模块中,连接在concat层后的首个卷积层的输入通道的数量和序号。

在一些实施例中,分类网络的实现装置中,剪枝单元730,用于对Block35模块、Block17模块以及Block8模块这三种IR模块进行network slimming剪枝。

在一些实施例中,分类网络的实现装置还包括微调单元,用于对经过剪枝处理后的分类网络进行微调;若微调后的分类网络的剪枝率达到预设值,则输出微调后的分类网络;否则,使稀疏单元720对微调后的分类网络进行稀疏化训练,并使剪枝单元730对稀疏化训练后的分类网络再次进行剪枝处理。

能够理解,上述分类网络的实现装置,能够实现前述实施例中提供的分类网络的实现方法的各个步骤,关于分类网络的实现方法的相关阐释均适用于分类网络的实现装置,此处不再赘述。

本申请实施例还提供一种基于IRv2算法的分类网络,包括Stem模块、多个Inception模块和多个IR模块,Inception模块包括剪枝Inception模块和非剪枝Inception模块,Stem模块、剪枝Inception模块和IR模块经过network slimming剪枝,非剪枝Inception模块不经过network slimming剪枝。该分类网络的具体结构可以参考图2~图6。

图8是本申请的一个实施例电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。

处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。

处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成分类网络的实现装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:

基于IRv2算法构建包括Stem模块、多个Inception模块和多个IR模块的分类网络,其中,多个Inception模块包括剪枝Inception模块和非剪枝Inception模块,分类网络的批标准化BN层使用γ参数;对分类网络进行初始化,并对初始化的分类网络进行稀疏化训练,得到稀疏化的γ参数;基于稀疏化的γ参数,对Stem模块、剪枝Inception模块和多个IR模块进行network slimming剪枝,对非剪枝Inception模块不进行network slimming剪枝。

上述如本申请图1所示实施例揭示的分类网络的实现方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

该电子设备还可执行图1中分类网络的实现方法,并实现分类网络的实现装置在图7所示实施例的功能,本申请实施例在此不再赘述。

本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中分类网络的实现方法,并具体用于执行:

基于IRv2算法构建包括Stem模块、多个Inception模块和多个IR模块的分类网络,其中,多个Inception模块包括剪枝Inception模块和非剪枝Inception模块,分类网络的批标准化BN层使用γ参数;对分类网络进行初始化,并对初始化的分类网络进行稀疏化训练,得到稀疏化的γ参数;基于稀疏化的γ参数,对Stem模块、剪枝Inception模块和多个IR模块进行network slimming剪枝,对非剪枝Inception模块不进行network slimming剪枝。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 一种分类网络及其实现方法和装置
  • 网络流量分类方法、装置及实现装置
技术分类

06120112721514