CN116501509B - 一种面向微控制器的深度学习内存优化方法 - Google Patents
一种面向微控制器的深度学习内存优化方法 Download PDFInfo
- Publication number
- CN116501509B CN116501509B CN202310782140.8A CN202310782140A CN116501509B CN 116501509 B CN116501509 B CN 116501509B CN 202310782140 A CN202310782140 A CN 202310782140A CN 116501509 B CN116501509 B CN 116501509B
- Authority
- CN
- China
- Prior art keywords
- memory
- operator
- deep learning
- calculation
- operators
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 236
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000005457 optimization Methods 0.000 title claims abstract description 42
- 238000013135 deep learning Methods 0.000 title claims abstract description 38
- 238000004364 calculation method Methods 0.000 claims abstract description 84
- 230000004927 fusion Effects 0.000 claims abstract description 51
- 238000013136 deep learning model Methods 0.000 claims abstract description 38
- 230000004913 activation Effects 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 25
- 230000009191 jumping Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000007547 defect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000003213 activating effect Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
Abstract
本发明属于深度学习技术领域,公开了一种面向微控制器的深度学习内存优化方法,包括:提出一种多算子融合计算优化方法,对深度学习模型中常用到的残差结构、卷积‑激活结构和连接结构分别进行优化,减少深度学习模型推理过程中的内存使用,使深度学习模型可以运行在内存更小的微控制器上;针对微控制器多段内存的特性提出一种面向多段内存的深度学习算子内存布局优化方法,能够使深度学习算子使用多段内存进行推理,解决现有技术只使用单段内存的缺点,有效提高内存使用效率。
Description
技术领域
本发明属于深度学习技术领域,具体是涉及一种面向微控制器的深度学习内存优化方法。
背景技术
深度学习模型为了达到更好的性能,参数量和计算量不断增加,对设备的存储和计算资源提出了更高的要求。出于数据隐私或者网络资源等原因,将微控制器设备上获取的数据传输到服务器进行推理存在困难,因此在微控制器上部署运行深度学习模型成为了一种新的发展趋势。
微控制器内存资源有限,通常从几KB到1MB不等,在微控制器上部署运行轻量级深度学习首先要面临内存资源有限的问题。目前面向微控制器的轻量级深度学习推理框架如TFLM、TinyEngine和NNoM对深度学习推理过程中虽然也存在了内存优化的研究,但还是存在不足之处。
如专利申请CN115357381A公开了用于嵌入式设备深度学习推理的内存优化方法及系统,其采用监测是否为该激活值输入最后一个节点的方式,及时销毁激活值的策略对深度学习推理的内存使用进行优化,并将符合条件的量化节点输出激活值数据保存为int8数据类型;但该专利申请仅对深度学习推理中激活值使用的内存进行优化,未对深度学习推理中其它算子进行内存优化,内存优化效果有限;对激活值数据从int32类型量化为int8类型会造成精度损失,影响模型准确率。
专利申请CN112990421A公开了一种优化深度学习网络的运行过程的方法、装置及存储介质,其通过确定深度学习网络中包括的多个计算层对应的多种运行顺序,然后确定每种运行顺序所需的内存开销,进而根据每种运行顺序所需的内存开销,确定多个计算层的最优运行顺序;该专利申请通过优化多个层的计算顺序减少深度学习的内存开销,但未对多个层之间的计算方式进行优化,内存优化不够彻底;在内存优化时未考虑到多段内存的情况,不能有效利用微控制器等嵌入式设备的多段内存。
专利申请CN114742211A公开了一种面向微控制器的卷积神经网络部署和优化方法,主要针对深度学习中单个卷积算子计算进行内存优化,其仅对深度学习层内优化,未对多个算子在内存中的布局进行优化,也未对微控制器多段内存的特性进行优化,不能有效利用微控制器等嵌入式设备的多段内存。
综上所述,现有技术中的面向微控制器的轻量级深度学习推理框架,缺乏对算子计算进行更为有效的内存优化,无法同时使用微控制器上的多段内存,造成内存利用率低,对部署在微控制器上的深度学习模型限制较多。
发明内容
为解决上述技术问题,本发明提供了一种面向微控制器的深度学习内存优化方法,针对深度学习模型中特定结构提出多算子融合计算优化方法;针对微控制器多段内存特性,提出微控制器内存布局优化方法,解决深度学习推理过程中内存使用量大的问题,满足在微控制器上部署深度学习模型的内存约束。
本发明所述的一种面向微控制器的深度学习内存优化方法,包括以下步骤:
步骤1、在微控制器上,采用多算子融合优化方法,对深度学习模型的多个算子融合,优化其使用内存;
步骤2、采用面向多段内存的深度学习算子内存布局优化方法,确定深度学习模型中多个算子在微控制器多段内存中的最优布局,对多个算子存入内存的位置进行优化。
进一步的,对深度学习模型的多个算子计算进行优化的具体步骤为:
步骤1-1、采用残差结构融合计算优化方法,将残差结构中Conv、Logistic、Mul算子的计算融合在一起,并将最终残差结构对应元素结构写入内存;
步骤1-2、采用激活函数融合计算优化方法,将当前算子的计算与激活函数的计算融合,并将融合计算后的结果写入当前算子的输出内存中;
步骤1-3、提前分配连接算子所需内存空间,采用连接算子融合计算方法,将两个输入算子计算后的特征图存放在连接算子输出对应的内存地址。
进一步的,对深度学习模型中残差结构进行融合计算优化,具体为:首先计算Conv
算子输出中的每个元素,每计算得到一个元素并不直接将该元素写入Conv的输出内存
中,而是对该元素进行Logistic和Mul计算,得到最终该残差结构对应元素的结果,再将其
写入内存中,此时该内存中存放的就是残差结构的输出,但整个过程只使用一块内存,有效
降低残差结构的内存使用。
进一步的,对深度学习模型中卷积-激活结构进行融合计算优化,具体为:当卷积算子后带有激活函数,将当前算子的计算和激活函数的计算融合起来,在当前算子每个输出元素计算结束后,先计算激活后的值,然后再将激活后的值写入当前算子的输出内存中,完成一次融合计算,从而使得激活函数不再需要单独的内存空间,降低内存使用。
进一步的,深度学习模型中连接结构进行融合计算优化,具体为:提前分配连接算子(Concat)所需的内存空间,并将该内存空间分成两部分,分别作为Concat两个输入算子的输出内存空间,因此这两个输入算子计算后的特征图直接存放在Concat输出对应的内存地址,不需要再单独分配特征图的内存空间,从而减少内存使用。
进一步的,采用面向微控制器多段内存的深度学习算子内存进行布局优化,具体步骤为:
步骤2-1、计算深度学习模型中各算子所需要内存的大小和其生命周期,内存大小根据算子输出的长、宽、高直接计算得到,而生命周期的计算则需要对模型中的算子进行遍历,找到该算子第一次计算的时间和最后一次被使用的时间;
步骤2-2、按照内存使用大小对所有算子进行降序排序,内存使用大的将被放在前面,先计算在内存中的位置;内存使用小的被放在后面,后计算在内存中的位置;
步骤2-3、计算排序后的算子在内存中的位置,首先需要维护N个链表,N为多段内存的数量,分别表示每段内存的使用情况;这些链表按照内存访存速度降序排列,即第一个链表代表访存速度最快的内存段,第N个链表代表访存速度最慢的内存段;接着对排序后的算子进行遍历,对每个算子依次在N个链表中查找合适位置,若当前链表内存空间无法满足算子的要求,则跳到下一个链表查找,若找到合适的位置则将该算子项插入链表对应位置。
本发明所述的有益效果为:本发明提出的多算子融合计算优化方法,对在微控制器上的深度学习模型中的残差结构、卷积-激活结构和连接结构分别进行优化,减少深度学习模型推理过程中的内存使用,使深度学习模型可以运行在内存更小的微控制器上;针对微控制器多段内存的特性提出一种面向多段内存的深度学习算子内存布局优化方法,根据深度学习模型有向无环图的性质确定各算子的计算顺序,优化算子内存布局,能够使深度学习算子使用多段内存进行推理,确定深度学习模型中多个算子在微控制器多段内存中的最优布局,解决现有技术只使用单段内存的缺点,有效提高内存使用效率。
附图说明
图1是残差结构示意图;
图2是残差结构内存使用示意图;
图3是残差结构融合前后内存流动示意图;
图4是激活函数融合前后内存使用示意图;
图5是激活函数融合前后内存流动示意图;
图6是连接算子融合前后示意图;
图7是连接算子融合前后内存使用示意图;
图8是本发明所述方法的流程图。
具体实施方式
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明。
如图8所示,本发明所述的一种面向微控制器的深度学习内存优化方法,包括以下步骤:
步骤1、在微控制器上,采用多算子融合优化方法,对深度学习模型的多个算子融合,优化其使用内存;
步骤2、采用面向多段内存的深度学习算子内存布局优化方法,确定深度学习模型中多个算子在微控制器多段内存中的最优布局,对多个算子存入内存的位置进行优化。
对深度学习模型的多个算子计算进行优化的具体步骤为:
步骤1-1、采用残差结构融合计算优化方法,将残差结构中Conv、Logistic、Mul算子的计算融合在一起,并将最终残差结构对应元素结构写入内存;具体如下:
图1为残差结构示意图,Conv算子的输出经过Logistic算子计算后得到/>,再通过Mul算子和捷径连接使得/>与/>做Hadamard乘积,即对应元素相乘,这样残差结构相当于/>,使得网络深度增加的同时,提高网络的准确率;
残差结构中Conv算子计算结果需要被Logistic和Mul算子所使用,因此Conv内存的生命周期需要持续到Mul算子计算后才结束,共持续三个单位时间。Logistic内存的生命周期同样需要持续到Mul算子计算后,持续两个单位时间。由于Mul算子依赖于Conv和Logistic算子,同时Logistic算子又依赖于Conv算子,它们之间的内存在空间上不能重叠,因此该残差结构使用的内存情况如图2左侧所示;
本发明提出残差结构融合计算优化方法,将Conv、Logistic、Mul算子的计算融合在一起。首先计算Conv算子输出中的每个元素,每计算得到一个元素并不直接将该元素写入Conv的输出内存中,而是对该元素进行Logistic和Mul计算,得到最终该残差结构对应元素的结果,再将其写入内存中,此时该内存中存放的就是残差结构的输出,但整个过程只使用一块内存,有效降低残差结构的内存使用。融合后的残差结构内存使用情况如图2右侧所示,内存使用量为原来的三分之一。
残差结构融合计算前后内存数据流动如图3所示,融合前每个算子在计算前都从内存中读取输入数据,数据从内存经过高速缓存被读取到CPU内部寄存器,算子计算结束后计算结果从CPU内部寄存器写到高速缓存再到内存中。融合后的残差结构每个元素依次经过各算子的计算,计算结果缓存在CPU内部寄存器,作为下一个算子计算的输入数据,直到计算完该残差结构的所有算子后,对应元素才被写入到内存中。
步骤1-2、采用激活函数融合计算优化方法,将当前算子的计算与激活函数的计算融合,并将融合计算后的结果写入当前算子的输出内存中;具体如下:
激活函数计算每个元素通常只依赖于该元素的输入值,而对于其它相邻元素没有依赖关系。因此若当前算子后带有激活函数,可以将当前算子的计算和激活函数的计算融合起来,在当前算子每个输出元素计算结束后,先计算激活后的值,然后再将激活后的值写入当前算子的输出内存中,完成一次融合计算,从而使得激活函数不再需要单独的内存空间,降低内存使用,如图4所示;
在图4中以Conv算子和ReLU激活函数为例,左侧为未融合的卷积算子和激活函数计算过程中内存使用示意图,Conv算子计算结果存放在Conv内存空间中,激活函数计算结果存放在ReLU内存空间中,大小与Conv相同,共计需要2倍Conv内存空间;右侧为本发明提出的激活函数融合后的内存使用示意图,卷积算子在每个元素计算后先计算激活值,再写入内存空间Conv_ReLU中,只需要一个Conv大小的内存空间。
激活函数融合计算前后内存数据流动如图5所示,与残差结构融合类似,融合后的激活函数在Conv算子每个元素计算后直接计算ReLU,计算结果最后写入内存中。
步骤1-3、提前分配连接算子所需内存空间,采用连接算子融合计算方法,将两个输入算子计算后的特征图存放在连接算子输出对应的内存地址;具体如下:
图6的左侧为连接算子(Concat)融合前的示意图,图6的右侧为连接算子(Concat)融合的后示意图,从图6中可以看出,Concat将Conv_2和Conv_3输出的特征图合并成一个特征图输出。连接算子融合前,先计算Conv_1的输出特征图,然后Conv_2和Conv_3将Conv_1的输出作为输入特征图依次计算Conv_2和Conv_3的输出特征图,最后Concat再将Conv_2和Conv_3的特征图合并在一起。本发明提出连接算子融合计算方法,先前提前分配Concat所需的内存空间,并将该内存空间分成两部分,分别作为Conv_2和Conv_3输出内存空间,因此Conv_2和Conv_3计算后的特征图直接存放在Concat输出对应的内存地址,不需要再单独分配Conv_2和Conv_3特征图的内存空间,从而减少内存使用;
图7的左侧为连接算子融合前的内存使用情况,图7的右侧为连接算子融合后的内存使用情况,可以看到连接算子融合前Conv_2和Conv_3分别需要分配一块内存空间存放各自输出特征图,而连接算子融合后Conv_2和Conv_3直接将输出特征图存放在Concat输出内存空间的对应位置,有效降低融合算子的内存使用情况。
采用面向多段内存的深度学习算子内存布局优化方法对多个算子存入内存的位置进行优化的具体步骤为:
步骤2-1、计算深度学习模型中各算子所需要内存的大小和其生命周期,内存大小可以根据算子输出的长、宽、高等参数直接计算得到,而生命周期的计算则需要对模型中的算子进行遍历,找到该算子第一次计算的时间和最后一次被使用的时间。
步骤2-2、按照内存使用大小对所有算子进行降序排序,内存使用大的将被放在前面,先计算在内存中的位置,而内存使用小的被放在后面,后计算在内存中的位置,这是因为先计算小块内存更容易造成内存碎片化,而先计算大块内存可以降低内存碎片,即便产生内存碎片,后计算的小块内存也更容易填充这些碎片,从而提高内存的使用效率。
步骤2-3、计算排序后的算子在内存中的位置,首先需要维护N个链表,N为多段内存的数量,分别表示每段内存的使用情况。这些链表按照内存访存速度降序排列,即第一个链表代表访存速度最快的内存段,第N个链表代表访存速度最慢的内存段;接着对排序后的算子进行遍历,对每个算子依次在N个链表中查找合适位置,若当前链表内存空间无法满足算子的要求,则跳到下一个链表查找,若找到合适的位置则将该算子项插入链表对应位置;该方法优先将算子放入访存速度快的内存段中,在提高内存使用效率的同时,加快该算子的计算速度。
通过以下实例对本发明所述方法进行说明:
STM32H730VBT6微控制器包含两段内存,其中包括128KB的DTCM内存和436KB的SRAM内存,共计564KB。现有方法只使用单段内存如DTCM或SRAM,无法完全利用564KB大小的内存,造成内存利用率低。本发明提出多算子融合优化方法和面向多段内存的深度学习算子内存布局优化方法,在降低深度学习模型内存使用的同时,有效利用了微控制器多段内存的特性,提高内存利用率;步骤如下:
1、使用TensorFlow训练SqueezeNet深度学习模型,输入尺寸为128×128×3,采用Adam作为优化器,学习率设置为0.00005,采用交叉熵损失函数和ReLU6激活函数;
2、在STM32H730VBT6微控制器上使用多算子融合优化方法对卷积-激活结构和连接结构进行融合计算,减少SqueezeNet深度学习模型内存使用量;
3、在STM32H730VBT6微控制器上使用面向多段内存的深度学习算子内存布局优化方法确定深度学习模型中多个算子在微控制器多段内存中的最优布局,对多个算子存入内存的位置进行优化;
4、使用STM32H730VBT6微控制器采集OV7725摄像头图像数据,并对图像数据进行预处理,分辨率缩放到与训练数据集相同大小;然后进行模型推理计算,并对推理结果得到的输出进行后处理,得到最终预测结果。
表1
,
表1为本发明与TFLM(TensorFlow Lite Micro)、X-CUBE-AI方案在微控制器上优化效果的对比测试,本发明首先使用多算子融合优化方法降低了深度学习模型内存使用总量,然后在使用面向多段内存的深度学习算子内存布局优化方法同时利用微控制器上DTCM和SRAM两段内存(由于DTCM内存速度较快,因此优先使用DTCM内存)。相较于对比方案,其内存使用总量虽然都小于STM32H730VBT6微控制器内存总量,但由于不支持多段内存布局,因此只能使用其中的一段内存,无法部署。本发明内存使用总量更小且支持多段内存布局,可以在微控制器上部署更多模型。
以上所述仅为本发明的优选方案,并非作为对本发明的进一步限定,凡是利用本发明说明书及附图内容所作的各种等效变化均在本发明的保护范围之内。
Claims (4)
1.一种面向微控制器的深度学习内存优化方法,其特征在于,包括以下步骤:
步骤1、在微控制器上,采用多算子融合优化方法,对深度学习模型的多个算子融合,优化其使用内存; 具体步骤为:
步骤1-1、采用残差结构融合计算优化方法,将残差结构中Conv、Logistic、Mul算子的计算融合在一起,并将最终残差结构对应元素结构写入内存;
步骤1-2、采用激活函数融合计算优化方法,将当前算子的计算与激活函数的计算融合,并将融合计算后的结果写入当前算子的输出内存中;
步骤1-3、提前分配连接算子所需内存空间,采用连接算子融合计算方法,将两个输入算子计算后的特征图存放在连接算子输出对应的内存地址;
步骤2、在微控制器上,采用面向多段内存的深度学习算子内存布局优化方法,确定深度学习模型中多个算子在微控制器多段内存中的最优布局,对多个算子存入内存的位置进行优化;具体步骤为:
步骤2-1、计算深度学习模型中各算子所需要内存的大小和其生命周期,内存大小根据算子输出的长、宽、高直接计算得到,而生命周期的计算则需要对模型中的算子进行遍历,找到该算子第一次计算的时间和最后一次被使用的时间;
步骤2-2、按照内存使用大小对所有算子进行降序排序,内存使用大的将被放在前面,先计算在内存中的位置;内存使用小的被放在后面,后计算在内存中的位置;
步骤2-3、计算排序后的算子在内存中的位置,首先需要维护N个链表,N为多段内存的数量,分别表示每段内存的使用情况;这些链表按照内存访存速度降序排列,即第一个链表代表访存速度最快的内存段,第N个链表代表访存速度最慢的内存段;接着对排序后的算子进行遍历,对每个算子依次在N个链表中查找合适位置,若当前链表内存空间无法满足算子的要求,则跳到下一个链表查找,若找到合适的位置则将该算子项插入链表对应位置。
2.根据权利要求1所述的一种面向微控制器的深度学习内存优化方法,其特征在于,对深度学习模型中残差结构进行融合计算优化,具体为:首先计算Conv算子输出中的每个元素,对该元素进行Logistic和Mul计算,得到最终该残差结构对应元素的结果,再将其写入内存中,此时该内存中存放的为残差结构的输出。
3.根据权利要求1所述的一种面向微控制器的深度学习内存优化方法,其特征在于,对深度学习模型中卷积-激活结构进行融合计算优化,具体为:当卷积算子后带有激活函数,将当前算子的计算和激活函数的计算融合起来;在当前算子每个输出元素计算结束后,先计算激活后的值,然后再将激活后的值写入当前算子的输出内存中,完成一次融合计算。
4.根据权利要求1所述的一种面向微控制器的深度学习内存优化方法,其特征在于,深度学习模型中连接结构进行融合计算优化,具体为:先前提前分配连接算子Concat所需的内存空间,并将该内存空间分成两部分,分别作为Concat两个输入算子的输出内存空间,这两个输入算子计算后的特征图直接存放在Concat输出对应的内存地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310782140.8A CN116501509B (zh) | 2023-06-29 | 2023-06-29 | 一种面向微控制器的深度学习内存优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310782140.8A CN116501509B (zh) | 2023-06-29 | 2023-06-29 | 一种面向微控制器的深度学习内存优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116501509A CN116501509A (zh) | 2023-07-28 |
CN116501509B true CN116501509B (zh) | 2023-09-08 |
Family
ID=87328857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310782140.8A Active CN116501509B (zh) | 2023-06-29 | 2023-06-29 | 一种面向微控制器的深度学习内存优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501509B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490309A (zh) * | 2019-08-14 | 2019-11-22 | 北京中科寒武纪科技有限公司 | 一种用于神经网络的算子融合方法及其相关产品 |
CN112598121A (zh) * | 2020-12-21 | 2021-04-02 | 北京时代民芯科技有限公司 | 一种面向深度学习编译器的高效算子优化方法 |
CN113065639A (zh) * | 2021-03-08 | 2021-07-02 | 深圳云天励飞技术股份有限公司 | 算子融合方法、系统、设备及存储介质 |
CN114936631A (zh) * | 2021-04-26 | 2022-08-23 | 华为技术有限公司 | 一种模型处理方法及装置 |
CN114995823A (zh) * | 2022-06-07 | 2022-09-02 | 重庆大学 | 一种面向cnn专用加速器的深度学习编译器优化方法 |
KR20220143276A (ko) * | 2021-04-16 | 2022-10-25 | 서울시립대학교 산학협력단 | 딥 러닝 모델 학습 방법 및 학습기 |
CN115908087A (zh) * | 2021-09-30 | 2023-04-04 | 鸿海精密工业股份有限公司 | 基于神经网络模型的图像处理方法、电子设备及存储介质 |
-
2023
- 2023-06-29 CN CN202310782140.8A patent/CN116501509B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110490309A (zh) * | 2019-08-14 | 2019-11-22 | 北京中科寒武纪科技有限公司 | 一种用于神经网络的算子融合方法及其相关产品 |
CN112598121A (zh) * | 2020-12-21 | 2021-04-02 | 北京时代民芯科技有限公司 | 一种面向深度学习编译器的高效算子优化方法 |
CN113065639A (zh) * | 2021-03-08 | 2021-07-02 | 深圳云天励飞技术股份有限公司 | 算子融合方法、系统、设备及存储介质 |
KR20220143276A (ko) * | 2021-04-16 | 2022-10-25 | 서울시립대학교 산학협력단 | 딥 러닝 모델 학습 방법 및 학습기 |
CN114936631A (zh) * | 2021-04-26 | 2022-08-23 | 华为技术有限公司 | 一种模型处理方法及装置 |
CN115908087A (zh) * | 2021-09-30 | 2023-04-04 | 鸿海精密工业股份有限公司 | 基于神经网络模型的图像处理方法、电子设备及存储介质 |
CN114995823A (zh) * | 2022-06-07 | 2022-09-02 | 重庆大学 | 一种面向cnn专用加速器的深度学习编译器优化方法 |
Non-Patent Citations (1)
Title |
---|
面向内存受限设备的新型卷积计算方法;孙雁飞等;《南京邮电大学学报(自然科学版)》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116501509A (zh) | 2023-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200272892A1 (en) | Super-tiling in neural network processing to enabling analytics at lower memory speed | |
Brockmeyer et al. | Layer assignment techniques for low energy in multi-layered memory organisations | |
CN102136993B (zh) | 一种数据迁移的方法、装置和系统 | |
US20050246700A1 (en) | Compiler with cache utilization optimizations | |
CN112163601B (zh) | 图像分类方法、系统、计算机设备及存储介质 | |
CN107111653A (zh) | 适于并行数据库系统的系统内存负载的查询优化 | |
CN105468439A (zh) | 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行算法 | |
CN113037800B (zh) | 作业调度方法以及作业调度装置 | |
Sohrabizadeh et al. | Automated accelerator optimization aided by graph neural networks | |
CN103150245A (zh) | 确定数据实体的访问特性的方法和存储控制器 | |
CN103049393B (zh) | 内存空间管理方法和装置 | |
CN116302461A (zh) | 深度学习内存分配优化方法和系统 | |
CN112214261A (zh) | 一种面向边缘智能的三层结构dnn计算卸载方法 | |
Zhang et al. | Point-x: A spatial-locality-aware architecture for energy-efficient graph-based point-cloud deep learning | |
CN105739909A (zh) | 分布式存储系统中基于时间的数据放置方法和装置 | |
CN103019956B (zh) | 一种对缓存数据的操作方法和装置 | |
CN109710500A (zh) | 一种基于自动伸缩Docker集群的组合预测方法 | |
CN116501509B (zh) | 一种面向微控制器的深度学习内存优化方法 | |
CN111814376A (zh) | 一种车身接附点刚度结果提取方法及电子设备 | |
CN117235032B (zh) | 一种分布式链接预测方法及装置 | |
CN116401502B (zh) | 一种基于NUMA系统特性优化Winograd卷积的方法及装置 | |
KR102089450B1 (ko) | 데이터이주장치 및 그 동작 방법 | |
CN113554157A (zh) | 数据处理方法及相关产品 | |
CN115827651A (zh) | 一种低能耗的机载嵌入式数据库内存事务管理方法及系统 | |
CN116188676A (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 |