CN111667046A - 深度学习加速方法及用户终端 - Google Patents
深度学习加速方法及用户终端 Download PDFInfo
- Publication number
- CN111667046A CN111667046A CN201910178362.2A CN201910178362A CN111667046A CN 111667046 A CN111667046 A CN 111667046A CN 201910178362 A CN201910178362 A CN 201910178362A CN 111667046 A CN111667046 A CN 111667046A
- Authority
- CN
- China
- Prior art keywords
- layer
- processor
- deep learning
- data operation
- user terminal
- 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.)
- Pending
Links
- 238000013135 deep learning Methods 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000001133 acceleration Effects 0.000 title claims abstract description 26
- 238000012549 training Methods 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 16
- 210000002569 neuron Anatomy 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 11
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 description 24
- 230000006870 function Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 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/08—Learning methods
-
- 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
- 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Stored Programmes (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种深度学习加速方法,所述方法包括,调取完整的深度学习架构,深度学习架构包括卷积层的数据运算程序和全连接层的数据运算程序;获取深度学习架构中卷积层的数据运算程序,舍弃全连接层的数据运算程序;加载卷积层的数据运算程序至用户终端的第一处理器上;获取一应用对应的全连接层的数据运算程序,并将所述应用对应的全连接层的数据运算程序加载至用户终端的第二处理器上;将使用所述第一处理器执行卷积层运算得到的结果输入至第二处理器中继续执行全连接层运算,进而在所述用户终端上完成完整的深度学习架构并进行训练。本发明可以使整个深度学习架构都在用户终端上实现。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种深度学习加速方法和用户终端。
背景技术
深度学习方法用于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。不同的深度学习架构下建立的学习模型是不同的,例如,卷积神经网络(Convolutional neural networks,简称CNNs)就是一种深度的监督学习下的机器学习模型,而深度置信网(Deep Belief Nets,简称DBNs)就是一种无监督学习下的机器学习模型。基于卷积神经网络的深度学习架构处理信息数据时的准确率高,但是基于卷积神经网络的深度学习架构的数据和计算量都十分巨大,过去基于卷积神经网络的深度学习架构的计算需要在云端服务器上上才可以顺利执行,训练完成的结果还需要透过网络传输将其送至终端,此过程既费时,也需要透过安全的管道传输才可确保数据的安全。
发明内容
鉴于以上内容,有必要提出一种深度学习加速方法及用户终端,使得深度学习架构的计算能够在用户终端上有效率的实现,不需要用户终端去云端服务器上获取深度学习的计算结果。
本申请的第一方面提供一种深度学习加速方法,所述方法包括:
调取完整的深度学习架构,所述完整的深度学习架构包括卷积层的数据运算程序以及全连接层的数据运算程序;
获取所述深度学习架构中卷积层的数据运算程序,并舍弃全连接层的数据运算程序,加载所述卷积层的数据运算程序至用户终端的第一处理器上;
获取一应用对应的全连接层的数据运算程序,并将所述应用对应的全连接层的数据运算程序加载至所述用户终端的第二处理器上,其中,不同的应用对应不同的全连接层数据运算程序;
将使用所述第一处理器执行卷积层运算得到的结果输入至所述第二处理器中继续执行全连接层运算,进而在所述用户终端上完成完整的深度学习架构并进行训练。
所述深度学习架构是基于VGG16的神经网络架构。
加载所述卷积层的数据运算程序至用户终端的第一处理器之前,所述方法还包括:根据所述卷积层的数据量和所述第一处理器中存储器的容量,判断是否需要将所述卷积层进行分割,如果所述卷积层数据量超过所述第一处理器中存储器的最大容量值,则将所述卷积层按照卷积层的层数进行分割,并将分割后的卷积层分别加载至所述用户终端的至少一个其他第一处理器。
所述第一处理器为卷积层数据运算的专用处理器,所述第一处理器为现场可编程门阵列、数字信号处理器或专用集成电路中任一种。
所述不同的应用对应不同的全连接层数据运算程序包括不同的应用对应的全连接层的层数和/或神经元的数目不同。
所述用户终端为智能手机、平板电脑、膝上型便捷计算机、台式计算机中的任意一种。
本申请的第二方面提供一种用户终端,所述用户终端包括:
通信单元,所述通信单元与一计算机装置建立通信连接并进行数据通信,其中所述计算机装置中存储有完整的深度学习架构,所述完整的深度学习架构包括卷积层的数据运算程序以及全连接层的数据运算程序;
至少一个第一处理器;
至少一个第二处理器;
中央处理器;以及
存储器,所述存储器中存储有计算机程序指令,所述计算机程序指令由所述中央处理器运行并执行如下步骤:
从所述计算机装置调取所述深度学习架构中卷积层的数据运算程序,并舍弃全连接层的数据运算程序;
加载所述卷积层的数据运算程序至所述至少一个第一处理器上;
获取一应用对应的全连接层的数据运算程序,并将所述应用对应的全连接层的数据运算程序加载至所述至少一个第二处理器上,其中,不同的应用对应不同的全连接层数据运算程序;
将使用所述第一处理器执行卷积层运算得到的结果输入至所述第二处理器中继续执行全连接层运算,进而在所述用户终端上完成完整的深度学习架构并进行训练。
所述计算机程序指令由所述中央处理器运行时还执行如下步骤:
将所述卷积层的数据量与一个第一处理器中存储器的最大容量值进行比对判断是否需要将所述卷积层进行分割;
如果所述卷积层数据量超过一个第一处理器中存储器的最大容量值,则将所述卷积层按照卷积层的层数进行分割,并将分割后的卷积层分别加载至多个第一处理器。
所述不同的应用对应的不同全连接层数据运算程序包含的全连接层的层数和/或神经元的数目不同。
所述用户终端为智能手机、平板电脑、膝上型便捷计算机、台式计算机中的任意一种。
本发明将卷积神经网络的卷积层的运算量加载至用户终端的卷积运算专用的第一处理器中进行运算,利用硬件加速卷积层的运算速度,针对不同的应用,设计不同全连接层的层数和神经元的个数,并将所述全连接层的运算加载到用户终端的第二处理器中执行,使得整个深度学习架构与运算都可以在用户终端上有效率的实现。
附图说明
图1是本发明实施例一提供的深度学习加速方法的应用环境架构示意图。
图2是本发明实施例二提供的深度学习加速方法流程图。
图3是本发明实施例三提供的用户终端的硬件架构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
实施例一
参阅图1所示,为本发明实施例一提供的深度学习优化加速方法的应用环境架构示意图。
本发明中的深度学习优化加速方法应用在用户终端1中,所述用户终端1和计算机装置2通过网络建立通信连接。所述网络可以是有线网络,也可以是无线网络,例如无线电、无线保真(Wireless Fidelity,WIFI)、蜂窝、卫星、广播等。
所述用户终端1是安装有深度学习优化加速软件程序的电子设备,所述用户终端1包括通信单元11、至少一个第一处理器12、至少一个第二处理器13、中央处理器14、存储器15。用户终端的硬件架构示意图如图3所示。
所述通信单元11用于与所述计算机装置2建立通信连接并进行数据通信,其中所述计算机装置2中存储有完整的深度学习架构,所述完整的深度学习架构包括卷积层的数据运算程序以及全连接层的数据运算程序。
所述第一处理器12用于加载所述卷积层的数据运算程序。
所述第二处理器13用于加载一应用对应的全连接层的数据运算程序;
所述中央处理器14可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器。所述中央处理器14也可以是第一处理器12或第二处理器13。
所述存储器15用于存储所述计算机程序和/或模块/单元,所述第一处理器12、第二处理器13、中央处理器14通过运行或执行存储在所述存储器15内的计算机程序和/或模块/单元,以及调用存储在存储器15内的数据,实现所述用户终端1的各种功能。所述存储器15可主要包括存储程序区和存储数据区,其中,存储程序可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据用户终端1的使用所创建的数据(比如卷积层的数据运算程序和全连接层的数据运算程序)等。此外,存储器15可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述用户终端1可以是但不限于智能手机、平板电脑、膝上型便捷计算机、台式计算机等。
所述计算机装置2可以为具有强大计算处理功能的计算机,所述计算机装置2中存储整个深度学习架构中卷积层的数据运算程序和全连接层的数据运算程序。例如个人电脑、服务器等,其中,所述服务器可以是单一的服务器、服务器集群或云服务器等。
实施例二
请参阅图2所示,是本发明第二实施例提供的深度学习优化加速方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
步骤S1、调取完整的深度学习架构,所述完整的深度学习架构包括卷积层的数据运算程序以及全连接层的数据运算程序。
本实施方式中,从计算机装置中调取所述完整的深度学习架构。例如,可以通过API接口访问所述计算机装置调取所述完整的深度学习架构。
本发明一实施方式中,所述深度学习架构是基于VGG16的神经网络架构,包括卷积层、全连接层。
在本发明的一实施例中,所述深度学习架构是基于神经网络的架构,所述深度学习架构包含13层卷积层和3层全连接层。所述深度学习架构应用于图像识别领域。在其他实施方式中,卷积层的层数可以根据图像识别的效果进行调整,同样的,全连接层的层数也可以根据实际应用的复杂程度进行调整,如果应用的复杂程度低,一层全连接层能完成所有的功能,也可以将全连接层的层数减为一层。
在本实施例中输入图像为一个大小为224×224×3的一个RGB图像,其中224×224为图像的大小,3为RGB图像的三个通道。所述图像分别分成了R层,G层,B层,每层图像上的颜色信息由颜色矩阵表示,颜色矩阵中每个元素的颜色值的范围取0到255的整数。
选用一个3×3,步长为1的卷积核构建第一层卷积层。所述卷积核为一个3×3的矩阵,矩阵方程中的各个元素的数值根据图像识别所要达到的效果可以随时调整,通过卷积核对图像固定位置的图像信息进行增强处理,在本发明的实施方式中,所选择的卷积核矩阵为:
用所述卷积核矩阵中的各个元素分别和所述图像的R层、G层、B层图像矩阵的各个元素进行相乘求和之后,为对所述图像进行了第一层卷积处理。经过第一层卷积处理之后,得到了所述图像的新的颜色矩阵,以所述新的颜色矩阵值作为第二层卷积运算的输入,选择新的卷积核矩阵对图像进行第二层卷积运算,以此类推,选择不同的卷积核矩阵对图像矩阵进行卷积运算直到完成13层卷积运算,得到具有13层卷积层的深度学习架构。
在本发明的其他实施方式中,如果经过第一层卷积运算,所述图像识别的效果已经满足要求,也可以只选用一层卷积运算。如果经过第一层卷积处理后,图像增强的效果不明显,可以使用相同的卷积核或对所述卷积核矩阵元素的数值更改后的第二卷积核,例如修改成:
对所述图像进行第二层卷积运算,以此类推,直到达到满意的图像识别效果。
经过卷积运算的图像矩阵作为全连接层的输入层,将所述卷积层的数值经过激活函数运算后导入全连接层,通过全连层可以按照特定规则将卷积层数据完全映射到全连接层,所述特定规则为不同的激活函数,并按照实际应用的不同设计全连接的层数和神经元数目。
在本发明的其他实施方式中,所述全连接层的层数和神经元的数目可以根据实际需要进行增减。
在上述实施方式中,根据上述方法完成了整个深度学习架构。
步骤S2,获取所述深度学习架构中卷积层的数据运算程序,并舍弃全连接层的数据运算程序;加载所述卷积层的数据运算程序至用户终端的第一处理器上。
本发明一实施方式中,加载所述卷积层的数据运算程序至用户终端的第一处理器之前,所述方法还可以包括:根据所述卷积层的数据量和所述第一处理器中存储器的容量,判断是否需要将所述卷积层进行分割,如果所述卷积层数据量超过所述第一处理器中存储器的最大容量值,需则要将所述卷积层按照卷积层的层数进行分割,并将分割后的卷积层分别加载至所述用户终端的至少一个其他第一处理器。
在本实施方式中,将深度学习架构中所述13层卷积层运算程序和3层全连接层运算程序进行分割,获取所述13层卷积层运算程序,并将所述13层卷积运算加载到第一处理器上。当13层卷积层运算数据量超过一个第一处理器的最大容量时,将所述13层卷积层进行分割,例如分割成2部分,并将分割后的2部分分别加载至两个不同的第一处理器。
本实施方式中,所述第一处理器为卷积层数据运算的专用处理器,处理器包括现场可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(DigitalSignal Processor,DSP)或专用集成电路(Application Specific Integrated Circuit,ASIC)。
步骤S3,获取一应用对应的全连接层的数据运算程序,并将所述应用对应的全连接层的数据运算程序加载至所述用户终端的第二处理器上,其中,不同的应用对应不同的全连接层数据运算程序。
所述不同的应用对应不同的全连接层数据运算程序包括不同的应用对应的全连接层的层数和/或神经元的数目不同。
在本发明的一实施方式中,所述应用为图像识别应用程序,获取针对图像识别应用程序设计的全连接层层数为3,神经元数为4096。并将所述全连接层的数据运算程序加载到第二处理器中。
在本发明的又一实施方式中,所述应用为声音识别应用程序,获取针对声音识别应用程序设计的全连接层层数为2,神经元数为2048。并将所述全连接层的数据运算程序加载到第二处理器中。
步骤S4,将使用所述第一处理器执行卷积层运算得到的结果输入至所述第二处理器中继续执行全连接层运算,进而在所述用户终端上完成完整的深度学习架构并进行训练。
所述用户终端包括智能手机、平板电脑、膝上型便捷计算机、台式计算机中的任一一种。
在本发明的一实施方式中,所述用户终端为一个智能手机,所述智能手机上至少有两个处理器,第一处理器上存储了卷积层的运算方法,在第二处理器上存储有全连接层的运算方法,所述卷积层和全连接层的设计方法根据步骤S1、S2、S3的方法得到。所述智能手机上具有了完整的深度学习架构,并可以完成整个深度学习架构的训练。
上述图2详细介绍了本发明的深度学习加速方法,下面结合第3图,对实现所述深度学习加速方法的软件装置的功能模块以及实现所述深度学习加速方法的硬件装置架构进行介绍。
应所述了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
实施例三
图3是本发明实施例三提供的用户终端的硬件架构示意图。
在一些实施例中,所述用户终端1还运行有一深度学习加速***100,所述深度学习加速***100,所述深度学习加速***100包括一个或多个程序形式的计算机指令,所述一个或多个程序形式的计算机指令存储于所述存储器15中,并由所述第一处理器12、第二处理器14、中央处理器14执行,以实现本发明提供的深度学习加速方法。在本实施方式中,所述深度学习加速***100包括深度学习架构调取模块101、第一加载模块102、第二加载模块103、加速训练模块104。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
深度学习架构调取模块101:调取完整的深度学习架构,所述完整的深度学习架构包括卷积层的数据运算程序以及全连接层的数据运算程序。
本实施方式中,从计算机装置中调取所述完整的深度学习架构。例如,可以通过API接口访问所述计算机装置调取所述完整的深度学习架构。
本发明一实施方式中,所述深度学习架构是基于VGG16的神经网络架构,包括卷积层、全连接层。
在本发明的一实施例中,所述深度学习架构是基于神经网络的架构,所述深度学习架构包含13层卷积层和3层全连接层。所述深度学习架构应用于图像识别领域。在其他实施方式中,卷积层的层数可以根据图像识别的效果进行调整,同样的,全连接层的层数也可以根据实际应用的复杂程度进行调整,如果应用的复杂程度低,一层全连接层能完成所有的功能,也可以将全连接层的层数减为一层。
在本实施例中输入图像为一个大小为224×224×3的一个RGB图像,其中224×224为图像的大小,3为RGB图像的三个通道。所述图像分别分成了R层,G层,B层,每层图像上的颜色信息由颜色矩阵表示,颜色矩阵中每个元素的颜色值的范围取0到255的整数。
选用一个3×3,步长为1的卷积核构建第一层卷积层。所述卷积核为一个3×3的矩阵,矩阵方程中的各个元素的数值根据图像识别所要达到的效果可以随时调整,通过卷积核对图像固定位置的图像信息进行增强处理,在本发明的实施方式中,所选择的卷积核矩阵为:
用所述卷积核矩阵中的各个元素分别和所述图像的R层、G层、B层图像矩阵的各个元素进行相乘求和之后,为对所述图像进行了第一层卷积处理。经过第一层卷积处理之后,得到了所述图像的新的颜色矩阵,以所述新的颜色矩阵值作为第二层卷积运算的输入,选择新的卷积核矩阵对图像进行第二层卷积运算,以此类推,选择不同的卷积核矩阵对图像矩阵进行卷积运算直到完成13层卷积运算,得到具有13层卷积层的深度学习架构。
在本发明的其他实施方式中,如果经过第一层卷积运算,所述图像识别的效果已经满足要求,也可以只选用一层卷积运算。如果经过第一层卷积处理后,图像增强的效果不明显,可以使用相同的卷积核或对所述卷积核矩阵元素的数值更改后的第二卷积核,例如修改成:
对所述图像进行第二层卷积运算,以此类推,直到达到满意的图像识别效果。
经过卷积运算的图像矩阵作为全连接层的输入层,将所述卷积层的数值经过激活函数运算后导入全连接层,通过全连层可以按照特定规则将卷积层数据完全映射到全连接层,所述特定规则为不同的激活函数,并按照实际应用的不同设计全连接的层数和神经元数目。
在本发明的其他实施方式中,所述全连接层的层数和神经元的数目可以根据实际需要进行增减。
在上述实施方式中,根据上述方法完成了整个深度学习架构。
第一加载模块102:获取所述深度学习架构中卷积层的数据运算程序,并舍弃全连接层的数据运算程序;加载所述卷积层的数据运算程序至用户终端的第一处理器上。
本发明一实施方式中,加载所述卷积层的数据运算程序至用户终端的第一处理器之前,所述方法还可以包括:根据所述卷积层的数据量和所述第一处理器中存储器的容量,判断是否需要将所述卷积层进行分割,如果所述卷积层数据量超过所述第一处理器中存储器的最大容量值,需则要将所述卷积层按照卷积层的层数进行分割,并将分割后的卷积层分别加载至所述用户终端的至少一个其他第一处理器。
在本实施方式中,将深度学习架构中所述13层卷积层运算程序和3层全连接层运算程序进行分割,获取所述13层卷积层运算程序,并将所述13层卷积运算加载到第一处理器上。当13层卷积层运算数据量超过一个第一处理器的最大容量时,将所述13层卷积层进行分割,例如分割成2部分,并将分割后的2部分分别加载至两个不同的第一处理器。
本实施方式中,所述第一处理器为卷积层数据运算的专用处理器,处理器包括现场可编程门阵列(Field-Programmable GateArray,FPGA)、数字信号处理器(DigitalSignal Processor,DSP)或专用集成电路(Application Specific Integrated Circuit,ASIC)。
第二加载模块103:获取一应用对应的全连接层的数据运算程序,并将所述应用对应的全连接层的数据运算程序加载至所述用户终端的第二处理器上,其中,不同的应用对应不同的全连接层数据运算程序。
所述不同的应用对应不同的全连接层数据运算程序包括不同的应用对应的全连接层的层数和/或神经元的数目不同。
在本发明的一实施方式中,所述应用为图像识别应用程序,获取针对图像识别应用程序设计的全连接层层数为3,神经元数为4096。并将所述全连接层的数据运算程序加载到第二处理器中。
在本发明的又一实施方式中,所述应用为声音识别应用程序,获取针对声音识别应用程序设计的全连接层层数为2,神经元数为2048。并将所述全连接层的数据运算程序加载到第二处理器中。
加速训练模块104:将使用所述第一处理器执行卷积层运算得到的结果输入至所述第二处理器中继续执行全连接层运算,进而在所述用户终端上完成完整的深度学习架构并进行训练。
所述用户终端包括智能手机、平板电脑、膝上型便捷计算机、台式计算机中的任一一种。
在本发明的一实施方式中,所述用户终端为一个智能手机,所述智能手机上至少有两个处理器,第一处理器上存储了卷积层的运算方法,在第二处理器上存储有全连接层的运算方法,所述卷积层和全连接层的设计方法根据步骤S1、S2、S3的方法得到。所述智能手机上具有了完整的深度学习架构,并可以完成整个深度学习架构的训练。
应所述了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
在本发明所提供的几个实施例中,应所述理解到,所揭露的计算机装置和方法,可以通过其它的方式实现。例如,以上所描述的计算机装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。计算机装置权利要求中陈述的多个单元或计算机装置也可以由同一个单元或计算机装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种深度学习加速方法,其特征在于,所述方法包括,
调取完整的深度学习架构,所述完整的深度学习架构包括卷积层的数据运算程序以及全连接层的数据运算程序;
获取所述深度学习架构中卷积层的数据运算程序,并舍弃全连接层的数据运算程序,加载所述卷积层的数据运算程序至用户终端的第一处理器上;
获取一应用对应的全连接层的数据运算程序,并将所述应用对应的全连接层的数据运算程序加载至所述用户终端的第二处理器上,其中,不同的应用对应不同的全连接层数据运算程序;
将使用所述第一处理器执行卷积层运算得到的结果输入至所述第二处理器中继续执行全连接层运算,进而在所述用户终端上完成完整的深度学习架构并进行训练。
2.如权利要求1所述的深度学习加速方法,其特征在于,所述深度学习架构是基于VGG16的神经网络架构。
3.如权利要求1所述的深度学习加速方法,其特征在于,加载所述卷积层的数据运算程序至用户终端的第一处理器之前,所述方法还包括:根据所述卷积层的数据量和所述第一处理器中存储器的容量,判断是否需要将所述卷积层进行分割,如果所述卷积层数据量超过所述第一处理器中存储器的最大容量值,则将所述卷积层按照卷积层的层数进行分割,并将分割后的卷积层分别加载至所述用户终端的至少一个其他第一处理器。
4.如权利要求1所述的深度学习加速方法,其特征在于,所述第一处理器为卷积层数据运算的专用处理器,所述第一处理器为现场可编程门阵列、数字信号处理器或专用集成电路中任一种。
5.如权利要求1所述的深度学习加速方法,其特征在于,所述不同的应用对应不同的全连接层数据运算程序包括不同的应用对应的全连接层的层数和/或神经元的数目不同。
6.如权利要求1所述的深度学***板电脑、膝上型便捷计算机、台式计算机中的任意一种。
7.一种用户终端,其特征在于,所述用户终端包括:
通信单元,所述通信单元与一计算机装置建立通信连接并进行数据通信,其中所述计算机装置中存储有完整的深度学习架构,所述完整的深度学习架构包括卷积层的数据运算程序以及全连接层的数据运算程序;
至少一个第一处理器;
至少一个第二处理器;
中央处理器;以及
存储器,所述存储器中存储有计算机程序指令,所述计算机程序指令由所述中央处理器运行并执行如下步骤:
从所述计算机装置调取所述深度学习架构中卷积层的数据运算程序,并舍弃全连接层的数据运算程序;
加载所述卷积层的数据运算程序至所述至少一个第一处理器上;
获取一应用对应的全连接层的数据运算程序,并将所述应用对应的全连接层的数据运算程序加载至所述至少一个第二处理器上,其中,不同的应用对应不同的全连接层数据运算程序;
将使用所述第一处理器执行卷积层运算得到的结果输入至所述第二处理器中继续执行全连接层运算,进而在所述用户终端上完成完整的深度学习架构并进行训练。
8.如权利要求7所述的用户终端,其特征在于,所述计算机程序指令由所述中央处理器运行时还执行如下步骤:
将所述卷积层的数据量与一个第一处理器中存储器的最大容量值进行比对判断是否需要将所述卷积层进行分割;
如果所述卷积层数据量超过一个第一处理器中存储器的最大容量值,则将所述卷积层按照卷积层的层数进行分割,并将分割后的卷积层分别加载至多个第一处理器。
9.如权利要求7所述的用户终端,其特征在于,所述不同的应用对应的不同全连接层数据运算程序包含的全连接层的层数和/或神经元的数目不同。
10.如权利要求7所述的用户终端,其特征在于,所述用户终端为智能手机、平板电脑、膝上型便捷计算机、台式计算机中的任意一种。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910178362.2A CN111667046A (zh) | 2019-03-08 | 2019-03-08 | 深度学习加速方法及用户终端 |
US16/508,390 US20200285955A1 (en) | 2019-03-08 | 2019-07-11 | Method for accelerating deep learning and user terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910178362.2A CN111667046A (zh) | 2019-03-08 | 2019-03-08 | 深度学习加速方法及用户终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111667046A true CN111667046A (zh) | 2020-09-15 |
Family
ID=72335357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910178362.2A Pending CN111667046A (zh) | 2019-03-08 | 2019-03-08 | 深度学习加速方法及用户终端 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200285955A1 (zh) |
CN (1) | CN111667046A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114033A (zh) * | 2022-08-30 | 2022-09-27 | 上海芯算极科技有限公司 | 一种基于层数分割的异构计算方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102253414B1 (ko) * | 2020-12-16 | 2021-05-18 | 주식회사 모빌린트 | Cnn-rnn 아키텍처 전환형 연산 가속장치 설계 방법 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
CN105184362A (zh) * | 2015-08-21 | 2015-12-23 | 中国科学院自动化研究所 | 基于参数量化的深度卷积神经网络的加速与压缩方法 |
CN106326984A (zh) * | 2016-08-09 | 2017-01-11 | 北京京东尚科信息技术有限公司 | 用户意图识别方法和装置、自动应答*** |
CN106529668A (zh) * | 2015-11-17 | 2017-03-22 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN107203807A (zh) * | 2016-03-16 | 2017-09-26 | 中国科学院计算技术研究所 | 神经网络的计算方法、***及其装置 |
CN107679620A (zh) * | 2017-04-19 | 2018-02-09 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN107977706A (zh) * | 2017-08-09 | 2018-05-01 | 小蚁科技(香港)有限公司 | 模块化分布式人工神经网络 |
CN108133265A (zh) * | 2016-12-01 | 2018-06-08 | 阿尔特拉公司 | 用于利用相同的处理单元实施不同类型的卷积运算的方法和装置 |
CN108154229A (zh) * | 2018-01-10 | 2018-06-12 | 西安电子科技大学 | 基于fpga加速卷积神经网络框架的图片处理方法 |
CN108171317A (zh) * | 2017-11-27 | 2018-06-15 | 北京时代民芯科技有限公司 | 一种基于soc的数据复用卷积神经网络加速器 |
CN108292241A (zh) * | 2015-10-28 | 2018-07-17 | 谷歌有限责任公司 | 处理计算图 |
CN108921291A (zh) * | 2018-07-05 | 2018-11-30 | 北京航空航天大学合肥创新研究院 | 面向脑电信号处理的低功耗计算架构 |
CN110447044A (zh) * | 2017-05-19 | 2019-11-12 | 谷歌有限责任公司 | 调度神经网络处理 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10713540B2 (en) * | 2017-03-07 | 2020-07-14 | Board Of Trustees Of Michigan State University | Deep learning system for recognizing pills in images |
-
2019
- 2019-03-08 CN CN201910178362.2A patent/CN111667046A/zh active Pending
- 2019-07-11 US US16/508,390 patent/US20200285955A1/en not_active Abandoned
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915322A (zh) * | 2015-06-09 | 2015-09-16 | 中国人民解放军国防科学技术大学 | 一种卷积神经网络硬件加速方法及其axi总线ip核 |
CN105184362A (zh) * | 2015-08-21 | 2015-12-23 | 中国科学院自动化研究所 | 基于参数量化的深度卷积神经网络的加速与压缩方法 |
CN108292241A (zh) * | 2015-10-28 | 2018-07-17 | 谷歌有限责任公司 | 处理计算图 |
CN106529668A (zh) * | 2015-11-17 | 2017-03-22 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN107203807A (zh) * | 2016-03-16 | 2017-09-26 | 中国科学院计算技术研究所 | 神经网络的计算方法、***及其装置 |
CN106326984A (zh) * | 2016-08-09 | 2017-01-11 | 北京京东尚科信息技术有限公司 | 用户意图识别方法和装置、自动应答*** |
CN108133265A (zh) * | 2016-12-01 | 2018-06-08 | 阿尔特拉公司 | 用于利用相同的处理单元实施不同类型的卷积运算的方法和装置 |
CN107679620A (zh) * | 2017-04-19 | 2018-02-09 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN110447044A (zh) * | 2017-05-19 | 2019-11-12 | 谷歌有限责任公司 | 调度神经网络处理 |
CN107977706A (zh) * | 2017-08-09 | 2018-05-01 | 小蚁科技(香港)有限公司 | 模块化分布式人工神经网络 |
CN108171317A (zh) * | 2017-11-27 | 2018-06-15 | 北京时代民芯科技有限公司 | 一种基于soc的数据复用卷积神经网络加速器 |
CN108154229A (zh) * | 2018-01-10 | 2018-06-12 | 西安电子科技大学 | 基于fpga加速卷积神经网络框架的图片处理方法 |
CN108921291A (zh) * | 2018-07-05 | 2018-11-30 | 北京航空航天大学合肥创新研究院 | 面向脑电信号处理的低功耗计算架构 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114033A (zh) * | 2022-08-30 | 2022-09-27 | 上海芯算极科技有限公司 | 一种基于层数分割的异构计算方法及装置 |
CN115114033B (zh) * | 2022-08-30 | 2022-12-06 | 上海芯算极科技有限公司 | 一种基于层数分割的异构计算方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20200285955A1 (en) | 2020-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107944545B (zh) | 应用于神经网络的计算方法及计算装置 | |
CN110458294B (zh) | 模型运行方法、装置、终端及存储介质 | |
CN106779057B (zh) | 基于gpu的计算二值神经网络卷积的方法及装置 | |
CN113222813B (zh) | 图像超分辨率重建方法、装置、电子设备及存储介质 | |
WO2022126116A1 (en) | Data-type-aware clock-gating | |
CN116842307B (zh) | 数据处理方法、装置、设备、芯片及存储介质 | |
US11610128B2 (en) | Neural network training under memory restraint | |
CN111667046A (zh) | 深度学习加速方法及用户终端 | |
CN107678741B (zh) | 列表视图的实现方法、装置、可读存储介质及设备 | |
CN114764615A (zh) | 卷积运算的实现方法、数据处理方法及装置 | |
CN114420135A (zh) | 基于注意力机制的声纹识别方法及装置 | |
US20220092406A1 (en) | Meta-feature training models for machine learning algorithms | |
CN111639523B (zh) | 目标检测方法、装置、计算机设备和存储介质 | |
CN110728351A (zh) | 数据处理方法、相关设备及计算机存储介质 | |
JP7073686B2 (ja) | ニューラルネットワーク結合低減 | |
CN116957006A (zh) | 预测模型的训练方法、装置、设备、介质及程序产品 | |
CN113168555A (zh) | 减少卷积神经网络的资源消耗的***及相关方法 | |
CN118043821A (zh) | 混合稀疏压缩 | |
TWI711984B (zh) | 深度學習加速方法及用戶終端 | |
US11354130B1 (en) | Efficient race-condition detection | |
CN113160942A (zh) | 影像数据质量评估方法、装置、终端设备及可读存储介质 | |
CN109375952B (zh) | 用于存储数据的方法和装置 | |
CN111680170B (zh) | 周期结构的物理特性预测方法、装置及相关产品 | |
CN114819171B (zh) | 一种量子卷积操作的实现方法及装置 | |
CN118093143B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200915 |