一种卷积神经网络的数据调度方法、系统及计算机设备技术方案

技术编号:15690812 阅读:107 留言:0更新日期:2017-06-24 03:30
本发明专利技术实施例公开了一种卷积神经网络的数据调度方法、系统及计算机设备,该方法包括:将图像数据分成N个目标图像数据,所述N为大于1的整数,所述N个目标图像数据中包含第一目标图像数据和第二目标图像数据;将所述第一目标图像数据载入第一数据缓冲模块,计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算;在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算的过程中,将所述第二目标图像数据载入第二数据缓冲模块;所述计算单元得到计算结果后将所述计算结果上传到外部存储。本发明专利技术实施例可以减少处理图像数据时所需的存储空间以及图像数据的载入和上传时间。

Data scheduling method, system and computer equipment of convolution neural network

The embodiment of the invention discloses a data scheduling method, a convolutional neural network system and computer equipment, the method includes: the image data into N image data, wherein N is an integer greater than 1, including the first target image data and image data of the second target N target image data; the first image data loading the first data buffer module, calculation unit reads the first stored data buffer module of the first image data after convolution calculation; the storage unit reads the first data buffer module of the first image data after convolution calculation in the calculation, the the second image data loading second data buffer module; the calculation unit and the results after the calculation results uploaded to the external storage. The embodiment of the invention can reduce the storage space needed for processing the image data, and the loading and uploading time of the image data.

【技术实现步骤摘要】
一种卷积神经网络的数据调度方法、系统及计算机设备
本专利技术涉及卷积神经网络
,尤其涉及一种卷积神经网络的数据调度方法、系统及计算机设备。
技术介绍
卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种常见的深度学习架构,受生物自然视觉认知机制启发而来。20世纪90年代,LeCunetal等人发表论文,确立了CNN的现代架构。CNN能够得出原始图像的有效表征,这使得CNN能够直接从原始像素中,经过极少的预处理,识别视觉上面的规律。然而,由于当时缺乏大规模训练数据,计算机的计算能力也跟不上,CNN对于复杂问题的处理结果并不理想。进入二十一世纪,随着计算机能力的大幅度提升,以及大数据的广泛应用,CNN的应用能力取得了重大突破,同时,CNN的平台也从中央处理器(CentralProcessingUnit,CPU)扩展到了图形处理器(GraphicProcessingUnit,GPU)、现场可编程门级阵列(Field-ProgrammableGateArray,FPGA)以及专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)。常见的CNN的组成部分有:卷积层、池化层、全连接层。卷积神经网络的硬件实现设计中,常见的是采用通用的计算单元来计算卷积,需要针对每个计算单元设计一块存储空间,用来存储数据和权重参数。存储空间大小由数据大小来决定。随着CNN模型复杂程度的提高,存储空间的限制问题越来越突出,限制了计算单元的增加,从而限制了计算能力的提高。另外,这种设计对数据的带宽要求也比较高,每次都必须把数据全部载入才能开始计算,而且还需要保存中间数据。
技术实现思路
本专利技术实施例提供了一种卷积神经网络的数据调度方法、系统及计算机设备,用于减少处理图像数据时所需的存储空间以及图像数据的载入和上传时间。一方面本专利技术实施例还提供了一种卷积神经网络的数据调度方法,包括:将图像数据分成N个目标图像数据,所述N为大于1的整数,所述N个目标图像数据中包含第一目标图像数据和第二目标图像数据,所述第一目标图像数据和所述第二目标图像数据为相邻的所述目标图像数据;将所述第一目标图像数据载入第一数据缓冲模块,计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算;在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算的过程中,将所述第二目标图像数据载入第二数据缓冲模块;所述计算单元得到计算结果后将所述计算结果上传到外部存储。在一个可选的实现方式中,所述将图像数据分成N个目标图像数据包括:将所述图像数据分成所述N个所需存储空间相等的所述目标图像数据;所述将所述第一目标图像数据载入第一数据缓冲模块包括:为所述第一数据缓冲模块和第二数据缓冲模块分配与所述目标图像数据所需存储空间相等的存储空间,将所述第一目标图像数据载入所述第一数据缓冲模块。在一个可选的实现方式中,所述计算单元得到计算结果后将所述计算结果上传到外部存储包括:所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算,得到所述计算结果后将所述计算结果上传到所述外部存储;或者,所述计算单元将计算出的计算结果存储到缓存中,若所述缓存中存储的所述计算结果的数据量达到预设条件,则上传到所述外部存储。在一个可选的实现方式中,所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数后进行卷积计算包括:所述计算单元从缓存中读取所述图像数据的权重参数以及读取所述第一数据缓冲模块存储的所述第一目标图像数据后,进行卷积计算,得到计算结果,将所述计算结果存储到所述缓存。在一个可选的实现方式中,在所述将所述图像数据分成N个所述目标图像数据之前,所述方法还包括:根据缓存当前可用的存储空间以及计算单元的数量,确定第一数据缓冲模块和第二数据缓冲模块可分配的最大存储空间,所述第一数据缓冲模块和所述第二数据缓冲模块可分配的最大存储空间相同;所述将图像数据分成N个目标图像数据包括:确定若将所述图像数据分成所述N个数据量相等的所述目标图像数据后,所述第一目标图像数据所需的存储空间是否小于或等于所述第一数据缓冲模块可分配的最大存储空间;若是,将所述图像数据分成所述N个所述目标图像数据。二方面本专利技术实施例还提供了一种卷积神经网络的数据调度系统,包括:划分模块,用于将图像数据分成N个目标图像数据,所述N为大于1的整数,所述N个目标图像数据中包含第一目标图像和第二目标图像,所述第一目标图像数据和所述第二目标图像数据为相邻的所述目标图像数据;载入模块,用于将所述第一目标图像数据载入第一数据缓冲模块;在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算的过程中,将所述第二目标图像数据载入第二数据缓冲模块;计算单元,用于读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算;第一数据缓冲模块,用于存储所述第一目标图像数据;第二数据缓冲模块,用于存储所述第二目标图像数据;上传模块,用于将所述计算单元得到的计算结果上传到外部存储。在一个可选的实现方式中,所述划分模块,具体用于将所述图像数据分成所述N个数据量相等的所述目标图像数据;所述载入模块,具体用于为所述第一数据缓冲模块和第二数据缓冲模块分配与所述目标图像数据所需存储空间相等的存储空间,将所述第一目标图像数据载入所述第一数据缓冲模块。在一个可选的实现方式中,所述上传模块,具体用于在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算,得到所述计算结果后,将所述计算结果上传到所述外部存储;或者,具体用于在所述计算单元存储到缓存中的计算结果的数据量达到预设条件后,将所述计算结果上传到所述外部存储。在一个可选的实现方式中,所述计算单元,具体用于从缓存中读取所述图像数据的权重参数以及读取所述第一数据缓冲模块存储的所述第一目标图像数据后,进行卷积计算,得到计算结果,将所述计算结果存储到所述缓存。在一个可选的实现方式中,所述系统还包括:确定模块,用于根据缓存当前可用的存储空间以及计算单元的数量,确定第一数据缓冲模块和第二数据缓冲模块可分配的最大存储空间,所述第一数据缓冲模块和所述第二数据缓冲模块可分配的最大存储空间相同;确定若将所述图像数据分成所述N个数据量相等的所述目标图像数据后,所述第一目标图像数据所需的存储空间是否小于或等于所述第一数据缓冲模块可分配的最大存储空间;所述划分模块,还用于在所述确定模块确定所述第一目标图像数据所需的存储空间小于或等于所述第一数据缓冲模块可分配的最大存储空间后,将所述图像数据分成所述N个所述目标图像数据。三方面本专利技术实施例还提供了一种计算机设备,包括:存储器,存储可执行指令以及图像数据;一个或多个处理器,与存储器通信以执行可执行指令从而完成以下操作:将图像数据分成N个目标图像数据,所述N为大于1的整数,所述N个目标图像数据中包含第一目标图像数据和第二目标图像数据,所述第一目标图像数据和所述第二目标图像数据为相邻的目标图像数据;将所述第一目标图像数据载入第一数据缓冲模块,计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算;在所述计算单元读本文档来自技高网
...
一种卷积神经网络的数据调度方法、系统及计算机设备

