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

神经网络激活函数的实现方法、结构、计算机设备及介质与流程

2022-05-21 02:58:34 来源:中国专利 TAG:
1.本发明实施例涉及深度学习
技术领域
:,尤其涉及一种神经网络激活函数的实现方法、结构、计算机设备及介质。
背景技术
::2.以深度学习为代表的人工智能(ai)算法广泛的应用于各行各业以及人们的日常生活中,这些算法普遍具有计算量大,任务复杂和精度高等特点。ai算法的这些特点促进了ai加速定制化芯片的快速发展,ai加速芯片通常会针对ai算法中的各种操作进行针对性的优化来达到更高的性能。深度学习的原理是模拟神经网络,其基本单元是神经元。激活函数(activationfunction)是神经元的基本功能,其对神经元的输入产生一个非线性的输出,从而将各层神经元的作用进行叠加,达到捕捉pattern的效果。深度学习中常见的activationfunction有很多种,最常用的有relu(rectifiedlinearunit),sigmoid,tanh,relu6以及leakyrelu,除此之外还有elu(exponentiallinearunits),mish,exponential,softsign,softplus以及swish等等函数。3.activationfunction作为ai算法中不可或缺的组成单元,ai芯片设计时也需要对activationfunction进行实现。为了能实现activationfunction各种形式的函数,ai芯片通常使用一个alu单元来完成函数的计算部分,alu的功能会设计得比较强大,通过组合拆分可以实现各种复杂的算术运算。考虑到ai芯片设计实现的复杂度和收益,实际ai芯片设计中通常采用int8,int16或者fp16的数据格式。由于activationfunction可以使用的函数形式较多,其中部分函数的形式非常复杂,即使采用最简单的int8数据格式,实现上述各种函数也会消耗非常多的硬件资源,同时对ai芯片的性能产生影响,不利于提升ai芯片的并行度。而且复杂的activationfunction需要进行拆分并分步执行,实际执行activationfunction的速度慢,导致ai芯片性能低下,同时使用alu分步实现activationfunction时需要多次读写buffer,也增加了ai芯片的功耗。技术实现要素:4.本发明实施例提供一种神经网络激活函数的实现方法、结构、计算机设备及介质,以简单快速的实现神经网络激活函数的功能,避免多次运算和存储,提升性能并节省功耗。5.第一方面,本发明实施例提供了一种神经网络激活函数的实现方法,该方法包括:6.预先在ai芯片中存储待用激活函数对应的查找表,所述待用激活函数以分段函数进行近似,并根据所述分段函数确定所述查找表的输入值及对应的输出值;7.获取所述待用激活函数的输入数据,并根据所述输入数据确定所述查找表的目标输入值;8.根据所述目标输入值进行查表,以获得对应的目标输出值,并根据所述目标输出值确定所述待用激活函数的输出数据。9.可选的,所述查找表复制有多个并分别进行存储;10.相应的,所述获取所述待用激活函数的输入数据,并根据所述输入数据确定所述查找表的目标输入值,包括:11.根据预设并行度同时获取多个所述输入数据,并分别确定多个所述目标输入值;12.相应的,所述根据所述目标输入值进行查表,以获得对应的目标输出值,包括:13.根据多个所述目标输入值同时并发在不同的所述查找表中进行查表,以获得各自对应的所述目标输出值。14.可选的,所述预先在ai芯片中存储待用激活函数对应的查找表,包括:15.复用所述ai芯片的原始ram存储空间,所述原始ram存储空间设计用于存储所述输入数据和所述输出数据,将所述原始ram存储空间切分为数据ram存储空间和查找表ram存储空间,并将所述查找表存储在所述查找表ram存储空间中;16.相应的,在所述获取所述待用激活函数的输入数据之前,还包括:17.将所述输入数据缓存到所述数据ram存储空间中。18.可选的,所述输入数据及所述查找表的数据格式为int16,所述查找表ram存储空间为分bank结构,所述根据所述输入数据确定所述查找表的目标输入值,包括:19.将所述输入数据的低段部分作为所述目标输入值;20.所述根据所述目标输入值进行查表,以获得对应的目标输出值,包括:21.根据所述查找表ram存储空间的bank数对所述目标输入值进行复制,并分别使用所述目标输入值对所述查找表ram存储空间的各个bank进行读取,以同时得到多个待选输出值;22.将所述输入数据的高段部分作为输出选择信号,并根据所述输出选择信号在各个所述待选输出值中确定所述目标输出值。23.可选的,在所述根据预设并行度同时获取多个所述输入数据,并分别确定多个所述目标输入值之前,还包括:24.根据所述原始ram存储空间的大小确定所述预设并行度。25.第二方面,本发明实施例还提供了一种神经网络激活函数的实现结构,应用本发明任意实施例所提供的神经网络激活函数的实现方法,该结构包括:数据ram存储空间、地址转换模块、查找表ram存储空间、选择器和数据重构模块;其中,26.所述数据ram存储空间用于存储待用激活函数的输入数据;27.所述地址转换模块用于从所述数据ram存储空间取出所述输入数据,并将所述输入数据转换成所述待用激活函数对应的查找表的目标输入值,并将所述目标输入值复制成目标份数后给到所述查找表ram存储空间;28.所述查找表ram存储空间为分bank结构,且bank数为所述目标份数,用于存储所述查找表,以及分别使用所述目标输入值对各个bank进行读取,以同时得到多个待选输出值给到所述选择器;29.所述地址转换模块还用于将所述输入数据转换成输出选择信号,并将所述输出选择信号给到所述选择器;30.所述选择器用于根据所述输出选择信号在各个所述待选输出值中确定目标输出值,并将所述目标输出值给到所述数据重构模块;31.所述数据重构模块用于对所述目标输出值进行收集缓存,并重构为ai芯片要求的数据格式,以得到所述待用激活函数的输出数据。32.可选的,所述查找表ram存储空间具体用于存储多份经复制的所述查找表;33.相应的,所述地址转换模块具体用于根据预设并行度同时接收多个所述输入数据,并分别转换成多个所述目标输入值后给到所述查找表ram存储空间,以及分别转换成多个所述输出选择信号后给到所述选择器;34.相应的,所述查找表ram存储空间具体用于根据多个所述目标输入值同时并发在不同的所述查找表中进行查表,以获得各个所述目标输入值对应的所述待选输出值并给到所述选择器;35.相应的,所述选择器具体用于根据各个所述输出选择信号分别在对应的所述待选输出值中确定对应的所述目标输出值。36.可选的,所述地址转换模块具体用于通过通用地址产生单元生成所述数据ram存储空间的读地址,并按照所述待用激活函数的执行顺序从所述数据ram存储空间取出各个所述输入数据。37.第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:38.一个或多个处理器;39.存储器,用于存储一个或多个程序;40.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的神经网络激活函数的实现方法。41.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的神经网络激活函数的实现方法。42.本发明实施例提供了一种神经网络激活函数的实现方法,首先预先在ai芯片中存储待用激活函数对应的查找表,其中的待用激活函数以分段函数进行近似,并可以根据该分段函数确定该查找表的输入值及对应的输出值,然后获取待用激活函数的输入数据,并根据该输入数据确定查找表的目标输入值,再根据该目标输入值进行查表,以在该查找表中确定对应的目标输出值,从而根据目标输出值确定待用激活函数的输出数据。本发明实施例所提供的神经网络激活函数的实现方法,通过使用分段函数来近似待用激活函数,并生成相应的查找表,以在使用该待用激活函数进行计算时,通过查表的方式确定计算结果,简单快速的实现了神经网络激活函数的功能,避免了多次运算和存储,从而提升了ai芯片的性能,并节省了功耗。附图说明43.图1为本发明实施例一提供的神经网络激活函数的实现方法的流程图;44.图2为本发明实施例二提供的神经网络激活函数的实现结构的示意图;45.图3为本发明实施例三提供的计算机设备的结构示意图。具体实施方式46.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。47.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。48.实施例一49.图1为本发明实施例一提供的神经网络激活函数的实现方法的流程图。本实施例可适用于运用神经网络激活函数进行相关计算的情况,该方法可以由本发明实施例所提供的神经网络激活函数的实现结构来实现,该结构一般可集成于ai芯片中。如图1所示,具体包括如下步骤:50.s11、预先在ai芯片中存储待用激活函数对应的查找表,所述待用激活函数以分段函数进行近似,并根据所述分段函数确定所述查找表的输入值及对应的输出值。51.具体的,本实施例所提供的实现方法可以在基于数据流架构的ai芯片上实现,因此可以预先将所需的查找表存储到ai芯片中,其中的查找表可以由外部程序根据需要执行的深度学习算法模型提前离线生成,并存储到外部存储模块ddr中,则ai芯片可以首先从ddr中读取待用激活函数对应的查找表数据并存储到查找表存储单元。查找表(lookuptable)是一种常用的硬件近似实现方式,具体可以通过分段函数近似目标的复杂函数来得到,则可以通过分段函数首先对待用激活函数进行近似,再根据该分段函数的自变量和因变量的取值确定对应查找表的输入值和输出值。假设待用激活函数为y=f(x),输入数据的取值范围为[a,b],则可以将x轴上a和b之间的范围分成n份,每份的间隔为δx,每个分段对应的y值可以取值为y=f(a δx*i),其中,i=0,1,2,…,则可以得到相应的分段函数。然后可以将每个分段δx用一个编号来表示,每一个编号对应一个输出值yn,这样即可得到查找表的输入值和对应的输出值,同时也节约了查找表所需的存储空间。其中,编号具体可以是上述的i值,即可以是相应的输出值在查找表存储单元中的存储地址,从而可以简单的通过该编号进行查表。[0052]s12、获取所述待用激活函数的输入数据,并根据所述输入数据确定所述查找表的目标输入值。[0053]具体的,在使用ai芯片运用待用激活函数进行计算时,可以首先按照待用激活函数的执行顺序读取到当前所需的输入数据,然后可以根据所采用的分段函数将该输入数据转换成查找表的目标输入值,即可以是查找表存储单元的读地址,以便后续进行查表。其中,待用激活函数所会用到的输入数据也可以预先存储到ai芯片中的数据存储单元,具体也可以从外部存储模块ddr中读取相应数据进行存储,还可以在ai芯片执行上一个深度学习算法操作时直接将其输出结果作为待用激活函数的输入数据进行存储。则在需要获取输入数据时,可以使用通用地址产生单元pbuf产生数据存储单元的读地址,然后从数据存储单元中按照待用激活函数的执行顺序取出当前所需的输入数据。[0054]s13、根据所述目标输入值进行查表,以获得对应的目标输出值,并根据所述目标输出值确定所述待用激活函数的输出数据。[0055]具体的,在确定了目标输入值之后,即可根据该目标输入值进行查表,得到的查表结果即为目标输出值。在得到目标输出值之后,可以对该目标输出值进行收集缓存以及数据重排调整等操作,从而最终重构得到满足ai芯片数据格式要求的输出数据,并可以将输出数据输出到外部存储模块ddr中。通过按照待用激活函数的执行顺序不断的进行上述操作,即可完成待用激活函数的计算过程。[0056]在上述技术方案的基础上,可选的,所述查找表复制有多个并分别进行存储;相应的,所述获取所述待用激活函数的输入数据,并根据所述输入数据确定所述查找表的目标输入值,包括:根据预设并行度同时获取多个所述输入数据,并分别确定多个所述目标输入值;相应的,所述根据所述目标输入值进行查表,以获得对应的目标输出值,包括:根据多个所述目标输入值同时并发在不同的所述查找表中进行查表,以获得各自对应的所述目标输出值。[0057]具体的,可以在将查找表存储到查找表存储单元时,同时对查找表进行复制存储操作,从而在查找表存储单元中同时存储多个相同的查找表,以实现并行计算,即同时针对多个输入数据计算相应的输出数据。相应的,可以根据预设并行度从数据存储单元中同时读取多个输入数据,并可以分别确定每个输入数据对应的目标输入值,再以预设并行度根据各个目标输入值同时并发在不同的查找表中进行查表,从而获得各自对应的目标输出值,进而确定各自对应的输出数据。其中,查找表的数量可以与预设并行度相同,以实现对查找表的最大化利用。[0058]进一步可选的,所述预先在ai芯片中存储待用激活函数对应的查找表,包括:复用所述ai芯片的原始ram存储空间,所述原始ram存储空间设计用于存储所述输入数据和所述输出数据,将所述原始ram存储空间切分为数据ram存储空间和查找表ram存储空间,并将所述查找表存储在所述查找表ram存储空间中;相应的,在所述获取所述待用激活函数的输入数据之前,还包括:将所述输入数据缓存到所述数据ram存储空间中。[0059]具体的,查找表可以使用一个存储单元(片上ram)来实现,并可以根据查找表要存储的内容和对应的数据格式计算得到其所需的ram空间大小。对于int8类型的数据,其输入存在2^8=256个值,因此对应需要存储256个输出值,每个输出值仍然为int8类型的数据,故总共需要256*8bit即256b的存储空间,同时如果需要并行执行查表操作,则需要256b*n的总存储空间,其中n为预设并行度。而对于int16类型的数据,其输入存在2^16个值,因此对应需要存储2^16个输出值,每个输出值仍然为int16类型的数据,故总共需要2^16*16bit即128kb的存储空间,同时如果需要并行执行查表操作,则需要128kb*n的总存储空间,其中n为预设并行度。相较而言,int8类型的数据需要的ram空间较小,ai芯片可以直接针对查表操作使用片上ram实现相应功能,但对于int16类型的数据,需要的ram空间很大,若使用片上ram则会使得ai芯片过于消耗。因此,在本实施例中可以复用ai芯片中原有的原始ram存储空间,将原本用于存储输入数据和输出数据的ram存储空间分出一部分来作为int16类型数据查表操作所需的查找表ram存储空间,即可作为上述的查找表存储单元,从而省去针对查找表分配的专用ram存储空间,然后再将对应的查找表存储在该查找表ram存储空间中备用,当然,针对int8类型的数据也同样可以采用此种存储方式。具体可以将原始ram存储空间切分为两块,一块作为数据ram存储空间(dataram),用来缓存待用激活函数的输入数据,即可作为上述的数据存储单元,另一块作为查找表ram存储空间(tableram),用来存储查找表。相应的,如上所述,在获取待用激活函数的输入数据之前,还可以首先将输入数据缓存到数据ram存储空间中。[0060]进一步可选的,所述输入数据及所述查找表的数据格式为int16,所述查找表ram存储空间为分bank结构,所述根据所述输入数据确定所述查找表的目标输入值,包括:将所述输入数据的低段部分作为所述目标输入值;所述根据所述目标输入值进行查表,以获得对应的目标输出值,包括:根据所述查找表ram存储空间的bank数对所述目标输入值进行复制,并分别使用所述目标输入值对所述查找表ram存储空间的各个bank进行读取,以同时得到多个待选输出值;将所述输入数据的高段部分作为输出选择信号,并根据所述输出选择信号在各个所述待选输出值中确定所述目标输出值。[0061]具体的,针对int16类型的数据,可以通过地址转换模块对从数据ram存储空间中读取到的输入数据进行转换,将每个输入数据分成高段和低段两部分,将低段部分提取出来作为目标输入值,即可以是查找表ram存储空间的读地址。由于缓存输入数据的ram通常设计为分bank结构,以通过并行访问实现更快的读取速度,因此将其复用为查找表ram存储空间时也存在多个bank,根据此结构,地址转换模块同时会根据bank数对得到的目标输入值做复制操作,得到对应的多份读地址,从而针对每个查找表使用该多份读地址分别读取多个bank,以同时得到多个待选输出值。同时地址转换模块可以将输入数据的高段部分提取出来作为输出选择信号,多个待选输出值可以通过选择器根据该输出选择信号进行选择,以将其中一个待选输出值作为目标输出值。针对以预设并行度同时进行多个查表操作的方案,则可以同时针对多组待选输出值进行选择,以得到对应的多个目标输出值。最后可以通过数据重构模块对多个目标输出值进行收集和数据重排,从而将目标输出值重构成ai芯片需要的特定输出格式数据,并进行缓存或者输出到片外存储模块ddr中。[0062]进一步可选的,在所述根据预设并行度同时获取多个所述输入数据,并分别确定多个所述目标输入值之前,还包括:根据所述原始ram存储空间的大小确定所述预设并行度。具体的,可以根据ai芯片设计时设定的用于缓存输入数据的原始ram存储空间的大小不同,对应实现不同的查找表并行度。示例性的,假设原始ram存储空间的大小可以分配0.5mb的ram空间作为查找表ram存储空间,此时查找表ram存储空间中可以存放0.5mb/128kb=4个查找表(int16类型),则在上述查找表存储操作时可以同时存放四份相同的查找表数据,进而在执行查表操作时每次可同时执行四次操作,即实现了预设并行度为4的查表操作。[0063]本发明实施例所提供的技术方案,首先预先在ai芯片中存储待用激活函数对应的查找表,其中的待用激活函数以分段函数进行近似,并可以根据该分段函数确定该查找表的输入值及对应的输出值,然后获取待用激活函数的输入数据,并根据该输入数据确定查找表的目标输入值,再根据该目标输入值进行查表,以在该查找表中确定对应的目标输出值,从而根据目标输出值确定待用激活函数的输出数据。通过使用分段函数来近似待用激活函数,并生成相应的查找表,以在使用该待用激活函数进行计算时,通过查表的方式确定计算结果,简单快速的实现了神经网络激活函数的功能,避免了多次运算和存储,从而提升了ai芯片的性能,并节省了功耗。[0064]实施例二[0065]图2为本发明实施例二提供的神经网络激活函数的实现结构的示意图,该结构一般可集成于ai芯片中,可以应用本发明任意实施例所提供的神经网络激活函数的实现方法,具备执行方法相应的功能模块和有益效果。如图2所示,该结构包括:数据ram存储空间21、地址转换模块22、查找表ram存储空间23、选择器24和数据重构模块25;其中,所述数据ram存储空间21用于存储待用激活函数的输入数据;所述地址转换模块22用于从所述数据ram存储空间21取出所述输入数据,并将所述输入数据转换成所述待用激活函数对应的查找表的目标输入值,并将所述目标输入值复制成目标份数后给到所述查找表ram存储空间23;所述查找表ram存储空间23为分bank结构,且bank数为所述目标份数,用于存储所述查找表,以及分别使用所述目标输入值对各个bank进行读取,以同时得到多个待选输出值给到所述选择器24;所述地址转换模块22还用于将所述输入数据转换成输出选择信号,并将所述输出选择信号给到所述选择器24;所述选择器24用于根据所述输出选择信号在各个所述待选输出值中确定目标输出值,并将所述目标输出值给到所述数据重构模块25;所述数据重构模块25用于对所述目标输出值进行收集缓存,并重构为ai芯片要求的数据格式,以得到所述待用激活函数的输出数据。[0066]可选的,所述查找表ram存储空间23具体用于存储多份经复制的所述查找表;相应的,所述地址转换模块22具体用于根据预设并行度同时接收多个所述输入数据,并分别转换成多个所述目标输入值后给到所述查找表ram存储空间23,以及分别转换成多个所述输出选择信号后给到所述选择器24;相应的,所述查找表ram存储空间23具体用于根据多个所述目标输入值同时并发在不同的所述查找表中进行查表,以获得各个所述目标输入值对应的所述待选输出值并给到所述选择器24;相应的,所述选择器24具体用于根据各个所述输出选择信号分别在对应的所述待选输出值中确定对应的所述目标输出值。[0067]进一步可选的,所述地址转换模块22具体用于通过通用地址产生单元生成所述数据ram存储空间21的读地址,并按照所述待用激活函数的执行顺序从所述数据ram存储空间21取出各个所述输入数据。[0068]其中的具体过程可以参考上述实施例中的说明,在此将不再冗述。[0069]本发明实施例所提供的技术方案,通过使用待用激活函数相应的查找表,以在使用该待用激活函数进行计算时,通过查表的方式确定计算结果,简单快速的实现了神经网络激活函数的功能,避免了多次运算和存储,从而提升了ai芯片的性能,并节省了功耗。[0070]实施例三[0071]图3为本发明实施例三提供的计算机设备的结构示意图,示出了适于用来实现本发明实施方式的示例性计算机设备的框图。图3显示的计算机设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图3所示,该计算机设备包括处理器31、存储器32、输入装置33及输出装置34;计算机设备中处理器31的数量可以是一个或多个,图3中以一个处理器31为例,计算机设备中的处理器31、存储器32、输入装置33及输出装置34可以通过总线或其他方式连接,图3中以通过总线连接为例。[0072]存储器32作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的神经网络激活函数的实现方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的神经网络激活函数的实现方法。[0073]存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器32可进一步包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。[0074]输入装置33可用于获取待用激活函数的输入数据和查找表数据,以及产生与计算机设备的用户设置和功能控制有关的键信号输入等。输出装置34可用于向外传送计算得到的输出数据等等。[0075]实施例四[0076]本发明实施例四还提供一种包含计算机可执行指令的存储介质,该计算机可执行指令在由计算机处理器执行时用于执行一种神经网络激活函数的实现方法,该方法包括:[0077]预先在ai芯片中存储待用激活函数对应的查找表,所述待用激活函数以分段函数进行近似,并根据所述分段函数确定所述查找表的输入值及对应的输出值;[0078]获取所述待用激活函数的输入数据,并根据所述输入数据确定所述查找表的目标输入值;[0079]根据所述目标输入值进行查表,以获得对应的目标输出值,并根据所述目标输出值确定所述待用激活函数的输出数据。[0080]存储介质可以是任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddrram、sram、edoram、兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到计算机系统。第二计算机系统可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。[0081]当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的神经网络激活函数的实现方法中的相关操作。[0082]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。[0083]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。[0084]通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。[0085]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。当前第1页12当前第1页12
再多了解一些

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

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

相关文献