CN113780553B - 一种基于高层次综合工具的深度学习模型优化方法及系统 - Google Patents
一种基于高层次综合工具的深度学习模型优化方法及系统 Download PDFInfo
- Publication number
- CN113780553B CN113780553B CN202111058333.6A CN202111058333A CN113780553B CN 113780553 B CN113780553 B CN 113780553B CN 202111058333 A CN202111058333 A CN 202111058333A CN 113780553 B CN113780553 B CN 113780553B
- Authority
- CN
- China
- Prior art keywords
- deep learning
- learning model
- circulating
- layer
- level
- 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
- 238000013136 deep learning model Methods 0.000 title claims abstract description 145
- 238000005457 optimization Methods 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 29
- 238000012549 training Methods 0.000 claims abstract description 26
- 125000004122 cyclic group Chemical group 0.000 claims abstract description 21
- 238000004088 simulation Methods 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims abstract description 12
- 238000013461 design Methods 0.000 claims description 28
- 238000011176 pooling Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 230000015572 biosynthetic process Effects 0.000 claims description 13
- 238000003786 synthesis reaction Methods 0.000 claims description 13
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 12
- 230000000694 effects Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 3
- 238000013135 deep learning Methods 0.000 abstract description 4
- 238000013527 convolutional neural network Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- 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
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及深度学习技术领域,提出一种基于高层次综合工具的深度学习模型优化方法及系统,其中包括以下步骤:根据目标功能设计深度学习模型;获取训练样本,输入所述深度学习模型进行训练,得到深度学习模型的参数权值;根据所述深度学习模型的参数权值,通过高层次语言表示所述深度学习模型;对所述深度学习模型中的各层循环体进行优化;通过高层次综合工具将经过优化的深度学习模型进行联合仿真。本发明针对深度学习模型中的循环体进行循环展开以及流水线处理来缩短时延从而提升系统的吞吐量,从而降低深度学习模型的硬件功耗,且本发明中的深度学习模型经过高层次语言构建后,再通过高层次综合工具进行转换,能够有效缩短硬件设计的开发周期。
Description
技术领域
本发明涉及深度学习技术领域,更具体地,涉及一种基于高层次综合工具的深度学习模型优化方法及系统。
背景技术
深度学习(DL,Deep Learning)是机器学习(ML,Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI,ArtificialIntelligence)。而卷积神经网络(Convolutional Neural Networks,CNN)在图像分类与处理、视频监控以及机器视觉领域具有及其重要的研究意义和应用价值。
深度学习模型是以数据处理为核心,其包含大量的计算操作,如GoogleNet网络模型包含15.5亿浮点操作,ResNet-152网络模型包含了113亿浮点操作等,这对CPU来说并不友好,同时,受制于CPU(Central Processing Unit)的串行处理方式,通过软件的实现方式效率并不高,难以满足快速实时的应用需求。基于GPU(Graphics Processing Unit)、ASIC以及FPGA的实现方式相继被提出,用于加速卷积神经网络的计算速度。然而,在实际使用时容易发现,采用GPU的功耗严重,而采用ASIC加速器的硬件设计与开发周期较长,成本较高,硬件生成后通常无法改变,灵活性不高。
发明内容
本发明为克服上述现有技术所述的深度学习模型的硬件加速设计存在开发周期长、功耗严重的缺陷,提供一种基于高层次综合工具的深度学习模型优化方法及系统。
为解决上述技术问题,本发明的技术方案如下:
一种基于高层次综合工具的深度学习模型优化方法,包括以下步骤:根据目标功能设计深度学习模型;获取训练样本,输入所述深度学习模型进行训练,得到深度学习模型的参数权值;根据所述深度学习模型的参数权值,通过高层次语言表示所述深度学习模型;对所述深度学习模型中的各层循环体进行优化;通过高层次综合工具将经过优化的深度学习模型进行联合仿真。
作为优选方案,对所述深度学习模型中的循环体进行优化时,对循环体采用循环分块、循环展开、循环流水技术中的一种或多种。
作为优选方案,通过高层次综合工具将经过优化的深度学习模型进行联合仿真中,还包括以下步骤:通过高层次综合工具对所述的深度学习模型的循环体进行循环流水优化。
作为优选方案,对所述的深度学习模型的循环体进行循环流水优化的步骤包括:判断所述深度学习模型的循环体是否为嵌套循环,若是,则将所述嵌套循环中各层循环下的子循环完全展开后再对子循环进行流水线处理;若否,则仅对最内层循环进行流水线处理。
作为优选方案,通过高层次综合工具将经过优化的深度学习模型进行联合仿真,还包括以下步骤:将经过训练的深度学习模型的参数权值配置在所述深度学习模型中,并将其前向传播的过程进行高层次综合设计。
作为优选方案,还包括以下步骤:将经过高层次综合工具进行联合仿真得到的深度学习模型的IP核烧录至FPGA上,验证所述深度学习模型的功能准确性及优化效果。
进一步的,本发明还提出了一种基于高层次综合工具的深度学习模型优化系统,应用上述任一技术方案提出的深度学习模型优化方法,其包括深度学习模型设计模块、训练模块、高层次语言表示模块、优化模块和高层次综合工具。
其中,深度学习模型设计模块用于根据目标功能设计深度学习模型;训练模块用于将训练样本输入所述深度学习模型进行训练,得到深度学习模型的参数权值;高层次语言表示模块用于根据所述深度学习模型的参数权值,通过高层次语言表示所述深度学习模型;优化模块用于对所述深度学习模型中的各层循环体进行优化;高层次综合工具用于将经过优化的深度学习模型进行联合仿真。
作为优选方案,所述深度学习模型设计模块包括:卷积运算设计单元,用于设计及构建由输入层到卷积层的卷积运算;池化运算设计单元,用于设计及构建由卷积层到池化层的池化运算;全连接算法设计单元,用于设计及构建由池化层到输出层的全连接算法。
作为优选方案,所述优化模块包括:循环分块单元,用于将循环体拆分为若干小循环体;循环展开单元,用于将循环体中各层循环下的自循环完全展开;循环流水处理单元,用于对循环体进行流水线处理。
作为优选方案,所述系统还包括FPGA模块,用于烧录经所述高层次综合工具联合仿真得到的深度学习模型IP核,并验证所述深度学习模型的功能准确性及优化效果。
与现有技术相比,本发明技术方案的有益效果是:本发明针对深度学习模型中的循环体进行循环展开以及流水线处理来缩短时延,提升系统的吞吐量,从而降低深度学习模型的硬件功耗,且本发明中的深度学习模型经过高层次语言构建后,再通过高层次综合工具进行转换,能够有效缩短硬件设计的开发周期。
附图说明
图1为实施例1的基于高层次综合工具的深度学习模型优化方法的流程图。
图2为实施例2的LeNet5网络模型的结构架构图。
图3为实施例2的仿真硬件设计架构图。
图4为实施例3的深度学习模型优化系统的架构图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本实施例提出一种基于高层次综合工具的深度学习模型优化方法,其流程图请参阅图1。
本实施例提出的基于高层次综合工具的深度学习模型优化方法中,包括以下步骤:
步骤1:根据目标功能设计深度学习模型。
本步骤中,根据目标功能点对深度学习模型中的输入层、卷积层、池化层、输出层等结构进行设计,并初始化设置深度学习模型的参数。
步骤2:获取训练样本,输入所述深度学习模型进行训练,得到深度学习模型的参数权值。
本步骤中,从现有的数据集中获取训练样本,可同时获取用于验证深度学习模型的测试样本。
步骤3:根据所述深度学习模型的参数权值,通过高层次语言表示所述深度学习模型。
步骤4:对所述深度学习模型中的各层循环体进行优化。
本步骤中,对所述深度学习模型中的循环体进行优化时,对循环体采用循环分块、循环展开、循环流水技术中的一种或多种。
步骤5:通过高层次综合工具将经过优化的深度学习模型进行联合仿真。
本步骤中,通过高层次综合工具进行联合仿真的过程中,还对所述的深度学习模型的循环体进行循环流水优化。其中,对深度学习模型的循环体进行循环流水优化的步骤包括:判断所述深度学习模型的循环体是否为嵌套循环,若是,则将所述嵌套循环中各层循环下的子循环完全展开后再对子循环进行流水线处理;若否,则仅对最内层循环进行流水线处理。
在本步骤中,将经过训练的深度学习模型的参数权值配置在所述深度学习模型中,并将其前向传播的过程进行高层次综合设计。
进一步的,为验证经过优化的深度学习模型的功能准确性,本实施例将经过高层次综合工具进行联合仿真得到的深度学习模型的IP核烧录至FPGA上,验证所述深度学习模型的功能准确性及优化效果。
本实施例中,针对算法中的循环体进行循环展开以及流水线处理来缩短Latency提升系统的吞吐量,从而降低深度学习模型的硬件功耗,且本实施例中的深度学习模型经过高层次语言构建后,再通过高层次综合工具进行转换,能够有效缩短硬件设计的开发周期。
实施例2
本实施例应用实施例1提出的基于高层次综合工具的深度学习模型优化方法,应用于LeNet5网络的优化。
首先,根据目标功能设计LeNet5网络模型,对现有的LeNet5网络作相应的修改。完成设计的LeNet5网络模型的结构架构图如图2所示。其中包括输入层INPUT,卷积层C1,池化层S2,卷积层C3,池化层S4和输出层OUTPUT。
从MNIST数据集中获取10000个训练样本并输入LeNet5网络模型中进行训练,得到完成训练的网络参数权值。如下表1所示,为本实施例适用于MNIST数据集的LeNet5卷积神经网络参数。
表1 适用于MNIST数据集的LeNet5卷积神经网络参数
进一步的,本实施例根据LeNet5卷积神经网络参数,通过C语言设计LeNet5网络,再对LeNet5网络中的各层循环体进行优化。以LeNet5卷积神经网络中包含的卷积算法的伪代码为例,其伪代码表示如下:
由上述算法伪代码可知,在深度学习模型中,尤其是卷积神经网络的计算中存在大量循环体,且卷积神经网络中的循环体多为完美循环(Perfect Loop),即在循环迭代中下一次迭代与上一次迭代结果无关,故可以对循环做大量优化操作。本实施例针对算法中的循环体进行循环展开、循环分块以及流水线处理来缩短Latency提升系统的吞吐量。
在对循环体进行优化过程中,上述卷积算法伪代码为例,可以看到其包含了5层的嵌套循环。以最外层循环为第一层,整个嵌套循环的层次结构如下:
完成LeNet5网络模型中各层循环体的优化后,通过高层次综合工具将经过优化的深度学习模型进行联合仿真,其中,本实施例还采用高层次综合工具对LeNet5网络模型中的循环体进行循环流水优化。具体的,首先判断循环体是否为嵌套循环,若是,则将嵌套循环中各层循环下的子循环完全展开后再对子循环进行流水线处理;若否,即表示循环体为非完美循环,则高层次综合工具会拒绝执行循环展开操作,只对最内层循环进行流水线处理。
虽然对于循环体进行展开以及流水线处理能够大幅提升循环执行速度,但是当循环体展开次数过大时也会到时资源的消耗量剧增,因此平衡高层次综合工具生成的卷积神经网络IP核的处理性能与资源消耗则是一个优化的关键方向。本实施例将不同层次的循环体进行展开以及流水线处理,其中统一层次以及经过空间设计探索后,针对不同层次进行流水线处理得到的结果如下表2~4所示。
表2 不同层次循环展开后时钟结果
Clock | (ns) | Default | 第五层 | 第四层 | 第三层 | 第二层 | 不同层 |
ap_clk | Target | 10.00 | 10.00 | 10.00 | 10.00 | 10.00 | 10.00 |
Estimated | 8.69 | 10.94 | 16.46 | 16.46 | 10.56 | 10.94 |
表3 不同层次循环展开后时延结果
(Clock cycles) | Default | 第五层 | 第四层 | 第三层 | 第二层 | 不同层 | |
Latency | min | 3314785 | 1546654 | 1216989 | 415318 | 331706 | 184517 |
max | 3316297 | 1548166 | 1218501 | 416830 | 333218 | 186029 | |
Interval | min | 3314786 | 1546655 | 1216990 | 415319 | 331707 | 184518 |
max | 3316298 | 1548167 | 1218502 | 416831 | 333219 | 186030 |
表4 不同层次循环展开后资源结果
Default | 第五层 | 第四层 | 第三层 | 第二层 | 不同层 | |
BRAM_18K | 50 | 50 | 92 | 92 | 92 | 90 |
DSP48E | 176 | 150 | 148 | 204 | 386 | 176 |
FF | 22017 | 22167 | 26036 | 39614 | 117693 | 34882 |
LUT | 32218 | 33072 | 36765 | 47861 | 122372 | 41817 |
由上表可知,当默认情况下进行高层次综合时生成的卷积神经网络的Latency最小为3314785个时钟周期,而资源占用中DSP48以及LUT的占用超过60%,BRAM与FF的占用小于20%。
当将所有算法中的嵌套循环按照层次进行流水线处理时可以看到第五层也即最内层循环做流水线处理时资源占用略有变化,但是Latency已经可以减少一半左右。
当对第三层进行流水线处理并且子循环已经全展开,可以看到Latency减少了8倍左右而资源占用方面DSP与LUT在90%左右而BRAM和FF也超过了32%。
当对第二层进行流水线处理并将子循环全展开后可以看到Latency减少了近10倍,但是资源占用大大增加,DSP用量达175%,FF用量达110%而LUT的用量更高达230%。因此针对第二层或更高层的循环进行流水线处理时需要格外的小心。
本实施例针对不同算法的循环分别进行流水线处理,即不进行统一层次的流水线处理,最终得到的Latency可达184517个时钟周期,而资源占用上BRAM_18K占用了32%,DSP48E占用了80%,FF占用了33%以及LUT占用了78%。
此外,本实施例针对通过高层次综合工具处理生成的卷积神经网络的IP核在VivadoHLS工具中进行了C/RTL联合仿真。其仿真的硬件设计架构图如图3所示。本实施例采用ARMCortex-A9处理器来进行逻辑控制并从SD卡中读取MNIST测试集的数据存放在DDR3内存中。而后通过DMA模块使用AXIStream作为传输方式将图片传入卷积神经网络IP核中进行处理再使用AXI读取卷积神经网络IP核的输出结果,并显示在OLED上。
进一步的,本实施例还将经过联合仿真的卷积神经网络的IP核烧录至FPGA上进行验证,资源占用数据如下表5所示。
表5 IP核资源占用表
Resource | Utilization | Available | Utilization% |
LUT | 33758 | 53200 | 63.45 |
LUTRAM | 1961 | 17400 | 11.27 |
FF | 37757 | 106400 | 35.49 |
BRAM | 46.50 | 140 | 33.21 |
DSP | 176 | 220 | 80.00 |
IO | 6 | 200 | 3.00 |
BUFG | 1 | 32 | 3.12 |
经过上板实测可到的MNIST数据集的10000张图像的识别错误数为286张,正确率为97.14%。总耗时270秒,单张图片识别耗时约27毫秒。测试结果与CPU相比有1.23倍的加速效果,而在能耗方面比通用的计算机CPU要节省94.25%的功耗。
实施例3
本实施例提出一种基于高层次综合工具的深度学习模型优化系统,其系统架构图请参阅图4。
本实施例提出的基于高层次综合工具的深度学习模型优化系统中,包括:
深度学习模型设计模块,用于根据目标功能设计深度学习模型;
训练模块,用于将训练样本输入所述深度学习模型进行训练,得到深度学习模型的参数权值;
高层次语言表示模块,用于根据所述深度学习模型的参数权值,通过高层次语言表示所述深度学习模型;
优化模块,用于对所述深度学习模型中的各层循环体进行优化;
高层次综合工具,用于将经过优化的深度学习模型进行联合仿真。
其中,深度学习模型设计模块包括:卷积运算设计单元,用于设计及构建由输入层到卷积层的卷积运算;池化运算设计单元,用于设计及构建由卷积层到池化层的池化运算;全连接算法设计单元,用于设计及构建由池化层到输出层的全连接算法。本实施例中的深度学习模型设计模块根据目标功能对模型中的输入层、卷积层、池化层、输出层及其中涉及的算法进行设计及构建。
本实施例中的优化模块包括:循环分块单元,用于将循环体拆分为若干小循环体;循环展开单元,用于将循环体中各层循环下的自循环完全展开;循环流水处理单元,用于对循环体进行流水线处理。优化模块根据输入的深度学习模型中包含的循环体的类型针对性地进行循环分块、循环展开和/或循环流水处理等循环优化操作。
本实施例中的系统还包括FPGA模块,用于烧录经所述高层次综合工具联合仿真得到的深度学习模型IP核,并验证所述深度学习模型的功能准确性及优化效果。
在具体实施过程中,首先通过深度学习模型设计模块根据目标功能设计深度学习模型,根据目标功能点对深度学习模型中的输入层、卷积层、池化层、输出层等结构进行设计,并初始化设置深度学习模型的参数。将完成设计的深度学习模型输入训练模块中,训练模块将其采集的训练样本输入所述深度学习模型进行训练,得到深度学习模型的参数权值。完成训练的深度学习模型输入高层次语言表示模块中,采用C语言对深度学习模型进行转换,再通过优化模块对深度学习模型中的各层循环体进行优化,具体的,对循环体采用循环分块、循环展开和/或循环流水技术进行优化。最后通过高层次综合工具将经过优化的深度学习模型进行联合仿真,再将其IP核烧录至FPGA模块中,验证所述深度学习模型的功能准确性及优化效果。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (8)
1.一种基于高层次综合工具的深度学习模型优化方法,其特征在于,包括以下步骤:
根据目标功能设计深度学习模型;
获取训练样本,输入所述深度学习模型进行训练,得到深度学习模型的参数权值;
根据所述深度学习模型的参数权值,通过高层次语言表示所述深度学习模型;
对所述深度学习模型中的各层循环体进行优化;其中,将循环体拆分为若干小循环体,再将循环体中各层循环下的自循环完全展开,最后对循环体进行流水线处理,以完成循环体的优化;
通过高层次综合工具将经过优化的深度学习模型进行联合仿真,以及通过高层次综合工具对所述的深度学习模型的循环体进行循环流水优化;
其中,对所述深度学习模型的循环体进行循环流水优化的步骤包括:判断所述深度学习模型的循环体是否为嵌套循环,若是,则将所述嵌套循环中各层循环下的子循环完全展开后再对子循环进行流水线处理;若否,则仅对最内层循环进行流水线处理。
2.根据权利要求1所述的基于高层次综合工具的深度学习模型优化方法,其特征在于,对所述深度学习模型中的循环体进行优化时,对循环体采用循环分块、循环展开、循环流水技术中的一种或多种。
3.根据权利要求1所述的基于高层次综合工具的深度学习模型优化方法,其特征在于,通过高层次综合工具将经过优化的深度学习模型进行联合仿真,还包括以下步骤:将经过训练的深度学习模型的参数权值配置在所述深度学习模型中,并将其前向传播的过程进行高层次综合设计。
4.根据权利要求1~3任一项所述的基于高层次综合工具的深度学习模型优化方法,其特征在于,还包括以下步骤:将经过高层次综合工具进行联合仿真得到的深度学习模型的IP核烧录至FPGA上,验证所述深度学习模型的功能准确性及优化效果。
5.一种基于高层次综合工具的深度学习模型优化系统,应用于权利要求1~4任一项所述的深度学习模型优化方法,其特征在于,包括:
深度学习模型设计模块,用于根据目标功能设计深度学习模型;
训练模块,用于将训练样本输入所述深度学习模型进行训练,得到深度学习模型的参数权值;
高层次语言表示模块,用于根据所述深度学习模型的参数权值,通过高层次语言表示所述深度学习模型;
优化模块,用于对所述深度学习模型中的各层循环体进行优化;
高层次综合工具,用于将经过优化的深度学习模型进行联合仿真。
6.根据权利要求5所述的基于高层次综合工具的深度学习模型优化系统,其特征在于,所述深度学习模型设计模块包括:
卷积运算设计单元,用于设计及构建由输入层到卷积层的卷积运算;
池化运算设计单元,用于设计及构建由卷积层到池化层的池化运算;
全连接算法设计单元,用于设计及构建由池化层到输出层的全连接算法。
7.根据权利要求5所述的基于高层次综合工具的深度学习模型优化系统,其特征在于,所述优化模块包括:
循环分块单元,用于将循环体拆分为若干小循环体;
循环展开单元,用于将循环体中各层循环下的自循环完全展开;
循环流水处理单元,用于对循环体进行流水线处理。
8.根据权利要求5所述的基于高层次综合工具的深度学习模型优化系统,其特征在于,所述系统还包括FPGA模块,用于烧录经所述高层次综合工具联合仿真得到的深度学习模型IP核,并验证所述深度学习模型的功能准确性及优化效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111058333.6A CN113780553B (zh) | 2021-09-09 | 2021-09-09 | 一种基于高层次综合工具的深度学习模型优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111058333.6A CN113780553B (zh) | 2021-09-09 | 2021-09-09 | 一种基于高层次综合工具的深度学习模型优化方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113780553A CN113780553A (zh) | 2021-12-10 |
CN113780553B true CN113780553B (zh) | 2023-11-07 |
Family
ID=78842225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111058333.6A Active CN113780553B (zh) | 2021-09-09 | 2021-09-09 | 一种基于高层次综合工具的深度学习模型优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113780553B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775905A (zh) * | 2016-11-19 | 2017-05-31 | 天津大学 | 基于fpga的高级综合实现拟牛顿算法加速的方法 |
CN106934456A (zh) * | 2017-03-16 | 2017-07-07 | 山东理工大学 | 一种深度卷积神经网络模型构建方法 |
CN107563496A (zh) * | 2017-08-07 | 2018-01-09 | 北京工业大学 | 一种向量核卷积神经网络的深度学习模式识别方法 |
CN110084363A (zh) * | 2019-05-15 | 2019-08-02 | 电科瑞达(成都)科技有限公司 | 一种基于fpga平台的深度学习模型加速方法 |
CN110134042A (zh) * | 2019-05-10 | 2019-08-16 | 吉林大学 | 车辆路径跟踪预测控制器及fpga异构加速实现方法 |
CN110929688A (zh) * | 2019-12-10 | 2020-03-27 | 齐齐哈尔大学 | 一种水稻杂草识别加速系统的构建方法及其加速方法 |
CN111967468A (zh) * | 2020-08-10 | 2020-11-20 | 东南大学 | 一种基于fpga的轻量级目标检测神经网络的实现方法 |
CN112506568A (zh) * | 2016-12-31 | 2021-03-16 | 英特尔公司 | 用于异构计算的系统、方法和装置 |
-
2021
- 2021-09-09 CN CN202111058333.6A patent/CN113780553B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775905A (zh) * | 2016-11-19 | 2017-05-31 | 天津大学 | 基于fpga的高级综合实现拟牛顿算法加速的方法 |
CN112506568A (zh) * | 2016-12-31 | 2021-03-16 | 英特尔公司 | 用于异构计算的系统、方法和装置 |
CN106934456A (zh) * | 2017-03-16 | 2017-07-07 | 山东理工大学 | 一种深度卷积神经网络模型构建方法 |
CN107563496A (zh) * | 2017-08-07 | 2018-01-09 | 北京工业大学 | 一种向量核卷积神经网络的深度学习模式识别方法 |
CN110134042A (zh) * | 2019-05-10 | 2019-08-16 | 吉林大学 | 车辆路径跟踪预测控制器及fpga异构加速实现方法 |
CN110084363A (zh) * | 2019-05-15 | 2019-08-02 | 电科瑞达(成都)科技有限公司 | 一种基于fpga平台的深度学习模型加速方法 |
CN110929688A (zh) * | 2019-12-10 | 2020-03-27 | 齐齐哈尔大学 | 一种水稻杂草识别加速系统的构建方法及其加速方法 |
CN111967468A (zh) * | 2020-08-10 | 2020-11-20 | 东南大学 | 一种基于fpga的轻量级目标检测神经网络的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113780553A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xing et al. | DNNVM: End-to-end compiler leveraging heterogeneous optimizations on FPGA-based CNN accelerators | |
CN111967468B (zh) | 一种基于fpga的轻量级目标检测神经网络的实现方法 | |
Zhang et al. | Optimizing FPGA-based accelerator design for deep convolutional neural networks | |
CN111459877B (zh) | 基于FPGA加速的Winograd YOLOv2目标检测模型方法 | |
WO2018171715A1 (zh) | 适用神经网络处理器的自动化设计方法及系统 | |
Wang et al. | Via: A novel vision-transformer accelerator based on fpga | |
Fan et al. | Adaptable butterfly accelerator for attention-based NNs via hardware and algorithm co-design | |
Westby et al. | FPGA acceleration on a multi-layer perceptron neural network for digit recognition | |
CN112052642B (zh) | 用于机器学习的esl建模的系统和方法 | |
Wang et al. | PipeCNN: An OpenCL-based FPGA accelerator for large-scale convolution neuron networks | |
CN106383695A (zh) | 基于fpga的聚类算法的加速系统及其设计方法 | |
Xu et al. | CaFPGA: An automatic generation model for CNN accelerator | |
CN111563582A (zh) | 一种在fpga上实现及优化加速卷积神经网络的方法 | |
Shiue et al. | Memory design and exploration for low power, embedded systems | |
Wang et al. | Briefly Analysis about CNN Accelerator based on FPGA | |
Odetola et al. | 2l-3w: 2-level 3-way hardware-software co-verification for the mapping of deep learning architecture (dla) onto fpga boards | |
Wu | Review on FPGA-based accelerators in deep learning | |
CN113780553B (zh) | 一种基于高层次综合工具的深度学习模型优化方法及系统 | |
Odetola et al. | 2l-3w: 2-level 3-way hardware–software co-verification for the mapping of convolutional neural network (cnn) onto fpga boards | |
Luo et al. | Design of FPGA‐Based Accelerator for Convolutional Neural Network under Heterogeneous Computing Framework with OpenCL | |
WO2022095676A1 (zh) | 神经网络稀疏化的设备、方法及相应产品 | |
US11430496B2 (en) | Phase-aware DDR command dynamic scheduling | |
Li et al. | Low power design methodology for signal processing systems using lightweight dataflow techniques | |
Shaji et al. | Power and Delay Efficient Approximate Sparse Matrix Vector Multiplication on FPGA using HLS | |
CN111861860B (zh) | 一种面向ai智能soc芯片的图像加速处理系统 |
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 |