【技术保护点】
一种卷积神经网络的数据调度方法,其特征在于,包括:将图像数据分成N个目标图像数据,所述N为大于1的整数,所述N个目标图像数据中包含第一目标图像数据和第二目标图像数据,所述第一目标图像数据和所述第二目标图像数据为相邻的所述目标图像数据;将所述第一目标图像数据载入第一数据缓冲模块,计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算;在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算的过程中,将所述第二目标图像数据载入第二数据缓冲模块;所述计算单元得到计算结果后将所述计算结果上传到外部存储。

【技术特征摘要】
1.一种卷积神经网络的数据调度方法,其特征在于,包括:将图像数据分成N个目标图像数据,所述N为大于1的整数,所述N个目标图像数据中包含第一目标图像数据和第二目标图像数据,所述第一目标图像数据和所述第二目标图像数据为相邻的所述目标图像数据;将所述第一目标图像数据载入第一数据缓冲模块,计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算;在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算的过程中,将所述第二目标图像数据载入第二数据缓冲模块;所述计算单元得到计算结果后将所述计算结果上传到外部存储。2.根据权利要求1所述方法,所述将图像数据分成N个目标图像数据包括:将所述图像数据分成所述N个所需存储空间相等的所述目标图像数据;所述将所述第一目标图像数据载入第一数据缓冲模块包括:为所述第一数据缓冲模块和第二数据缓冲模块分配与所述目标图像数据所需存储空间相等的存储空间,将所述第一目标图像数据载入所述第一数据缓冲模块。3.根据权利要求1或2所述方法,所述计算单元得到计算结果后将所述计算结果上传到外部存储包括:所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算,得到所述计算结果后将所述计算结果上传到所述外部存储;或者,所述计算单元将计算出的计算结果存储到缓存中,若所述缓存中存储的所述计算结果的数据量达到预设条件,则上传到所述外部存储。4.根据权利要求1所述方法,所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数后进行卷积计算包括:所述计算单元从缓存中读取所述图像数据的权重参数以及读取所述第一数据缓冲模块存储的所述第一目标图像数据后,进行卷积计算,得到计算结果,将所述计算结果存储到所述缓存。5.根据权利要求1所述方法,在所述将所述图像数据分成N个所述目标图像数据之前,所述方法还包括:根据缓存当前可用的存储空间以及计算单元的数量,确定第一数据缓冲模块和第二数据缓冲模块可分配的最大存储空间,所述第一数据缓冲模块和所述第二数据缓冲模块可分配的最大存储空间相同;所述将图像数据分成N个目标图像数据包括:确定若将所述图像数据分成所述N个数据量相等的所述目标图像数据后,所述第一目标图像数据所需的存储空间是否小于或等于所述第一数据缓冲模块可分配的最大存储空间;若是,将所述图像数据分成所述N个所述目标图像数据。6.一种卷积神经网络...

【专利技术属性】
技术研发人员:蒋文
申请(专利权)人:深圳云天励飞技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1