设备处理器选择方法、系统、终端设备及存储介质
技术领域
本发明属于电子通信领域,尤其涉及一种设备处理器选择方法、系统、终端设备及存储介质。
背景技术
随着时代的发展和科技的进步,处理器的功能也越来越强大,在终端设备上可以通过部署多个处理器,以达到提供处理器性能的效果,例如,在移动端手机上就部署有中央处理器(CPU)和图形处理器(GPU),CPU和GPU的分工不相同,CPU擅长逻辑控制,GPU擅长并行运算,现在很多深度学习的推理都放到GPU上进行运算。但是由于神经网络中计算量等因素的影响,使得在GPU上进行神经网络的推理并不一定是比CPU快,因此,针对神经网络的推理过程,设备处理器选择的问题越来越受人们所重视。
现在设备处理器的选择,均是通过人工测试的方式进行设备处理器选择,即,通过人工测试神经网络在同一设备的不同处理器上的运行时间,基于测试到的运行时间对设备上的处理器进行选择,但由于采用人工测试的方式进行设备处理器选择,导致设备处理器选择的耗时较长,降低了设备处理器选择的效率。
发明内容
本发明实施例的目的在于提供一种设备处理器选择方法、系统、终端设备及存储介质,旨在解决现有的设备处理器选择过程中,由于采用人工测试的方式进行设备处理器的选择,所导致的设备处理器选择效率低下的问题。
本发明实施例是这样实现的,一种设备处理器选择方法,所述方法包括:
获取待部署神经网络的计算量信息,并根据所述计算量信息确定所述待部署神经网络的计算量变量值,所述计算量信息包括所述待部署神经网络的总计算量和卷积计算量,所述计算量变量值用于表征所述待部署神经网络计算量的复杂程度;
获取目标设备的设备信息,并根据所述设备信息确定所述目标设备的设备变量值,所述设备信息包括设备运行速度和内存值,所述设备变量值用于表征所述目标设备的设备性能;
根据所述计算量变量值和所述设备变量值,确定所述待部署神经网络与所述目标设备之间的部署变量值,并根据所述部署变量值对所述目标设备中的处理器进行选择,所述部署变量值用于表征所述待部署神经网络部署在所述目标设备上时,不同处理器之间处理所述待部署神经网络的性能差距。
更进一步的,所述根据所述计算量信息确定所述待部署神经网络的计算量变量值,包括:
确定样本神经网络中的最大总计算量和最小总计算量,并计算所述最大总计算量与所述最小总计算量之间的差值,得到计算量差值;
计算所述待部署神经网络的总计算量与所述计算量差值之间的商值,得到第一计算量变量值;
计算所述待部署神经网络中,3x3卷积的卷积计算量与总计算量之间的商值,得到第二计算量变量值;
计算所述待部署神经网络中,1x1卷积的卷积计算量与总计算量之间的商值,得到第三计算量变量值;
所述计算量变量值包括所述第一计算量变量值、所述第二计算量变量值和所述第三计算量变量值。
更进一步的,所述根据所述设备信息确定所述目标设备的设备变量值,包括:
确定样本设备中的最大内存值和最小内存值,并计算所述最大内存值与所述最小内存值之间的差值,得到内存差值;
计算所述目标设备的内存值与所述内存差值之间的商值,得到第一设备变量值;
确定所述样本设备中的最大运行速度和最小运行速度,并计算所述最大运行速度与所述最小运行速度之间的差值,得到运行速度差值;
计算所述目标设备的设备运行速度与所述运行速度差值之间的商值,得到第二设备变量值;
所述设备变量值包括所述第一设备变量值和所述第二设备变量值。
更进一步的,所述方法还包括:
分别确定样本神经网络在不同样本设备的处理器上的运行时间,并根据所述运行时间,确定样本神经网络在不同所述样本设备上的样本部署变量值;
确定所述样本神经网络中的最大总计算量和最小总计算量,并计算所述最大总计算量与所述最小总计算量之间的差值,得到计算量差值;
分别计算每个所述样本神经网络的总计算量与所述计算量差值之间的商值,得到第一样本变量值;
分别计算每个所述样本神经网络中,3x3卷积的卷积计算量与总计算量之间的商值,得到第二样本变量值;
分别计算每个所述样本神经网络中,1x1卷积的卷积计算量与总计算量之间的商值,得到第三样本变量值;
确定所述样本设备中的最大内存值和最小内存值,并计算所述最大内存值与所述最小内存值之间的差值,得到内存差值;
分别计算每个所述样本设备的内存值与所述内存差值之间的商值,得到第四样本变量值;
确定所述样本设备中的最大运行速度和最小运行速度,并计算所述最大运行速度与所述最小运行速度之间的差值,得到运行速度差值;
分别计算每个所述样本设备的设备运行速度与所述运行速度差值之间的商值,得到第五样本变量值;
根据所述样本部署变量值、所述第一样本变量值、所述第二样本变量值、所述第三样本变量值、所述第四样本变量值和所述第五样本变量值,求解近似方程中的变量系数。
更进一步的,每个所述样本设备上均设置有第一处理器和第二处理器,所述根据所述运行时间,确定样本神经网络在不同所述样本设备上的样本部署变量值所采用的计算公式为:
Y=(Gtime-Ctime)/Gtime
Y是所述样本部署变量值,Gtime是所述第一处理器运行所述样本神经网络的运行时间,Ctime是所述第二处理器运行所述样本神经网络的运行时间。
更进一步的,所述根据所述计算量变量值和所述设备变量值,确定所述待部署神经网络与所述目标设备之间的部署变量值,包括:
根据求解后的所述近似方程,对所述计算量变量值和所述设备变量值进行变量值运算,得到所述部署变量值。
更进一步的,所述获取待部署神经网络的计算量信息之前,还包括:
分别获取所述待部署神经网络和所述目标设备的标识,得到网络标识和设备标识;
若所述网络标识与所述设备标识是预设标识组合,则查询所述预设标识组合在所述目标设备中对应的处理器;
根据所述目标设备中查询到的处理器对所述待部署神经网络进行部署。
本发明实施例的另一目的在于提供一种设备处理器选择系统,所述系统包括:
计算量变量值确定模块,用于获取待部署神经网络的计算量信息,并根据所述计算量信息确定所述待部署神经网络的计算量变量值,所述计算量信息包括所述待部署神经网络的总计算量和卷积计算量,所述计算量变量值用于表征所述待部署神经网络计算量的复杂程度;
设备变量值确定模块,用于获取目标设备的设备信息,并根据所述设备信息确定所述目标设备的设备变量值,所述设备信息包括设备运行速度和内存值,所述设备变量值用于表征所述目标设备的设备性能;
部署变量值确定模块,用于根据所述计算量变量值和所述设备变量值,确定所述待部署神经网络与所述目标设备之间的部署变量值,并根据所述部署变量值对所述目标设备中的处理器进行选择,所述部署变量值用于表征所述待部署神经网络部署在所述目标设备上时,不同处理器之间处理所述待部署神经网络的性能差距。
本发明实施例的另一目的在于提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
本发明实施例的另一目的在于提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明实施例,通过获取待部署神经网络的计算量信息,基于计算量信息能有效地确定到待部署神经网络的计算量的复杂程度,通过获取目标设备的设备信息,基于设备信息能有效地确定到目标设备的设备性能,基于待部署神经网络的计算量的复杂程度和目标设备的设备性能,能有效地确定到目标设备上,不同处理器之间处理待部署神经网络的性能差距,基于不同处理器之间的性能差距,能自动对目标设备上的处理器进行选择,无需采用人工测试的方式进行处理器的选择,提高了设备处理器选择的准确性和效率性。
附图说明
图1是本发明第一实施例提供的设备处理器选择方法的流程图;
图2是本发明第二实施例提供的设备处理器选择方法的流程图;
图3是本发明第三实施例提供的设备处理器选择系统的结构示意图;
图4是本发明第四实施例提供的终端设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
请参阅图1,是本发明第一实施例提供的设备处理器选择方法的流程图,该设备处理器选择方法可以应用与任一终端设备,该终端设备包括手机、平板或可穿戴智能设备等,该设备处理器选择方法包括步骤:
步骤S10,获取待部署神经网络的计算量信息,并根据所述计算量信息确定所述待部署神经网络的计算量变量值;
其中,该计算量信息包括待部署神经网络的总计算量和卷积计算量,该总计算量为待部署神经网络中乘加计算的总次数,该计算量变量值用于表征待部署神经网络计算量的复杂程度,不同待部署神经网络之间的总计算量和卷积计算量可以不相同。
该步骤中,该卷积计算量包括待部署神经网络中不能大小卷层对应的计算量,通过获取待部署神经网络的计算量信息,基于计算量信息能有效地确定到待部署神经网络的计算量的复杂程度。
步骤S20,获取目标设备的设备信息,并根据所述设备信息确定所述目标设备的设备变量值;
其中,该设备信息包括设备运行速度和内存值,该设备运行速度为目标设备在单位时间内运行数据的大小,该设备变量值用于表征目标设备的设备性能,当该设备运行速度越大时,则判定该目标设备的性能越好。
步骤S30,根据所述计算量变量值和所述设备变量值,确定所述待部署神经网络与所述目标设备之间的部署变量值,并根据所述部署变量值对所述目标设备中的处理器进行选择;
其中,该部署变量值用于表征待部署神经网络部署在目标设备上时,不同处理器之间处理待部署神经网络的性能差距;
可选的,该步骤中,当目标设备上部署有两个不相同的处理器时,若该部署变量值大于0,则判定第一处理器对待部署神经网络的处理性能高于第二处理器,若该部署变量值小于0,则判定第二处理器对待部署神经网络的处理性能高于第一处理器,且当部署变量值的绝对值越大时,则判定两个处理器之间对待部署神经网络的处理性能差距越大。
可选的,该步骤中,所述根据所述计算量变量值和所述设备变量值,确定所述待部署神经网络与所述目标设备之间的部署变量值之前,还包括:
分别确定样本神经网络在不同样本设备的处理器上的运行时间,并根据所述运行时间,确定样本神经网络在不同所述样本设备上的样本部署变量值;
其中,该样本神经网络和样本设备的数量、型号均可以根据需求进行设置,该步骤中,通过将不同样本神经网络分别在不同的样本设备上进行运算,以确定样本神经网络在不同样本设备的处理器上的运行时间。
进一步地,该步骤中,每个所述样本设备上均设置有第一处理器和第二处理器,所述根据所述运行时间,确定样本神经网络在不同所述样本设备上的样本部署变量值所采用的计算公式为:
Y=(Gtime-Ctime)/Gtime
Y是所述样本部署变量值,Gtime是所述第一处理器运行所述样本神经网络的运行时间,Ctime是所述第二处理器运行所述样本神经网络的运行时间。
确定所述样本神经网络中的最大总计算量和最小总计算量,并计算所述最大总计算量与所述最小总计算量之间的差值,得到计算量差值;
其中,最大总计算量为Tmax,最小总计算量为Tmin,通过计算Tmax,与Tmin之间的差值,得到该计算量差值。
分别计算每个所述样本神经网络的总计算量与所述计算量差值之间的商值,得到第一样本变量值;
其中,样本神经网络的总计算量为T,则:
第一样本变量值X1=T/(Tmanx-Tmin)。
分别计算每个所述样本神经网络中,3x3卷积的卷积计算量与总计算量之间的商值,得到第二样本变量值;
其中,3x3卷积的卷积计算量为T3x3,则第二样本变量值X2=T3x3/T。
分别计算每个所述样本神经网络中,1x1卷积的卷积计算量与总计算量之间的商值,得到第三样本变量值;
其中,其中,1x1卷积的卷积计算量为T1x1,则第三样本变量值X3=T1x1/T。
确定所述样本设备中的最大内存值和最小内存值,并计算所述最大内存值与所述最小内存值之间的差值,得到内存差值;
其中,最大内存值为Mmax,最小内存值为Min,通过计算Mmax与Min之间的差值,得到该内存差值。
分别计算每个所述样本设备的内存值与所述内存差值之间的商值,得到第四样本变量值;
其中,样本设备的内存值为M,则第四样本变量值X4=M/(Mmax-Mmin)。
确定所述样本设备中的最大运行速度和最小运行速度,并计算所述最大运行速度与所述最小运行速度之间的差值,得到运行速度差值;
其中,最大运行速度为Smax,最小运行速度为Smin,通过计算Smax与Smin之间的差值,得到该运行速度差值。
分别计算每个所述样本设备的设备运行速度与所述运行速度差值之间的商值,得到第五样本变量值;
其中,样本设备的设备运行速度为S,则:
第五样本变量值X5=S/(Smax-Smin)。
根据所述样本部署变量值、所述第一样本变量值、所述第二样本变量值、所述第三样本变量值、所述第四样本变量值和所述第五样本变量值,求解近似方程中的变量系数;
其中,选择近似方程Y=a0+a1*X1+a2*X2+a3*X3+a4*X4+a5*X5,并通过最小二乘原理来求解上述方程中的所有系数(a1、a2、a3、a4、a5),使得求解后的近似方程能有效地计算到不同待部署神经网络与目标设备之间的部署变量值,Y为部署变量值。
更进一步地,该步骤中,所述根据所述计算量变量值和所述设备变量值,确定所述待部署神经网络与所述目标设备之间的部署变量值,包括:
根据求解后的所述近似方程,对所述计算量变量值和所述设备变量值进行变量值运算,得到所述部署变量值;
其中,将计算量变量值和设备变量值代入求解后的近似方程进行运算,得到待部署神经网络与目标设备之间的部署变量值。
本实施例,通过获取待部署神经网络的计算量信息,基于计算量信息能有效地确定到待部署神经网络的计算量的复杂程度,通过获取目标设备的设备信息,基于设备信息能有效地确定到目标设备的设备性能,基于待部署神经网络的计算量的复杂程度和目标设备的设备性能,能有效地确定到目标设备上,不同处理器之间处理待部署神经网络的性能差距,基于不同处理器之间的性能差距,能自动对目标设备上的处理器进行选择,无需采用人工测试的方式进行处理器的选择,提高了设备处理器选择的准确性和效率性。
实施例二
请参阅图2,是本发明第二实施例提供的设备处理器选择方法的流程图,该实施例用于对步骤S20至步骤S30作进一步细化,包括步骤:
步骤S21,确定样本神经网络中的最大总计算量和最小总计算量,并计算所述最大总计算量与所述最小总计算量之间的差值,得到计算量差值;
其中,最大总计算量为Tmax,最小总计算量为Tmin,通过计算Tmax,与Tmin之间的差值,得到该计算量差值。
步骤S22,计算所述待部署神经网络的总计算量与所述计算量差值之间的商值,得到第一计算量变量值;
其中,样本神经网络的总计算量为T1,则:第一计算量变量值=T1/(Tmanx-Tmin)。
步骤S23,分别计算所述待部署神经网络中,3x3卷积和1x1卷积的卷积计算量与总计算量之间的商值,得到第二计算量变量值和第三计算量变量值;
其中,该计算量变量值包括第一计算量变量值、第二计算量变量值和第三计算量变量值;
该步骤中,待部署神经网络中,3x3卷积的卷积计算量为T2,1x1卷积的卷积计算量T3,则:第二计算量变量值=T2/T1,第三计算变量值=T3/T1。
步骤S24,确定样本设备中的最大内存值和最小内存值,并计算所述最大内存值与所述最小内存值之间的差值,得到内存差值;
其中,最大内存值为Mmax,最小内存值为Min,通过计算Mmax与Min之间的差值,得到该内存差值。
步骤S25,计算所述目标设备的内存值与所述内存差值之间的商值,得到第一设备变量值;
其中,样本设备的内存值为M1,则第一设备变量值=M1/(Mmax-Mmin)。
步骤S26,确定所述样本设备中的最大运行速度和最小运行速度,并计算所述最大运行速度与所述最小运行速度之间的差值,得到运行速度差值;
其中,最大运行速度为Smax,最小运行速度为Smin,通过计算Smax与Smin之间的差值,得到该运行速度差值。
步骤S27,计算所述目标设备的设备运行速度与所述运行速度差值之间的商值,得到第二设备变量值;
其中,该设备变量值包括第一设备变量值和第二设备变量值,目标设备的设备运行速度为S1,则第二设备变量值=S1/(Smax-Smin)。
本实施例,将第一计算量变量值代入求解后的近似方程中的X1中,将第二计算量变量值代入求解后的近似方程中的X2中,将第三计算量变量值代入求解后的近似方程中的X3中,将第一设备量变量值代入求解后的近似方程中的X4中,将第二设备量变量值代入求解后的近似方程中的X5中,并基于求解后的a1、a2、a3、a4、a5进行运算,得到该待部署神经网络与目标设备之间的部署变量值。
实施例三
请参阅图3,是本发明第三实施例提供的设备处理器选择系统100的结构示意图,包括:计算量变量值确定模块10、设备变量值确定模块11和部署变量值确定模块12,其中:
计算量变量值确定模块10,用于获取待部署神经网络的计算量信息,并根据所述计算量信息确定所述待部署神经网络的计算量变量值,所述计算量信息包括所述待部署神经网络的总计算量和卷积计算量,所述计算量变量值用于表征所述待部署神经网络计算量的复杂程度。
其中,该计算量变量值确定模块10还用于:确定样本神经网络中的最大总计算量和最小总计算量,并计算所述最大总计算量与所述最小总计算量之间的差值,得到计算量差值;
计算所述待部署神经网络的总计算量与所述计算量差值之间的商值,得到第一计算量变量值;
计算所述待部署神经网络中,3x3卷积的卷积计算量与总计算量之间的商值,得到第二计算量变量值;
计算所述待部署神经网络中,1x1卷积的卷积计算量与总计算量之间的商值,得到第三计算量变量值;
所述计算量变量值包括所述第一计算量变量值、所述第二计算量变量值和所述第三计算量变量值。
进一步地,该计算量变量值确定模块10还用于:分别获取所述待部署神经网络和所述目标设备的标识,得到网络标识和设备标识;
若所述网络标识与所述设备标识是预设标识组合,则查询所述预设标识组合在所述目标设备中对应的处理器;
根据所述目标设备中查询到的处理器对所述待部署神经网络进行部署。
设备变量值确定模块11,用于获取目标设备的设备信息,并根据所述设备信息确定所述目标设备的设备变量值,所述设备信息包括设备运行速度和内存值,所述设备变量值用于表征所述目标设备的设备性能。
其中,该设备变量值确定模块11还用于:确定样本设备中的最大内存值和最小内存值,并计算所述最大内存值与所述最小内存值之间的差值,得到内存差值;
计算所述目标设备的内存值与所述内存差值之间的商值,得到第一设备变量值;
确定所述样本设备中的最大运行速度和最小运行速度,并计算所述最大运行速度与所述最小运行速度之间的差值,得到运行速度差值;
计算所述目标设备的设备运行速度与所述运行速度差值之间的商值,得到第二设备变量值;
所述设备变量值包括所述第一设备变量值和所述第二设备变量值。
部署变量值确定模块12,用于根据所述计算量变量值和所述设备变量值,确定所述待部署神经网络与所述目标设备之间的部署变量值,并根据所述部署变量值对所述目标设备中的处理器进行选择,所述部署变量值用于表征所述待部署神经网络部署在所述目标设备上时,不同处理器之间处理所述待部署神经网络的性能差距。
可选的,本实施例中,该设备处理器选择系统100还包括:
近似方程求解模块13,用于分别确定样本神经网络在不同样本设备的处理器上的运行时间,并根据所述运行时间,确定样本神经网络在不同所述样本设备上的样本部署变量值;
确定所述样本神经网络中的最大总计算量和最小总计算量,并计算所述最大总计算量与所述最小总计算量之间的差值,得到计算量差值;
分别计算每个所述样本神经网络的总计算量与所述计算量差值之间的商值,得到第一样本变量值;
分别计算每个所述样本神经网络中,3x3卷积的卷积计算量与总计算量之间的商值,得到第二样本变量值;
分别计算每个所述样本神经网络中,1x1卷积的卷积计算量与总计算量之间的商值,得到第三样本变量值;
确定所述样本设备中的最大内存值和最小内存值,并计算所述最大内存值与所述最小内存值之间的差值,得到内存差值;
分别计算每个所述样本设备的内存值与所述内存差值之间的商值,得到第四样本变量值;
确定所述样本设备中的最大运行速度和最小运行速度,并计算所述最大运行速度与所述最小运行速度之间的差值,得到运行速度差值;
分别计算每个所述样本设备的设备运行速度与所述运行速度差值之间的商值,得到第五样本变量值;
根据所述样本部署变量值、所述第一样本变量值、所述第二样本变量值、所述第三样本变量值、所述第四样本变量值和所述第五样本变量值,求解近似方程中的变量系数。
进一步地,每个所述样本设备上均设置有第一处理器和第二处理器,所述根据所述运行时间,确定样本神经网络在不同所述样本设备上的样本部署变量值所采用的计算公式为:
Y=(Gtime-Ctime)/Gtime
Y是所述样本部署变量值,Gtime是所述第一处理器运行所述样本神经网络的运行时间,Ctime是所述第二处理器运行所述样本神经网络的运行时间。
更进一步地,该部署变量值确定模块12还用于:根据求解后的所述近似方程,对所述计算量变量值和所述设备变量值进行变量值运算,得到所述部署变量值。
本实施例,通过获取待部署神经网络的计算量信息,基于计算量信息能有效地确定到待部署神经网络的计算量的复杂程度,通过获取目标设备的设备信息,基于设备信息能有效地确定到目标设备的设备性能,基于待部署神经网络的计算量的复杂程度和目标设备的设备性能,能有效地确定到目标设备上,不同处理器之间处理待部署神经网络的性能差距,基于不同处理器之间的性能差距,能自动对目标设备上的处理器进行选择,无需采用人工测试的方式进行处理器的选择,提高了设备处理器选择的准确性和效率性。
实施例四
图4是本申请第四实施例提供的一种终端设备2的结构框图。如图4所示,该实施例的终端设备2包括:处理器20、存储器21以及存储在所述存储器21中并可在所述处理器20上运行的计算机程序22,例如设备处理器选择方法的程序。处理器20执行所述计算机程序23时实现上述各个设备处理器选择方法各实施例中的步骤,例如图1所示的S10至S30,或者图2所示的S21至S27。或者,所述处理器20执行所述计算机程序22时实现上述图3对应的实施例中各单元的功能,例如,图3所示的单元10至13的功能,具体请参阅图3对应的实施例中的相关描述,此处不赘述。
示例性的,所述计算机程序22可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器21中,并由所述处理器20执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序22在所述终端设备2中的执行过程。例如,所述计算机程序22可以被分割成计算量变量值确定模块10、设备变量值确定模块11、部署变量值确定模块12和近似方程求解模块13,各单元具体功能如上所述。
所述终端设备可包括,但不仅限于,处理器20、存储器21。本领域技术人员可以理解,图4仅仅是终端设备2的示例,并不构成对终端设备2的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器20可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器21可以是所述终端设备2的内部存储单元,例如终端设备2的硬盘或内存。所述存储器21也可以是所述终端设备2的外部存储设备,例如所述终端设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器21还可以既包括所述终端设备2的内部存储单元也包括外部存储设备。所述存储器21用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器21还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。其中,计算机可读存储介质可以是非易失性的,也可以是易失性的。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。