一种量化mobilenet的硬件加速器及其设计方法
技术领域
1.本发明涉及一种量化mobilenet的硬件加速器及其设计方法,属于硬件加速设计及计算机视觉技术领域。
背景技术:
2.深度神经网络已经成为了许多重要应用的一部分,尤其是在涉及到计算机视觉及语音处理等部分,传统模型无法对这些复杂应用进行良好的建模,而深度神经网络则可以完成良好的模型拟合。卷积神经网络根据生物对图像的感知过程演变而来,十分适合于计算机视觉任务,例如图像识别、图像分割等。近年来,许多不同的cnn模型被提出,提升了该类网络的不同部分性能,如计算复杂度,识别精度等。但这些提升带来的代价则是急剧上升的计算负载,存储负载以及带宽负载,例如在图像分类问题上,著名的resnet50网络能够在imagenet数据集上实现76.5%的top-1准确率,但这种高准确率是以大量的运算以及内存操作为代价获取的,这导致这类网络只能在有着一定运算能力与存储空间的平台上运行,而极难部署或无法部署在小型移动平台上。尽管以mobilenet为代表的一系列效率型卷积神经网络以降低计算负载和权重大小为目标进行网络结构的重新设计,并且取得了显著的效果,但在一些边缘设备上仍旧面临着许多性能瓶颈,其中的一大问题便是存储问题。
3.随着智能社会的发展,我们希望在许多小型设备上也能实时运行高精度的神经网络模型以实现更多丰富的应用。但这些设备受限于成本、功耗等现实问题,计算能力与存储能力都十分有限,或许他们可以配备低功耗的廉价大容量片外存储(例如dram)以解决存储问题,但这些片外存储延迟大,访问效率低,如果在网络运行的过程中频繁的对这些存储进行数据交互将导致网络运行速度的下降,从而不能满足绝大部分应用的实时性要求。因此如何在这些设备上充分利用较小的高速存储与较弱的运算能力以实现实时的神经网络应用就变成了一个难题。
技术实现要素:
4.本发明的目的在于针对目前神经网络平台资源受限导致网络整体性能下降较多或无法部署在边缘设备上的技术缺陷,提出了一种量化mobilenet的硬件加速器及其设计方法。
5.为了达到上述目的,本发明采取如下技术方案:
6.所述硬件加速器,与外部存储器及控制器相连,包含顶层控制模块、存储器控制模块、逐通道卷积模块、后处理模块以及逐点卷积模块;
7.逐通道卷积模块包含行缓存器子模块以及量化单元a;
8.后处理模块包含池化子模块、跨层连接子模块与地址生成子模块;
9.逐点卷积模块包含数据准备子模块、权重准备子模块、逐点卷积计算子模块与部分和累加子模块;
10.其中,逐点卷积计算子模块包括乘法阵列与可配置的加法器树,部分和累加子模
块包括fifo和量化单元b;
11.其中,可配置的加法器树按照顶层控制模块配置的输入输出通道并行数将乘法阵列的输出按照不同的通道并行度相加,从而达到输入输出通道并行度可配置;
12.所述硬件加速器中各组成部件的连接关系如下:
13.顶层控制模块与存储器控制模块、逐点卷积模块、逐通道卷积模块及后处理模块相连;存储器控制模块与顶层控制模块、逐点卷积模块、逐通道卷积模块及后处理模块相连;逐点卷积模块与顶层控制模块、存储器控制模块、逐通道卷积模块及后处理模块相连;逐通道卷积模块与逐点卷积模块、顶层控制模块、存储器控制模块及后处理模块相连;
14.逐通道卷积模块内部的连接方式为行缓存器子模块与量化单元a相连;
15.逐点卷积模块内部的连接方式为数据准备子模块与逐点卷积计算子模块相连;权重准备子模块与逐点卷积计算子模块相连;逐点卷积计算子模块分别与数据准备子模块、权重准备子模块和部分和累加子模块相连;部分和累加子模块与逐点卷积计算子模块相连;
16.其中,逐点卷积计算子模块内部的连接方式为乘法阵列与加法器树相连接;
17.其中,部分和累加子模块内部的连接方式为fifo和量化单元b相连接。
18.所述硬件加速器中各组成部件的功能如下:
19.顶层控制模块接收外部输入的控制信号启动硬件加速器,同时决定当前硬件加速器的状态,并根据当前状态通知存储器控制模块将当前输入输出缓存与其对应的最佳实际物理缓存相连接;通知逐点卷积模块本次运算对应的输入通道并行数与输出通道并行数;通知逐通道卷积模块当前运算需要进行补零的部分;通知后处理模块启用池化子模块、跨层连接子模块或地址生成子模块。
20.存储器控制模块根据顶层控制模块的指令将输入输出缓存对应至不同的实际物理缓存,送出或接收所需的数据与权重信息,并实现针对输入或输出缓存的乒乓缓存切换;
21.逐点卷积模块进行逐点卷积运算并完成部分累加和处理与量化操作,同时能够处理输入输出通道并行数不一致的运算请求;
22.逐通道卷积模块进行对应位置补零与逐通道卷积运算并完成部分累加和处理与量化操作;
23.后处理模块进行网络除卷积外的池化操作与跨层连接操作,同时对每一个输出结果生成对应的存储地址实现重排序。
24.所述硬件加速器的设计方法,包括如下步骤:
25.步骤1、顶层控制模块接收控制器传来的控制参数并初始化,并给存储器控制模块、逐点卷积模块、逐通道卷积模块及后处理模块发送指令;
26.其中,顶层控制模块给存储器控制模块发送指令告知其最佳的数据接收顺序与每笔数据对应的存储位置;顶层控制模块给逐点卷积模块发送指令告知本次运算的类型及对应的输入输出通道并行数;顶层控制模块给逐通道卷积模块发送指令告知数据是否需要补零及补零位置;顶层控制模块给后处理模块发送指令告知是否需要池化、跨层连接及地址生成;
27.步骤2、存储器控制模块接收外部存储器的数据与权重,并根据顶层控制模块的指令选择接收输入数据与网络权重的顺序和对应存储位置,当存储器控制模块接收到的数据
能满足单次运算过程时,跳至步骤3;
28.步骤3、存储器控制模块向逐点卷积模块发送当前运算所需数据,同时存储器控制模块进行乒乓缓存切换维持数据的继续输入;
29.步骤4、数据准备子模块将输入数据按照顶层控制模块提供的输入通道并行数并行排布后输出至逐点卷积计算子模块,同时权重准备子模块按照顶层控制模块提供的输入输出通道并行数将卷积运算所需的权重并行排布后输出至逐点卷积计算子模块;
30.步骤5、逐点卷积计算子模块使用步骤4的输出的数据与权重进行卷积运算,并将卷积结果输出至部分和累加子模块;
31.步骤6、部分和累加子模块缓存一部分卷积输出以完成对逐点卷积计算子模块卷积结果的累加操作并输出至量化单元b;
32.步骤7、量化单元b对部分和累加子模块的输出结果进行量化并输出;
33.步骤8、顶层控制模块根据当前卷积层判断进行逐通道卷积、池化还是跨层连接,若需进行逐通道卷积,跳转至步骤9;若需进行池化,跳转至步骤12;若需进行跨层连接,跳转至步骤14;若无需进行逐通道卷积、池化或跨层连接,跳转至步骤15;
34.根据当前卷积层判断进行逐通道卷积、池化还是跨层连接,具体为:
35.深度可分离卷积:之后需要进行逐通道卷积;
36.卷积核大小为1x1的普通卷积且之后带有池化层:之后需要进行池化;
37.卷积核大小为1x1的普通卷积且存在跨层连接:之后需要进行跨层连接;
38.步骤9、行缓存器子模块对逐点卷积模块的输出进行行缓存并进行3x3卷积运算;
39.步骤10、量化单元a对行缓存器子模块的输出进行量化并输出;
40.步骤11、顶层控制模块根据当前卷积层判断进行池化操作或跨层连接操作,若需进行池化,跳转至步骤12;若需进行跨层连接,跳转至步骤14;若无需进行池化或跨层连接,跳转至步骤15;
41.当前卷积层判断进行池化还是跨层连接,具体为:
42.深度可分离卷积且之后带有池化层:之后需要进行池化;
43.深度可分离卷积且存在跨层连接:之后需要进行跨层连接;
44.步骤12、池化子模块将上一步的输出作为输入,对输入数据进行池化操作并输出;
45.步骤13、顶层控制模块根据当前卷积层是否存在跨层连接判断是否进行跨层连接操作,若存在则需进行跨层连接,跳转至步骤14;若不存在则无需进行跨层连接操作,跳转至步骤15;
46.步骤14、跨层连接子模块从存储器控制模块接收上一层的数据并将本层的运算结果与其相加并量化获得最终的计算结果并输出;
47.步骤15、地址生成子模块根据顶层控制模块的指令决定接收来自逐点卷积模块、逐通道卷积模块、池化子模块以及跨层连接子模块四者之一的输出结果,并生成其对应的地址共同发送到存储器控制模块,使结果在存储地址上连续排列;
48.步骤16、存储器控制模块对运算结果进行存储,并在对其中一块输出乒乓缓存进行写入时将另一片已经写满的缓存中的数据通过总线返回至外部存储;
49.步骤17、顶层控制模块执行完毕后返回最终的分类结果。
50.有益效果
51.本发明一种量化mobilenet的硬件加速器及其设计方法,相对于现有加速器及设计方法,具有以下有益效果:
52.1.所述方法使用的存储利用方式解决了mobilenet网络深度可分离卷积输入输出大小不平衡导致的传统设计下同大小的输入输出缓存在存储数据时利用率较低的问题;
53.2.所述方法通过适当修改数据流的流动方式与基础卷积的运算顺序达到了所有数据与权重仅需与外部存储交互一次的效果,降低了外部存储高延时带来的耗时问题;
54.3.所述方法的数据流动方式与卷积运算顺序同时使得一个卷积运算能被拆分,进一步减小了片上存储容量的要求;
55.4.所述方法通过适当增加存储带宽需求,修改逐点卷积模块的输入输出通道并行数以降低逐点卷积后为匹配流水线吞吐量所需的硬件资源。
附图说明
56.图1为本发明一种量化mobilenet的硬件加速器及其设计方法的模块连接图;
57.图2为本发明一种量化mobilenet的硬件加速器及其设计方法的运算流程图;
58.图3为本发明一种量化mobilenet的硬件加速器及其设计方法的电路连接图。
59.图4为本发明一种量化mobilenet的硬件加速器及其设计方法的默认卷积顺序图。
具体实施方式
60.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图并结合实施例,对本发明一种量化mobilenet的硬件加速器及其设计方法进行详细阐述。
61.实施例1
62.所述方法在采用了类似mobilenet网络的深度可分离卷积结构的神经网络的硬件加速上能够获得相比于传统的通用神经网络硬件加速器更小的片上存储占用与硬件资源消耗。
63.具体实施时,硬件设计的部署平台为pynq-z2开发板,其中硬件模块的具体部署及连接方式可参考图1。本实施例1具体采用的神经网络为mobilenetv2卷积神经网络,其具体网络结构与权重参数由pytorch内建的torchvision函数提供。通过后训练量化将网络的参数量化至8位以进一步减小运算复杂度和资源消耗。在后训练量化时,采用将运算输入输出量化至0至255,网络权重量化至-128至127的量化方式进行量化,其中网络权重的量化零点固定为0。采用这种量化方式可以使得硬件计算量化结果的过程中不考虑权重量化零点带来的额外乘加运算量,进一步减少运算负担与资源消耗。
64.硬件加速器的逐点卷积模块输入输出通道并行数配置为输入通道32并行,输出通道8并行。这一数量为综合考虑pynq-z2实现平台的硬件资源,存储带宽以及整体设计频率后的结果,其中输出8并行使得后续的所有硬件并行数均为8并行以匹配流水线,相比输入输出均为16并行的设计减小了资源占用。在不同的情况下,并行数可以按需求进行配置以达到最优的效果,其中对于乘法阵列,考虑到当前平台提供的dsp48e能够支持的最大乘法位宽为25位乘以18位,通过适当改变运算顺序与数据组织,使得一个dsp48e能够同时进行两个8位乘以8位的运算,从而减小了对硬件乘法器的消耗。
65.存储器控制模块控制3组乒乓缓存,分别为小数据缓存,大数据缓存与权重缓存。
这三组缓存的具体大小由平台整体所能提供的存储资源及卷积运算顺序的拆分方式共同决定,在本实施例1中,权重缓存为10kb,小数据缓存为28kb,大数据缓存为125kb。具体使用哪个数据缓存作为输入数据缓存由卷积层类型决定,相较于传统输入输出缓存大小一致的设计,能够减小近100kb的缓存资源使用。在运算过程中,当输入缓存填满时切换至另一乒乓缓存继续缓存输入,防止输入停止,增大整体运算耗时。输出则在一个输出乒乓缓存填满时启动,此时新产生的输出输入至另一乒乓缓存进行暂存。这样设计可以在不打断输出的情况下保证输出数据在地址上连续,从而能够加快片外存储的访问速度。
66.逐通道卷积模块以及后处理模块的数据并行度应与逐点卷积模块的输出通道并行度一致以保证流水线不会阻塞,在本实施例1中这一并行度为8。其中逐通道卷积根据当前运算位置对输入数据自动补零以保证输入输出尺寸为预期尺寸。顶层控制模块通过axi_stream总线与外部控制器进行数据与控制指令的交互。
67.在本实施例1中,综合考虑计算资源、输入输出存储、部分累加和存储、所有数据仅访问一次外部存储的条件、卷积运算可拆分与实现可能性,对图4所示的卷积运算顺序进行调整。由于loop-1和loop-2越早完成,所需的部分累加和存储就可以越小,同时当输入或权重能够完整存储到片上时只需一次外部存储访问,因此由loop1-loop2-loop3-loop4调整为loop1-loop3-loop2-loop4。同时对每一个卷积的特征图进行拆分,考虑到地址连续有利于dma的传输,本实施例1只将特征图进行水平方向上的切分以减小内部存储使用。
68.在本实施例1中,该硬件加速器整体作为一个ip放入vivado block design中实现fpga烧录比特流的生成。block design电路连接的具体实施中,axi互联ip核1和axi互联ip核2调用了vivado的“axi interconnect”ip核。ps端控制ip核调用了vivado的“zynq7 processing system”ip核。dma ip核调用了vivado的“axi direct memory access”ip核。运算ip核为本专利提出的硬件加速器ip。各个ip核的连接关系如下:ps端控制ip核的m_axi_gp0端口与axi互联ip核1的s00_axi端口连接;ps端控制ip核的s_axi_hp0端口与axi互联ip核2的m00_axi端口连接;axi互联ip核1的m00_axi端口与dma ip核的s_axi_lite端口相连;axi互联ip核2的s00_axi端口与dma ip核的m_axi端口相连;dma ip核的s_axis_s2mm端口和m_axis_mm2s端口分别与运算ip核的m_axis和s_axis端口相连,具体的电路连接方式可参考图3。
69.实施例2
70.基于上述的硬件加速器设计与测试平台的搭建,本实施例2提供了一种mobilenetv2神经网络的硬件加速方法。本实施中第一步将量化后的网络权重依据最优的数据流结构与卷积运算顺序进行重排并保存,这一步骤只需进行一次,之后的所有运算均是基于同样顺序的权重进行;
71.第二步、对本次的输入原始图像进行重排以满足最优顺序;
72.第三步、将网络参数、网络权重与原始输入图像通过ps端,经axi_stream总线输入至运算ip核中;
73.第四步、等待运算ip核运算完毕并返回结果,具体流程可参考图2。
74.至此,经过第一步到第四步完成了本实施例2中的mobilenetv2神经网络硬件加速。经过测试,本实施例2能够在150mhz的时钟频率下实现70.94fps的运行速度,占用的片上存储资源为524.25kb。
75.这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其他形式、结构、布置、比例,以及用其他元件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其他变形和改变。
76.本领域技术人员通过上述说明可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括但不限于u盘、移动硬盘、磁性存储器、光学存储器等各种可以存储程序代码的介质。
77.以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。
技术特征:
1.一种量化mobilenet的硬件加速器与外部存储器及控制器相连,包含顶层控制模块、存储器控制模块、逐通道卷积模块、后处理模块以及逐点卷积模块,其特征在于:逐通道卷积模块包含行缓存器子模块以及量化单元a;后处理模块包含池化子模块、跨层连接子模块与地址生成子模块;逐点卷积模块包含数据准备子模块、权重准备子模块、逐点卷积计算子模块与部分和累加子模块;逐点卷积计算子模块包括乘法阵列与可配置的加法器树,部分和累加子模块包括fifo和量化单元b;顶层控制模块与存储器控制模块、逐点卷积模块、逐通道卷积模块及后处理模块相连;存储器控制模块与顶层控制模块、逐点卷积模块、逐通道卷积模块及后处理模块相连;逐点卷积模块与顶层控制模块、存储器控制模块、逐通道卷积模块及后处理模块相连;逐通道卷积模块与逐点卷积模块、顶层控制模块、存储器控制模块及后处理模块相连;逐通道卷积模块内部的连接方式为行缓存器子模块与量化单元a相连;逐点卷积模块内部的连接方式为数据准备子模块与逐点卷积计算子模块相连;权重准备子模块与逐点卷积计算子模块相连;逐点卷积计算子模块分别与数据准备子模块、权重准备子模块和部分和累加子模块相连;部分和累加子模块与逐点卷积计算子模块相连;其中,逐点卷积计算子模块内部的连接方式为乘法阵列与加法器树相连接;其中,部分和累加子模块内部的连接方式为fifo和量化单元b相连接。2.依据权利要求1所述的硬件加速器,其特征在于:可配置的加法器树的工作过程为:按照顶层控制模块配置的输入输出通道并行数将乘法阵列的输出按照不同的通道并行度相加,从而达到输入输出通道并行度可配置。3.依据权利要求1所述的硬件加速器,其特征在于:顶层控制模块接收外部输入的控制信号启动硬件加速器,同时决定当前硬件加速器的状态,并根据当前状态通知存储器控制模块将当前输入输出缓存与其对应的最佳实际物理缓存相连接;通知逐点卷积模块本次运算对应的输入通道并行数与输出通道并行数;通知逐通道卷积模块当前运算需要进行补零的部分;通知后处理模块启用池化子模块、跨层连接子模块或地址生成子模块。4.依据权利要求1所述的硬件加速器,其特征在于:存储器控制模块根据顶层控制模块的指令将输入输出缓存对应至不同的实际物理缓存,送出或接收所需的数据与权重信息,并实现针对输入或输出缓存的乒乓缓存切换。5.依据权利要求1所述的硬件加速器,其特征在于:逐点卷积模块进行逐点卷积运算并完成部分累加和处理与量化操作,同时能够处理输入输出通道并行数不一致的运算请求;逐通道卷积模块进行对应位置补零与逐通道卷积运算并完成部分累加和处理与量化操作;后处理模块进行网络除卷积外的池化操作与跨层连接操作,同时对每一个输出结果生成对应的存储地址实现重排序。6.一种量化mobilenet的硬件加速器的设计方法,其特征在于:包括如下步骤:步骤1、顶层控制模块接收控制器传来的控制参数并初始化,并给存储器控制模块、逐点卷积模块、逐通道卷积模块及后处理模块发送指令;步骤2、存储器控制模块接收外部存储器的数据与权重,并根据顶层控制模块的指令选择接收输入数据与网络权重的顺序和对应存储位置,当存储器控制模块接收到的数据能满足单次运算过程时,跳至步骤3;步骤3、存储器控制模块向逐点卷积模块发送当前运算所需数据,同时存储器控制模块
进行乒乓缓存切换维持数据的继续输入;步骤4、数据准备子模块将输入数据按照顶层控制模块提供的输入通道并行数并行排布后输出至逐点卷积计算子模块,同时权重准备子模块按照顶层控制模块提供的输入输出通道并行数将卷积运算所需的权重并行排布后输出至逐点卷积计算子模块;步骤5、逐点卷积计算子模块使用步骤4的输出的数据与权重进行卷积运算,并将卷积结果输出至部分和累加子模块;步骤6、部分和累加子模块缓存一部分卷积输出以完成对逐点卷积计算子模块卷积结果的累加操作并输出至量化单元b;步骤7、量化单元b对部分和累加子模块的输出结果进行量化并输出;步骤8、顶层控制模块根据当前卷积层判断进行逐通道卷积、池化还是跨层连接,若需进行逐通道卷积,跳转至步骤9;若需进行池化,跳转至步骤12;若需进行跨层连接,跳转至步骤14;若无需进行逐通道卷积、池化或跨层连接,跳转至步骤15;步骤9、行缓存器子模块对逐点卷积模块的输出进行行缓存并进行3x3卷积运算;步骤10、量化单元a对行缓存器子模块的输出进行量化并输出;步骤11、顶层控制模块根据当前卷积层判断进行池化操作或跨层连接操作,若需进行池化,跳转至步骤12;若需进行跨层连接,跳转至步骤14;若无需进行池化或跨层连接,跳转至步骤15;步骤12、池化子模块将上一步的输出作为输入,对输入数据进行池化操作并输出;步骤13、顶层控制模块根据当前卷积层是否存在跨层连接判断是否进行跨层连接操作,若存在则需进行跨层连接,跳转至步骤14;若不存在则无需进行跨层连接操作,跳转至步骤15;步骤14、跨层连接子模块从存储器控制模块接收上一层的数据并将本层的运算结果与其相加并量化获得最终的计算结果并输出;步骤15、地址生成子模块根据顶层控制模块的指令决定接收来自逐点卷积模块、逐通道卷积模块、池化子模块以及跨层连接子模块四者之一的输出结果,并生成其对应的地址共同发送到存储器控制模块,使结果在存储地址上连续排列;步骤16、存储器控制模块对运算结果进行存储,并在对其中一块输出乒乓缓存进行写入时将另一片已经写满的缓存中的数据通过总线返回至外部存储;步骤17、顶层控制模块执行完毕后返回最终的分类结果。7.如权利要求6所述的硬件加速器的设计方法,其特征在于:步骤1中,顶层控制模块给存储器控制模块发送指令告知其最佳的数据接收顺序与每笔数据对应的存储位置;顶层控制模块给逐点卷积模块发送指令告知本次运算的类型及对应的输入输出通道并行数;顶层控制模块给逐通道卷积模块发送指令告知数据是否需要补零及补零位置;顶层控制模块给后处理模块发送指令告知是否需要池化、跨层连接及地址生成。8.如权利要求6所述的硬件加速器的设计方法,其特征在于:步骤8中,根据当前卷积层判断进行逐通道卷积、池化还是跨层连接,具体为:深度可分离卷积:之后需要进行逐通道卷积;卷积核大小为1x1的普通卷积且之后带有池化层:之后需要进行池化;卷积核大小为1x1的普通卷积且存在跨层连接:之后需要进行跨层连接。
9.如权利要求6所述的硬件加速器的设计方法,其特征在于:步骤11中,当前卷积层判断进行池化还是跨层连接,具体为:深度可分离卷积且之后带有池化层:之后需要进行池化;深度可分离卷积且存在跨层连接:之后需要进行跨层连接。
技术总结
本发明涉及一种量化MobileNet的硬件加速器及其设计方法,属于硬件加速及计算机视觉技术领域。包括顶层控制模块、存储器控制模块、逐点卷积模块、逐通道卷积模块及后处理模块;顶层控制模块与存储器控制模块、逐点卷积模块、逐通道卷积模块及后处理模块相连;存储器控制模块与逐点卷积模块、逐通道卷积模块及后处理模块相连。所述方法将输入数据与权重放入不同大小缓存,通过并行数可变的深度可分离卷积降低硬件使用并获得卷积结果,再通过后处理完成池化、跨层连接与地址生成,使得数据在连续地址上排布。所述方法解决了MobileNet缓存利用率低的问题、降低了耗时与资源消耗。降低了耗时与资源消耗。降低了耗时与资源消耗。
技术研发人员:张延军 蔺彦儒 卢继华
受保护的技术使用者:北京理工大学
技术研发日:2021.11.23
技术公布日:2022/3/7