CN113408718A - 设备处理器选择方法、***、终端设备及存储介质 - Google Patents
设备处理器选择方法、***、终端设备及存储介质 Download PDFInfo
- Publication number
- CN113408718A CN113408718A CN202110633567.2A CN202110633567A CN113408718A CN 113408718 A CN113408718 A CN 113408718A CN 202110633567 A CN202110633567 A CN 202110633567A CN 113408718 A CN113408718 A CN 113408718A
- Authority
- CN
- China
- Prior art keywords
- value
- neural network
- sample
- variable value
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010187 selection method Methods 0.000 title claims description 18
- 238000013528 artificial neural network Methods 0.000 claims abstract description 144
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims description 94
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012360 testing method Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种设备处理器选择方法、***、终端设备及存储介质,该方法包括:根据待部署神经网络的计算量信息确定待部署神经网络的计算量变量值;获取目标设备的设备信息,根据所述设备信息确定目标设备的设备变量值;根据计算量变量值和所述设备变量值,确定待部署神经网络与目标设备之间的部署变量值,根据部署变量值对目标设备中的处理器进行选择。本发明基于待部署神经网络的计算量的复杂程度和目标设备的设备性能,不同处理器之间处理待部署神经网络的性能差距,基于不同处理器之间的性能差距,能自动对目标设备上的处理器进行选择,无需采用人工测试的方式进行处理器的选择,提高了设备处理器选择的准确性和效率性。
Description
技术领域
本发明属于电子通信领域,尤其涉及一种设备处理器选择方法、***、终端设备及存储介质。
背景技术
随着时代的发展和科技的进步,处理器的功能也越来越强大,在终端设备上可以通过部署多个处理器,以达到提供处理器性能的效果,例如,在移动端手机上就部署有中央处理器(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)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种设备处理器选择方法,其特征在于,所述方法包括:
获取待部署神经网络的计算量信息,并根据所述计算量信息确定所述待部署神经网络的计算量变量值,所述计算量信息包括所述待部署神经网络的总计算量和卷积计算量,所述计算量变量值用于表征所述待部署神经网络计算量的复杂程度;
获取目标设备的设备信息,并根据所述设备信息确定所述目标设备的设备变量值,所述设备信息包括设备运行速度和内存值,所述设备变量值用于表征所述目标设备的设备性能;
根据所述计算量变量值和所述设备变量值,确定所述待部署神经网络与所述目标设备之间的部署变量值,并根据所述部署变量值对所述目标设备中的处理器进行选择,所述部署变量值用于表征所述待部署神经网络部署在所述目标设备上时,不同处理器之间处理所述待部署神经网络的性能差距。
2.如权利要求1所述的设备处理器选择方法,其特征在于,所述根据所述计算量信息确定所述待部署神经网络的计算量变量值,包括:
确定样本神经网络中的最大总计算量和最小总计算量,并计算所述最大总计算量与所述最小总计算量之间的差值,得到计算量差值;
计算所述待部署神经网络的总计算量与所述计算量差值之间的商值,得到第一计算量变量值;
计算所述待部署神经网络中,3x3卷积的卷积计算量与总计算量之间的商值,得到第二计算量变量值;
计算所述待部署神经网络中,1x1卷积的卷积计算量与总计算量之间的商值,得到第三计算量变量值;
所述计算量变量值包括所述第一计算量变量值、所述第二计算量变量值和所述第三计算量变量值。
3.如权利要求1所述的设备处理器选择方法,其特征在于,所述根据所述设备信息确定所述目标设备的设备变量值,包括:
确定样本设备中的最大内存值和最小内存值,并计算所述最大内存值与所述最小内存值之间的差值,得到内存差值;
计算所述目标设备的内存值与所述内存差值之间的商值,得到第一设备变量值;
确定所述样本设备中的最大运行速度和最小运行速度,并计算所述最大运行速度与所述最小运行速度之间的差值,得到运行速度差值;
计算所述目标设备的设备运行速度与所述运行速度差值之间的商值,得到第二设备变量值;
所述设备变量值包括所述第一设备变量值和所述第二设备变量值。
4.如权利要求1所述的设备处理器选择方法,其特征在于,所述方法还包括:
分别确定样本神经网络在不同样本设备的处理器上的运行时间,并根据所述运行时间,确定样本神经网络在不同所述样本设备上的样本部署变量值;
确定所述样本神经网络中的最大总计算量和最小总计算量,并计算所述最大总计算量与所述最小总计算量之间的差值,得到计算量差值;
分别计算每个所述样本神经网络的总计算量与所述计算量差值之间的商值,得到第一样本变量值;
分别计算每个所述样本神经网络中,3x3卷积的卷积计算量与总计算量之间的商值,得到第二样本变量值;
分别计算每个所述样本神经网络中,1x1卷积的卷积计算量与总计算量之间的商值,得到第三样本变量值;
确定所述样本设备中的最大内存值和最小内存值,并计算所述最大内存值与所述最小内存值之间的差值,得到内存差值;
分别计算每个所述样本设备的内存值与所述内存差值之间的商值,得到第四样本变量值;
确定所述样本设备中的最大运行速度和最小运行速度,并计算所述最大运行速度与所述最小运行速度之间的差值,得到运行速度差值;
分别计算每个所述样本设备的设备运行速度与所述运行速度差值之间的商值,得到第五样本变量值;
根据所述样本部署变量值、所述第一样本变量值、所述第二样本变量值、所述第三样本变量值、所述第四样本变量值和所述第五样本变量值,求解近似方程中的变量系数。
5.如权利要求4所述的设备处理器选择方法,其特征在于,每个所述样本设备上均设置有第一处理器和第二处理器,所述根据所述运行时间,确定样本神经网络在不同所述样本设备上的样本部署变量值所采用的计算公式为:
Y=(Gtime-Ctime)/Gtime
Y是所述样本部署变量值,Gtime是所述第一处理器运行所述样本神经网络的运行时间,Ctime是所述第二处理器运行所述样本神经网络的运行时间。
6.如权利要求4所述的设备处理器选择方法,其特征在于,所述根据所述计算量变量值和所述设备变量值,确定所述待部署神经网络与所述目标设备之间的部署变量值,包括:
根据求解后的所述近似方程,对所述计算量变量值和所述设备变量值进行变量值运算,得到所述部署变量值。
7.如权利要求1所述的设备处理器选择方法,其特征在于,所述获取待部署神经网络的计算量信息之前,还包括:
分别获取所述待部署神经网络和所述目标设备的标识,得到网络标识和设备标识;
若所述网络标识与所述设备标识是预设标识组合,则查询所述预设标识组合在所述目标设备中对应的处理器;
根据所述目标设备中查询到的处理器对所述待部署神经网络进行部署。
8.一种设备处理器选择***,其特征在于,所述***包括:
计算量变量值确定模块,用于获取待部署神经网络的计算量信息,并根据所述计算量信息确定所述待部署神经网络的计算量变量值,所述计算量信息包括所述待部署神经网络的总计算量和卷积计算量,所述计算量变量值用于表征所述待部署神经网络计算量的复杂程度;
设备变量值确定模块,用于获取目标设备的设备信息,并根据所述设备信息确定所述目标设备的设备变量值,所述设备信息包括设备运行速度和内存值,所述设备变量值用于表征所述目标设备的设备性能;
部署变量值确定模块,用于根据所述计算量变量值和所述设备变量值,确定所述待部署神经网络与所述目标设备之间的部署变量值,并根据所述部署变量值对所述目标设备中的处理器进行选择,所述部署变量值用于表征所述待部署神经网络部署在所述目标设备上时,不同处理器之间处理所述待部署神经网络的性能差距。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110633567.2A CN113408718B (zh) | 2021-06-07 | 2021-06-07 | 设备处理器选择方法、***、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110633567.2A CN113408718B (zh) | 2021-06-07 | 2021-06-07 | 设备处理器选择方法、***、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113408718A true CN113408718A (zh) | 2021-09-17 |
CN113408718B CN113408718B (zh) | 2024-05-31 |
Family
ID=77676748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110633567.2A Active CN113408718B (zh) | 2021-06-07 | 2021-06-07 | 设备处理器选择方法、***、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113408718B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017124955A1 (zh) * | 2016-01-21 | 2017-07-27 | 阿里巴巴集团控股有限公司 | 一种仓库货位规划方法、装置及电子装置 |
JP2018191461A (ja) * | 2017-05-10 | 2018-11-29 | キヤノン株式会社 | 制御装置、光学機器、制御方法、および、プログラム |
CN109754066A (zh) * | 2017-11-02 | 2019-05-14 | 三星电子株式会社 | 用于生成定点型神经网络的方法和装置 |
CN110345099A (zh) * | 2019-07-18 | 2019-10-18 | 西安易朴通讯技术有限公司 | 服务器风扇调速的方法、装置及*** |
US20200089534A1 (en) * | 2017-08-21 | 2020-03-19 | Shanghai Cambricon Information Technology Co., Ltd | Data sharing system and data sharing method therefor |
CN110929860A (zh) * | 2019-11-07 | 2020-03-27 | 深圳云天励飞技术有限公司 | 一种卷积加速运算方法、装置、存储介质及终端设备 |
US10664718B1 (en) * | 2017-09-11 | 2020-05-26 | Apple Inc. | Real-time adjustment of hybrid DNN style transfer networks |
WO2020151338A1 (zh) * | 2019-01-23 | 2020-07-30 | 平安科技(深圳)有限公司 | 一种音频噪声的检测方法、装置、存储介质和移动终端 |
CN111797881A (zh) * | 2019-07-30 | 2020-10-20 | 华为技术有限公司 | 图像分类方法及装置 |
CN112380782A (zh) * | 2020-12-07 | 2021-02-19 | 重庆忽米网络科技有限公司 | 一种基于混合指标和神经网络的旋转设备故障预测方法 |
CN112445823A (zh) * | 2019-09-04 | 2021-03-05 | 华为技术有限公司 | 神经网络结构的搜索方法、图像处理方法和装置 |
CN112634870A (zh) * | 2020-12-11 | 2021-04-09 | 平安科技(深圳)有限公司 | 关键词检测方法、装置、设备和存储介质 |
CN112884127A (zh) * | 2021-03-01 | 2021-06-01 | 厦门美图之家科技有限公司 | 多处理器并行神经网络加速方法、装置、设备和存储介质 |
-
2021
- 2021-06-07 CN CN202110633567.2A patent/CN113408718B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017124955A1 (zh) * | 2016-01-21 | 2017-07-27 | 阿里巴巴集团控股有限公司 | 一种仓库货位规划方法、装置及电子装置 |
JP2018191461A (ja) * | 2017-05-10 | 2018-11-29 | キヤノン株式会社 | 制御装置、光学機器、制御方法、および、プログラム |
US20200089534A1 (en) * | 2017-08-21 | 2020-03-19 | Shanghai Cambricon Information Technology Co., Ltd | Data sharing system and data sharing method therefor |
US10664718B1 (en) * | 2017-09-11 | 2020-05-26 | Apple Inc. | Real-time adjustment of hybrid DNN style transfer networks |
CN109754066A (zh) * | 2017-11-02 | 2019-05-14 | 三星电子株式会社 | 用于生成定点型神经网络的方法和装置 |
WO2020151338A1 (zh) * | 2019-01-23 | 2020-07-30 | 平安科技(深圳)有限公司 | 一种音频噪声的检测方法、装置、存储介质和移动终端 |
CN110345099A (zh) * | 2019-07-18 | 2019-10-18 | 西安易朴通讯技术有限公司 | 服务器风扇调速的方法、装置及*** |
CN111797881A (zh) * | 2019-07-30 | 2020-10-20 | 华为技术有限公司 | 图像分类方法及装置 |
CN112445823A (zh) * | 2019-09-04 | 2021-03-05 | 华为技术有限公司 | 神经网络结构的搜索方法、图像处理方法和装置 |
CN110929860A (zh) * | 2019-11-07 | 2020-03-27 | 深圳云天励飞技术有限公司 | 一种卷积加速运算方法、装置、存储介质及终端设备 |
CN112380782A (zh) * | 2020-12-07 | 2021-02-19 | 重庆忽米网络科技有限公司 | 一种基于混合指标和神经网络的旋转设备故障预测方法 |
CN112634870A (zh) * | 2020-12-11 | 2021-04-09 | 平安科技(深圳)有限公司 | 关键词检测方法、装置、设备和存储介质 |
CN112884127A (zh) * | 2021-03-01 | 2021-06-01 | 厦门美图之家科技有限公司 | 多处理器并行神经网络加速方法、装置、设备和存储介质 |
Non-Patent Citations (6)
Title |
---|
LIAN, YJ 等: "Optimizing AD Pruning of Sponsored Search with Reinforcement Learning", 《 WEB CONFERENCE 2021: COMPANION OF THE WORLD WIDE WEB CONFERENCE (WWW 2021)》, 30 April 2021 (2021-04-30), pages 123 - 127, XP058746404, DOI: 10.1145/3442442.3453148 * |
MOHAMMAD REZA TAVAKOLI 等: "A High Throughput Hardware CNN Accelerator Using a Novel Multi-Layer Convolution Processor", 《2020 28TH IRANIAN CONFERENCE ON ELECTRICAL ENGINEERING (ICEE)》, 31 August 2020 (2020-08-31), pages 1 - 6, XP033865830, DOI: 10.1109/ICEE50131.2020.9260785 * |
刘必成: "一种基于第二代赛道存储的面向卷积神经网络的高效内存计算框架", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 2019, 15 January 2019 (2019-01-15), pages 137 - 195 * |
段秉环 等: "面向嵌入式应用的深度神经网络压缩方法研究", 《航空计算技术》, vol. 48, no. 05, 25 September 2018 (2018-09-25), pages 50 - 53 * |
谢波 等: "三维弹性波数值模拟中改进的NPML研究", 《地球物理学进展》, vol. 31, no. 06, 15 December 2016 (2016-12-15), pages 2762 - 2766 * |
黄培: "一种基于神经网络的网络设备故障预测***", 《办公自动化》, vol. 25, no. 11, 1 June 2020 (2020-06-01), pages 23 - 27 * |
Also Published As
Publication number | Publication date |
---|---|
CN113408718B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110288082B (zh) | 卷积神经网络模型训练方法、装置和计算机可读存储介质 | |
CN108172213B (zh) | 娇喘音频识别方法、装置、设备及计算机可读介质 | |
CN110795976B (zh) | 一种训练物体检测模型的方法、装置以及设备 | |
CN109858613B (zh) | 一种深度神经网络的压缩方法、***及终端设备 | |
US11748595B2 (en) | Convolution acceleration operation method and apparatus, storage medium and terminal device | |
CN113485837B (zh) | 一种基于并行分支和张量切分的张量处理方法和处理*** | |
JP2010002370A (ja) | パターン抽出プログラム、方法及び装置 | |
CN109766800B (zh) | 一种移动端花卉识别模型的构建方法 | |
KR102585470B1 (ko) | 정보 처리장치, 정보 처리방법, 비일시적인 컴퓨터 판독가능한 기억매체 | |
CN109542462B (zh) | 一种***环境部署方法、存储介质和服务器 | |
CN111373436A (zh) | 图像处理方法、终端设备及存储介质 | |
CN114611697B (zh) | 神经网络量化及部署方法、***、电子设备及存储介质 | |
CN111160516A (zh) | 一种深度神经网络的卷积层稀疏化方法及装置 | |
CN114741389A (zh) | 模型参数调整方法、装置、电子设备及存储介质 | |
CN112766397B (zh) | 一种分类网络及其实现方法和装置 | |
CN109146765B (zh) | 一种图像处理方法、主处理器、协处理器及电子设备 | |
CN108053034B (zh) | 模型参数处理方法、装置、电子设备及存储介质 | |
CN113408718A (zh) | 设备处理器选择方法、***、终端设备及存储介质 | |
CN110866484B (zh) | 驾驶员人脸检测方法、计算机装置及计算机可读存储介质 | |
CN116009675A (zh) | 功耗确定方法、装置、存储介质及电子设备 | |
CN112037814B (zh) | 一种音频指纹的提取方法、装置、电子设备及存储介质 | |
CN113469324B (zh) | 模型动态量化方法、装置、电子设备和计算机可读介质 | |
CN111524153B (zh) | 图像解析力确定方法、装置及计算机存储介质 | |
CN110929623A (zh) | 多媒体文件的识别方法、装置、服务器和存储介质 | |
CN112017174B (zh) | 图像处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |