CN106874219B - 一种卷积神经网络的数据调度方法、系统及计算机设备 - Google Patents

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

Info

Publication number
CN106874219B
CN106874219B CN201611205487.2A CN201611205487A CN106874219B CN 106874219 B CN106874219 B CN 106874219B CN 201611205487 A CN201611205487 A CN 201611205487A CN 106874219 B CN106874219 B CN 106874219B
Authority
CN
China
Prior art keywords
image data
data
mentioned
calculation
buffering module
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
Application number
CN201611205487.2A
Other languages
English (en)
Other versions
CN106874219A (zh
Inventor
蒋文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Intellifusion Technologies Co Ltd
Original Assignee
Shenzhen Intellifusion Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Intellifusion Technologies Co Ltd filed Critical Shenzhen Intellifusion Technologies Co Ltd
Priority to CN201611205487.2A priority Critical patent/CN106874219B/zh
Publication of CN106874219A publication Critical patent/CN106874219A/zh
Priority to PCT/CN2017/090792 priority patent/WO2018113239A1/zh
Application granted granted Critical
Publication of CN106874219B publication Critical patent/CN106874219B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)

Abstract

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

Description

一种卷积神经网络的数据调度方法、系统及计算机设备
技术领域
本发明涉及卷积神经网络技术领域,尤其涉及一种卷积神经网络的数据调度方法、系统及计算机设备。
背景技术
卷积神经网络(Convolutional Neural Network,CNN)是一种常见的深度学习架构,受生物自然视觉认知机制启发而来。20世纪90年代,LeCun et al等人发表论文,确立了CNN的现代架构。CNN能够得出原始图像的有效表征,这使得CNN能够直接从原始像素中,经过极少的预处理,识别视觉上面的规律。然而,由于当时缺乏大规模训练数据,计算机的计算能力也跟不上,CNN对于复杂问题的处理结果并不理想。
进入二十一世纪,随着计算机能力的大幅度提升,以及大数据的广泛应用,CNN的应用能力取得了重大突破,同时,CNN的平台也从中央处理器(Central Processing Unit,CPU)扩展到了图形处理器(Graphic Processing Unit,GPU)、现场可编程门级阵列(Field-Programmable Gate Array,FPGA)以及专用集成电路(Application Specific IntegratedCircuit,ASIC)。常见的CNN的组成部分有:卷积层、池化层、全连接层。
卷积神经网络的硬件实现设计中,常见的是采用通用的计算单元来计算卷积,需要针对每个计算单元设计一块存储空间,用来存储数据和权重参数。存储空间大小由数据大小来决定。随着CNN模型复杂程度的提高,存储空间的限制问题越来越突出,限制了计算单元的增加,从而限制了计算能力的提高。另外,这种设计对数据的带宽要求也比较高,每次都必须把数据全部载入才能开始计算,而且还需要保存中间数据。
发明内容
本发明实施例提供了一种卷积神经网络的数据调度方法、系统及计算机设备,用于减少处理图像数据时所需的存储空间以及图像数据的载入和上传时间。
一方面本发明实施例还提供了一种卷积神经网络的数据调度方法,包括:
将图像数据分成N个目标图像数据,所述N为大于1的整数,所述N个目标图像数据中包含第一目标图像数据和第二目标图像数据,所述第一目标图像数据和所述第二目标图像数据为相邻的所述目标图像数据;
将所述第一目标图像数据载入第一数据缓冲模块,计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算;在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算的过程中,将所述第二目标图像数据载入第二数据缓冲模块;
所述计算单元得到计算结果后将所述计算结果上传到外部存储。
在一个可选的实现方式中,所述将图像数据分成N个目标图像数据包括:
将所述图像数据分成所述N个所需存储空间相等的所述目标图像数据;
所述将所述第一目标图像数据载入第一数据缓冲模块包括:
为所述第一数据缓冲模块和第二数据缓冲模块分配与所述目标图像数据所需存储空间相等的存储空间,将所述第一目标图像数据载入所述第一数据缓冲模块。
在一个可选的实现方式中,所述计算单元得到计算结果后将所述计算结果上传到外部存储包括:
所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算,得到所述计算结果后将所述计算结果上传到所述外部存储;
或者,所述计算单元将计算出的计算结果存储到缓存中,若所述缓存中存储的所述计算结果的数据量达到预设条件,则上传到所述外部存储。
在一个可选的实现方式中,所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数后进行卷积计算包括:
所述计算单元从缓存中读取所述图像数据的权重参数以及读取所述第一数据缓冲模块存储的所述第一目标图像数据后,进行卷积计算,得到计算结果,将所述计算结果存储到所述缓存。
在一个可选的实现方式中,在所述将所述图像数据分成N个所述目标图像数据之前,所述方法还包括:
根据缓存当前可用的存储空间以及计算单元的数量,确定第一数据缓冲模块和第二数据缓冲模块可分配的最大存储空间,所述第一数据缓冲模块和所述第二数据缓冲模块可分配的最大存储空间相同;
所述将图像数据分成N个目标图像数据包括:
确定若将所述图像数据分成所述N个数据量相等的所述目标图像数据后,所述第一目标图像数据所需的存储空间是否小于或等于所述第一数据缓冲模块可分配的最大存储空间;
若是,将所述图像数据分成所述N个所述目标图像数据。
二方面本发明实施例还提供了一种卷积神经网络的数据调度系统,包括:
划分模块,用于将图像数据分成N个目标图像数据,所述N为大于1的整数,所述N个目标图像数据中包含第一目标图像和第二目标图像,所述第一目标图像数据和所述第二目标图像数据为相邻的所述目标图像数据;
载入模块,用于将所述第一目标图像数据载入第一数据缓冲模块;在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算的过程中,将所述第二目标图像数据载入第二数据缓冲模块;
计算单元,用于读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算;
第一数据缓冲模块,用于存储所述第一目标图像数据;
第二数据缓冲模块,用于存储所述第二目标图像数据;
上传模块,用于将所述计算单元得到的计算结果上传到外部存储。
在一个可选的实现方式中,所述划分模块,具体用于将所述图像数据分成所述N个数据量相等的所述目标图像数据;
所述载入模块,具体用于为所述第一数据缓冲模块和第二数据缓冲模块分配与所述目标图像数据所需存储空间相等的存储空间,将所述第一目标图像数据载入所述第一数据缓冲模块。
在一个可选的实现方式中,所述上传模块,具体用于在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算,得到所述计算结果后,将所述计算结果上传到所述外部存储;
或者,具体用于在所述计算单元存储到缓存中的计算结果的数据量达到预设条件后,将所述计算结果上传到所述外部存储。
在一个可选的实现方式中,所述计算单元,具体用于从缓存中读取所述图像数据的权重参数以及读取所述第一数据缓冲模块存储的所述第一目标图像数据后,进行卷积计算,得到计算结果,将所述计算结果存储到所述缓存。
在一个可选的实现方式中,所述系统还包括:
确定模块,用于根据缓存当前可用的存储空间以及计算单元的数量,确定第一数据缓冲模块和第二数据缓冲模块可分配的最大存储空间,所述第一数据缓冲模块和所述第二数据缓冲模块可分配的最大存储空间相同;确定若将所述图像数据分成所述N个数据量相等的所述目标图像数据后,所述第一目标图像数据所需的存储空间是否小于或等于所述第一数据缓冲模块可分配的最大存储空间;
所述划分模块,还用于在所述确定模块确定所述第一目标图像数据所需的存储空间小于或等于所述第一数据缓冲模块可分配的最大存储空间后,将所述图像数据分成所述N个所述目标图像数据。
三方面本发明实施例还提供了一种计算机设备,包括:
存储器,存储可执行指令以及图像数据;
一个或多个处理器,与存储器通信以执行可执行指令从而完成以下操作:
将图像数据分成N个目标图像数据,所述N为大于1的整数,所述N个目标图像数据中包含第一目标图像数据和第二目标图像数据,所述第一目标图像数据和所述第二目标图像数据为相邻的目标图像数据;
将所述第一目标图像数据载入第一数据缓冲模块,计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算;在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算的过程中,将所述第二目标图像数据载入第二数据缓冲模块;
所述计算单元得到计算结果后将所述计算结果上传到外部存储。
从以上技术方案可以看出,本发明实施例具有以下优点:将图像数据拆分成多个所需存储空间较小的目标图像数据,处理该目标图像数据所需的存储空间较少,解决了卷积神经网络硬件设计中存储空间的限制问题,可以提高计算能力;在进行卷积计算的过程中,动态地载入和上传数据可以有效地减少数据的载入和上传的时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种卷积神经网络的数据调度方法流程示意图;
图2为本发明实施例图像数据存储的结构示意图;
图3为本发明实施例载入目标图像数据的流程示意图;
图4为本发明实施例另一种卷积神经网络的数据调度方法流程示意图;
图5为本发明实施例卷积神经网络的数据调度系统结构示意图;
图6为本发明实施例卷积神经网络的数据调度系统结构示意图;
图7为本发明实施例计算机设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种卷积神经网络的数据调度方法,如图1所示,包括:
101、将图像数据分成N个目标图像数据;
上述N为大于1的整数,上述N个目标图像数据中包含第一目标图像数据和第二目标图像数据,上述第一目标图像数据和上述第二目标图像数据为相邻的上述目标图像数据。如图2所示,左半图可以表示整个图像数据的存储情况,该图像数据的存储地址可以是连续的也可以不是连续的,该图像数据是按照相邻顺序依次存储的,右半图可以表示该图像数据分成4个目标图像数据的情况,上述4目标图像数据是相邻的即第一目标图像数据和第二目标图像相邻、第二目标图像数据和第三目标图像相邻、第三目标图像数据和第四目标图像相邻。上述图像数据是对采集到的原始图像数据进行预处理后得到的,每个目标图像数据可以表示该原始图像数据经过预处理后的一部分连续的数据。上述目标图像数据所需的存储空间是相同的。上述图像数据分成上述N个目标数据图像后,每个目标数据图像所需占据的存储空间是相等。
102、将上述第一目标图像数据载入第一数据缓冲模块,计算单元读取上述第一数据缓冲模块存储的上述第一目标图像数据后进行卷积计算;在上述计算单元读取上述第一数据缓冲模块存储的上述第一目标图像数据后进行卷积计算的过程中,将上述第二目标图像数据载入第二数据缓冲模块;
上述第一数据缓冲模块和上述第二数据缓冲模块都是缓存的一部分,且占据的缓存空间的大小相同。例如上述第一数据缓冲模块和上述第二数据缓冲模块都为缓存中的100MB的存储区域。由于缓存空间有限,图像数据可以存储在外部存储设备中,当需要处理上述图像数据时,将上述图像数据从上述外部存储设备中载入到上述第一数据缓冲模块和上述第二数据缓冲模块。上述第一数据缓冲模块和上述第二数据缓冲模块为乒乓缓存,可以进行输入和输出切换,如图3所示,图3中表示了上述第一数据缓冲模块和上述第二数据缓冲模块以及计算单元在三个时间段执行的操作,在第一时间段将上述第一目标图像数据载入第一数据缓冲模块,在这一时间段第二数据缓冲模块不执行载入目标图像数据的操作,也未存储有目标图像数据;在第二时间段,上述第二数据缓冲模块载入上述第二目标图像数据,并行地上述计算单元读取上述第一数据缓冲模块中的上述第一目标图像数据后进行卷积计算,并将计算结果上述到缓存;在第三时间段,上述第一数据缓冲模块载入第三目标图像数据,并行地上述计算单元读取上述第二数据缓冲模块中的上述第二目标图像数据后进行卷积计算,并将计算结果上述到上述缓存。上述三个时间段的时间长短可以是不同的。从图3可以看出,计算单元在读取目标图像数据进行卷积计算的过程中,上述第一数据缓冲模块或上述第二数据缓冲模块可以载入上述计算单元下一次计算所需的目标图像数据,节省了载入目标图像数据的时间。
103、上述计算单元得到计算结果后将上述计算结果上传到外部存储。
上述计算单元可以将每次计算得到的计算结果先上传到缓存,当缓存中存储的计算结果达到预设条件时,再上传到外部存储中;也可以直接上传到外部存储。例如,当缓存中的计算结果的数量达到100个时,将这100个计算结果上传到上述外部存储。
本发明实施例中,将图像数据拆分成多个所需存储空间较小的目标图像数据,处理该目标图像数据所需的存储空间较少,解决了卷积神经网络硬件设计中存储空间的限制问题,可以提高计算能力;在进行卷积计算的过程中,动态地载入和上传数据可以有效地减少数据的载入和上传的时间。
本发明实施例中,提出了一种将图像数据划分为多个目标图像数据的方法,具体如下:上述将图像数据分成N个目标图像数据包括:
将上述图像数据分成上述N个所需存储空间相等的上述目标图像数据;
上述将上述第一目标图像数据载入第一数据缓冲模块包括:
为上述第一数据缓冲模块和第二数据缓冲模块分配与上述目标图像数据所需存储空间相等的存储空间,将上述第一目标图像数据载入上述第一数据缓冲模块。
上述目标图像数据所需的存储空间是相等且上述每个目标图像数据中的数据都是连续的。在确定上述目标图像数据所需的存储空间后,检测缓存中可用的存储空间,为上述第一数据缓冲模块和第二数据缓冲模块分配与上述目标图像数据所需存储空间相等的存储空间,上述第一数据缓冲模块和上述第二数据缓冲模块交替执行载入操作,即当上述计算单元读取上述第一数据缓冲模块中的目标图像数据时,上述第二数据缓冲模块载入上述计算单元所需读取的下一个目标图像数据,这样可以有效节省数据的载入时间。另外,只需上述第一数据缓冲模块和上述第二数据缓冲模块就可以完成计算任务,所需的存储空间较少。将上述图像数据划分为多少个目标图像数据,即上述N的确定,可以根据上述图像数据的数据量确定。
本发明实施例中,先将图像数据分成N个所需存储空间相同的目标图像数据,再根据目标图像数据所需的存储空间为第一数据缓冲模块和第二数据缓冲模块分配缓存空间,可以有效地减少占用的存储空间。
本发明实施例在前实施例的基础上提出了一种将计算结果上传到外部存储的方法,具体如下:上述计算单元得到计算结果后将上述计算结果上传到外部存储包括:
上述计算单元读取上述第一数据缓冲模块存储的上述第一目标图像数据后进行卷积计算,得到上述计算结果后将上述计算结果上传到上述外部存储;
或者,上述计算单元将计算出的计算结果存储到缓存中,若上述缓存中存储的上述计算结果的数据量达到预设条件,则上传到上述外部存储。
上述计算单元可以得到一个计算结果就进行一次上传,这样可以节省缓存空间。上述计算结果也可以暂时存储在缓存中,当上述缓存中存储的上述计算结果的数据量达到预设条件时,再将上述结果上传到上述外部存储。由于得到一个计算结果就上传一次需要上传的次数较多,可以先将计算结果存储在缓存中,当上述缓存中的计算结果达到预设条件时,一次上传给上述外部存储。上述预设条件可以根据将计算结果上述到外部存储的速度以及计算单元将计算结果上传到缓存的速度确定。例如,计算单元每1秒上传5个计算结果到上述缓存中,上述缓存每1秒上传500个计算结果到上述外部存储中,上述缓存可以在存储的计算结果的数量达到500后,进行一次上传。
本发明实施例中提出了两种将计算单元得到的计算结果进行上传的方法,一种可以节省缓存空间,另一种可以减少上传的次数。
本发明实施例中,提出了计算单元进行卷积计算的方法,具体如下:
上述计算单元读取上述第一数据缓冲模块存储的上述第一目标图像数后进行卷积计算包括:
上述计算单元从缓存中读取上述图像数据的权重参数以及读取上述第一数据缓冲模块存储的上述第一目标图像数据后,进行卷积计算,得到计算结果,将上述计算结果存储到上述缓存。
上述权重参数存储在缓存中,上述图像数据仅对应一份权重参数且权重参数的数据量较少。上述权重参数和上述目标图像数据是行数和列数都相同的矩阵。上述计算单元在读取上述目标图像数据和上述权重参数后,进行矩阵点乘计算,如果目标图像数据有多个输入层,那么需要将每一输入层的中间结果算出后,进行求和运算得到一个输出层的一个点的最终结果。上述中间结果为一个输入层和权重参数进行矩阵点乘计算后得到的。
本发明实施例中,每次计算一个目标图像数据可以有效减少占用的存储空间。
本发明实施例在前实施例的基础上,提出了另一种将图像数据分成N个目标图像数据的方法,具体如下:在上述将上述图像数据分成N个上述目标图像数据之前,上述方法还包括:
根据缓存当前可用的存储空间以及计算单元的数量,确定第一数据缓冲模块和第二数据缓冲模块可分配的最大存储空间,上述第一数据缓冲模块和上述第二数据缓冲模块可分配的最大存储空间相同;
上述将图像数据分成N个目标图像数据包括:
确定若将上述图像数据分成上述N个数据量相等的上述目标图像数据后,上述第一目标图像数据所需的存储空间是否小于或等于上述第一数据缓冲模块可分配的最大存储空间;
若是,将上述图像数据分成上述N个上述目标图像数据。
本发明实施例可以先确定当前缓存中可用的存储空间,即可以分配给上述第一数据缓冲模块和上述第二数据缓冲模块的最大存储空间;再确定上述图像数据分成多少个目标图像数据;最后为上述第一数据缓冲模块和上述第二数据缓冲模块分配缓存空间。
举例来说,当前缓存的可用存储空间为100MB、计算单元的数量为10个、图像数据所需的存储空间为200MB,每个计算单元可以分配的最大存储空间为100MB/10即10MB,上述第一数据缓冲模块和上述第二数据缓冲模块的最大存储空间为10MB/2即5MB,上述图像数据可以分成40、45、50、100、200等多个目标图像数据。若上述图像数据分为50个目标图像数据,每个目标图像数据所需的存储空间为4MB,需要为上述第一数据缓冲模块和上述第二数据缓冲模块的都分配4MB的缓存。上述图像数据分成目标图像数据后,只需保证目标图像数据所需的存储空间小于或等于即可,分成的目标图像数据的个数不作限定。
本发明实施例中,根据缓存当前可用的存储空间以及计算单元的数量确定图像数据分成目标图像数据的个数,可以充分利用缓存空间,提高计算能力。
本发明实施例中,提出了一种卷积神经网络的数据调度方法,如图4所示,可以包括以下步骤:
401、根据缓存当前可用的存储空间以及计算单元的数量,确定第一数据缓冲模块和第二数据缓冲模块可分配的最大存储空间;
402、确定若将图像数据分成上述N个数据量相等的目标图像数据后,第一目标图像数据所需的存储空间是否小于或等于上述第一数据缓冲模块可分配的最大存储空间;
上述图像数据包含第一目标图像数据和第二目标图像数据,上述第一目标图像数据和上述第二目标图像数据为相邻的上述目标图像数据。
403、若是,将上述图像数据分成上述N个上述目标图像数据;
404、将上述第一目标图像数据载入上述第一数据缓冲模块;
405、计算单元读取上述第一数据缓冲模块存储的上述第一目标图像数据后进行卷积计算,在上述计算单元读取上述第一数据缓冲模块存储的上述第一目标图像数据后进行卷积计算的过程中,将上述第二目标图像数据载入第二数据缓冲模块;
406、将上述计算单元得到的计算结果存储到上述缓存;
407、检测上述缓存中存储的上述计算结果的数据量是否达到预设条件,若达到上述预设条件,执行408,否则,执行406;
408、将上述计算结果上传到外部存储;
409、调整上述N,执行405。
可以增大上述N,例如上述N原来为8,可以将N调整为9、10或者其他整数。
本发明实施例中,将图像数据拆分成多个所需存储空间较小的目标图像数据,处理该目标图像数据所需的存储空间较少,解决了卷积神经网络硬件设计中存储空间的限制问题,可以提高计算能力;在进行卷积计算的过程中,动态地载入和上传数据可以有效地减少数据的载入和上传的时间。
本发明实施例中,提出了一种卷积神经网络的数据调度系统,如图5所示,包括:
划分模块501,用于将图像数据分成N个目标图像数据,上述N为大于1的整数,上述N个目标图像数据中包含第一目标图像和第二目标图像,上述第一目标图像数据和上述第二目标图像数据为相邻的上述目标图像数据;
载入模块502,用于将上述第一目标图像数据载入第一数据缓冲模块;在上述计算单元读取上述第一数据缓冲模块存储的上述第一目标图像数据后进行卷积计算的过程中,将上述第二目标图像数据载入第二数据缓冲模块;
计算单元503,用于读取上述第一数据缓冲模块存储的上述第一目标图像数据后进行卷积计算;
第一数据缓冲模块504,用于存储上述第一目标图像数据;
第二数据缓冲模块505,用于存储上述第二目标图像数据;
上传模块506,用于将上述计算单元得到的计算结果上传到外部存储。
实现方法和图1中的方法相同,这里不作详述。
本发明实施例中,提出了一种将图像数据划分为多个目标图像数据的方法,具体如下:进一步地,上述划分501模块,具体用于将上述图像数据分成上述N个数据量相等的上述目标图像数据;
上述载入模块502,具体用于为上述第一数据缓冲模块和第二数据缓冲模块分配与上述目标图像数据所需存储空间相等的存储空间,将上述第一目标图像数据载入上述第一数据缓冲模块。
上述目标图像数据所需的存储空间是相等且上述每个目标图像数据中的数据都是连续的。在确定上述目标图像数据所需的存储空间后,检测缓存中可用的存储空间,为上述第一数据缓冲模块和第二数据缓冲模块分配与上述目标图像数据所需存储空间相等的存储空间,上述第一数据缓冲模块和上述第二数据缓冲模块交替执行载入操作,即当上述计算单元读取上述第一数据缓冲模块中的目标图像数据时,上述第二数据缓冲模块载入上述计算单元所需读取的下一个目标图像数据,这样可以有效节省数据的载入时间。另外,只需上述第一数据缓冲模块和上述第二数据缓冲模块就可以完成计算任务,所需的存储空间较少。将上述图像数据划分为多少个目标图像数据,即上述N的确定,可以根据上述图像数据的数据量确定。
本发明实施例中,先将图像数据分成N个上述存储空间相同的目标图像数据,再根据目标图像数据所需的存储空间为第一数据缓冲模块和第二数据缓冲模块分配缓存空间,可以有效地减少占用的存储空间。
本发明实施例在前实施例的基础上提出了一种将计算结果上传到外部存储的方法,具体如下:上述上传模块506,具体用于在上述计算单元读取上述第一数据缓冲模块存储的上述第一目标图像数据后进行卷积计算,得到上述计算结果后,将上述计算结果上传到上述外部存储;
或者,具体用于在上述计算单元存储到缓存中的计算结果的数据量达到预设条件后,将上述计算结果上传到上述外部存储。
上述计算单元可以得到一个计算结果就进行一次上传,可以节省缓存空间。上述计算结果可以暂时存储在缓存中,当上述缓存中存储的上述计算结果的数据量达到预设条件时,再将上述结果上传到上述外部存储。由于得到一个计算结果就上传一次需要上传的次数较多,可以先将计算结果存储在缓存中,当上述缓存中的计算结果达到预设条件时,一次上传给上述外部存储。上述预设条件可以根据将计算结果上述到外部存储的速度以及计算单元将计算结果上传到缓存的速度确定。例如,计算单元每1秒上传5个计算结果到上述缓存中,上述缓存每1秒上传500个计算结果到上述外部存储中,上述缓存可以在存储的计算结果的数量达到500后,进行一次上传。
本发明实施例中提出了两种将计算单元得到的计算结果进行上传的方法,一种可以节省缓存空间,另一种可以减少上传的次数。
本发明实施例中,提出了计算单元进行卷积计算的方法,具体如下:
上述计算单元503,具体用于从缓存中读取上述图像数据的权重参数以及读取上述第一数据缓冲模块存储的上述第一目标图像数据后,进行卷积计算,得到计算结果,将上述计算结果存储到上述缓存。
上述权重参数存储在缓存中,上述图像数据仅对应一份权重参数且权重参数的数据量较少。上述权重参数和上述目标图像数据是行数和列数都相同的矩阵。上述计算单元在读取上述目标图像数据和上述权重参数后,进行矩阵点乘计算,如果目标图像数据有多个输入层,那么需要将每一输入层的中间结果算出后,进行求和运算得到一个输出层的一个点的最终结果。上述中间结果为一个输入层和权重参数进行矩阵点乘计算后得到的。
本发明实施例中,每次计算一个目标图像数据可以有效减少占用的存储空间。
本发明实施例在前实施例的基础上,提出了另一种将图像数据分成N个目标图像数据的方法,具体如下:进一步地,如图6所示,上述系统还包括:
确定模块601,用于根据缓存当前可用的存储空间以及计算单元的数量,确定第一数据缓冲模块和第二数据缓冲模块可分配的最大存储空间,上述第一数据缓冲模块和上述第二数据缓冲模块可分配的最大存储空间相同;确定若将上述图像数据分成上述N个数据量相等的上述目标图像数据后,上述第一目标图像数据所需的存储空间是否小于或等于上述第一数据缓冲模块可分配的最大存储空间;
上述划分模块501,还用于在上述确定模块确定上述第一目标图像数据所需的存储空间小于或等于上述第一数据缓冲模块可分配的最大存储空间后,将上述图像数据分成上述N个上述目标图像数据。
本发明实施例可以先确定当前缓存中可用的存储空间,即可以分配给上述第一数据缓冲模块和上述第二数据缓冲模块的最大存储空间;再确定上述图像数据分成多少个目标图像数据;最后为上述第一数据缓冲模块和上述第二数据缓冲模块分配缓存空间。
举例来说,当前缓存的可用存储空间为100MB、计算单元的数量为10个、图像数据所需的存储空间为200MB,每个计算单元可以分配的最大存储空间为100MB/10即10MB,上述第一数据缓冲模块和上述第二数据缓冲模块的最大存储空间为10MB/2即5MB,上述图像数据可以分成40、50、100、200等多个目标图像数据。若上述图像数据分为50个目标图像数据,每个目标图像数据所需的存储空间为4MB,需要为上述第一数据缓冲模块和上述第二数据缓冲模块的都分配4MB的缓存。上述图像数据分成目标图像数据后,只需保证目标图像数据所需的存储空间小于或等于即可,分成的目标图像数据的个数不作限定。
本发明实施例中,根据缓存当前可用的存储空间以及计算单元的数量确定图像数据分成目标图像数据的个数,可以充分利用缓存空间,提高计算能力。
本发明实施例提出了一种计算机设备,如图7所示,包括:
存储器701,存储可执行指令以及图像数据;
处理器702,与存储器701通信以执行可执行指令从而完成以下操作:
将图像数据分成N个目标图像数据,上述N为大于1的整数,上述N个目标图像数据中包含第一目标图像数据和第二目标图像数据,上述第一目标图像数据和上述第二目标图像数据为相邻的目标图像数据;
将上述第一目标图像数据载入第一数据缓冲模块,计算单元读取上述第一数据缓冲模块存储的上述第一目标图像数据后进行卷积计算;在上述计算单元读取上述第一数据缓冲模块存储的上述第一目标图像数据后进行卷积计算的过程中,将上述第二目标图像数据载入第二数据缓冲模块;
上述计算单元得到计算结果后将上述计算结果上传到外部存储。
实现方法和图1中的方法相同,这里不做详述。
本发明实施例中,提出了一种将图像数据划分为多个目标图像数据的方法,具体如下:进一步地,上述处理器702,具体用于将上述图像数据分成上述N个数据量相等的上述目标图像数据;为上述第一数据缓冲模块和第二数据缓冲模块分配与上述目标图像数据所需存储空间相等的存储空间,将上述第一目标图像数据载入上述第一数据缓冲模块。
上述目标图像数据所需的存储空间是相等且上述每个目标图像数据中的数据都是连续的。在确定上述目标图像数据所需的存储空间后,检测缓存中可用的存储空间,为上述第一数据缓冲模块和第二数据缓冲模块分配与上述目标图像数据所需存储空间相等的存储空间,上述第一数据缓冲模块和上述第二数据缓冲模块交替执行载入操作,即当上述计算单元读取上述第一数据缓冲模块中的目标图像数据时,上述第二数据缓冲模块载入上述计算单元所需读取的下一个目标图像数据,这样可以有效节省数据的载入时间。另外,只需上述第一数据缓冲模块和上述第二数据缓冲模块就可以完成计算任务,所需的存储空间较少。将上述图像数据划分为多少个目标图像数据,即上述N的确定,可以根据上述图像数据的数据量确定。
本发明实施例中,先将图像数据分成N个上述存储空间相同的目标图像数据,再根据目标图像数据所需的存储空间为第一数据缓冲模块和第二数据缓冲模块分配缓存空间,可以有效地减少占用的存储空间。
本发明实施例在前实施例的基础上提出了一种将计算结果上传到外部存储的方法,具体如下:上述处理器702,具体用于在上述计算单元读取上述第一数据缓冲模块存储的上述第一目标图像数据后进行卷积计算,得到上述计算结果后,将上述计算结果上传到上述外部存储;或者,具体用于在上述计算单元存储到缓存中的计算结果的数据量达到预设条件后,将上述计算结果上传到上述外部存储。
上述计算单元可以得到一个计算结果就进行一次上传,可以节省缓存空间。上述计算结果可以暂时存储在缓存中,当上述缓存中存储的上述计算结果的数据量达到预设条件时,再将上述结果上传到上述外部存储。由于得到一个计算结果就上传一次需要上传的次数较多,可以先将计算结果存储在缓存中,当上述缓存中的计算结果达到预设条件时,一次上传给上述外部存储。上述预设条件可以根据将计算结果上述到外部存储的速度以及计算单元将计算结果上传到缓存的速度确定。例如,计算单元每1秒上传5个计算结果到上述缓存中,上述缓存每1秒上传500个计算结果到上述外部存储中,上述缓存可以在存储的计算结果的数量达到500后,进行一次上传。
本发明实施例中提出了两种将计算单元得到的计算结果进行上传的方式,一种可以节省缓存空间,另一种可以减少上传的次数。
本发明实施例中,提出了计算单元进行卷积计算的方法,具体如下:
上述处理器702,具体用于从缓存中读取上述图像数据的权重参数以及读取上述第一数据缓冲模块存储的上述第一目标图像数据后,进行卷积计算,得到计算结果,将上述计算结果存储到上述缓存。
上述权重参数存储在缓存中,上述图像数据仅对应一份权重参数且权重参数的数据量较少。上述权重参数和上述目标图像数据是行数和列数都相同的矩阵。上述计算单元在读取上述目标图像数据和上述权重参数后,进行矩阵点乘计算,如果目标图像数据有多个输入层,那么需要将每一输入层的中间结果算出后,进行求和运算得到一个输出层的一个点的最终结果。上述中间结果为一个输入层和权重参数进行矩阵点乘计算后得到的。
本发明实施例中,每次计算一个目标图像数据可以有效减少占用的存储空间。
本发明实施例在前实施例的基础上,提出了另一种将图像数据分成N个目标图像数据的方法,具体如下:上述处理器702,还用于根据缓存当前可用的存储空间以及计算单元的数量,确定第一数据缓冲模块和第二数据缓冲模块可分配的最大存储空间,上述第一数据缓冲模块和上述第二数据缓冲模块可分配的最大存储空间相同;确定若将上述图像数据分成上述N个数据量相等的上述目标图像数据后,上述第一目标图像数据所需的存储空间是否小于或等于上述第一数据缓冲模块可分配的最大存储空间;在上述确定模块确定上述第一目标图像数据所需的存储空间小于或等于上述第一数据缓冲模块可分配的最大存储空间后,将上述图像数据分成上述N个上述目标图像数据。
本发明实施例可以先确定当前缓存中可用的存储空间,即可以分配给上述第一数据缓冲模块和上述第二数据缓冲模块的最大存储空间;再确定上述图像数据分成多少个目标图像数据;最后为上述第一数据缓冲模块和上述第二数据缓冲模块分配缓存空间。
举例来说,当前缓存的可用存储空间为100MB、计算单元的数量为10个、图像数据所需的存储空间为200MB,每个计算单元可以分配的最大存储空间为100MB/10即10MB,上述第一数据缓冲模块和上述第二数据缓冲模块的最大存储空间为10MB/2即5MB,上述图像数据可以分成40、50、100、200等多个目标图像数据。上述图像数据分成目标图像数据后,只需保证目标图像数据所需的存储空间小于或等于即可,分成的目标图像数据的个数不作限定。
本发明实施例中,根据缓存当前可用的存储空间以及计算单元的数量确定图像数据分成目标图像数据的个数,可以充分利用缓存空间,提高计算能力。
以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (8)

1.一种卷积神经网络的数据调度方法,其特征在于,包括:
将图像数据分成N个目标图像数据,所述N为大于1的整数,所述N个目标图像数据中包含第一目标图像数据和第二目标图像数据,所述第一目标图像数据和所述第二目标图像数据为相邻的所述目标图像数据;
将所述第一目标图像数据载入第一数据缓冲模块,计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算;在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算的过程中,将所述第二目标图像数据载入第二数据缓冲模块;所述计算单元读取所述第二数据缓冲模块中的所述第二目标图像数据后进行卷积计算;所述第一数据缓冲模块和所述第二数据缓冲模块交替执行载入操作;
所述计算单元得到计算结果后将所述计算结果上传到外部存储;
在所述将所述图像数据分成N个所述目标图像数据之前,所述方法还包括:
根据缓存当前可用的存储空间以及计算单元的数量,确定第一数据缓冲模块和第二数据缓冲模块可分配的最大存储空间,所述第一数据缓冲模块和所述第二数据缓冲模块可分配的最大存储空间相同;
所述将图像数据分成N个目标图像数据包括:
确定若将所述图像数据分成所述N个数据量相等的所述目标图像数据后,所述第一目标图像数据所需的存储空间是否小于或等于所述第一数据缓冲模块可分配的最大存储空间;
若是,将所述图像数据分成所述N个所述目标图像数据。
2.根据权利要求1所述方法,所述将图像数据分成N个目标图像数据包括:
将所述图像数据分成所述N个所需存储空间相等的所述目标图像数据;
所述将所述第一目标图像数据载入第一数据缓冲模块包括:
为所述第一数据缓冲模块和第二数据缓冲模块分配与所述目标图像数据所需存储空间相等的存储空间,将所述第一目标图像数据载入所述第一数据缓冲模块。
3.根据权利要求1或2所述方法,所述计算单元得到计算结果后将所述计算结果上传到外部存储包括:
所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算,得到所述计算结果后将所述计算结果上传到所述外部存储;
或者,所述计算单元将计算出的计算结果存储到缓存中,若所述缓存中存储的所述计算结果的数据量达到预设条件,则上传到所述外部存储。
4.根据权利要求1所述方法,所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数后进行卷积计算包括:
所述计算单元从缓存中读取所述图像数据的权重参数以及读取所述第一数据缓冲模块存储的所述第一目标图像数据后,进行卷积计算,得到计算结果,将所述计算结果存储到所述缓存。
5.一种卷积神经网络的数据调度系统,其特征在于,包括:
划分模块,用于将图像数据分成N个目标图像数据,所述N为大于1的整数,所述N个目标图像数据中包含第一目标图像和第二目标图像,所述第一目标图像数据和所述第二目标图像数据为相邻的所述目标图像数据;
载入模块,用于将所述第一目标图像数据载入第一数据缓冲模块;在计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算的过程中,将所述第二目标图像数据载入第二数据缓冲模块;所述计算单元读取所述第二数据缓冲模块中的所述第二目标图像数据后进行卷积计算;所述第一数据缓冲模块和所述第二数据缓冲模块交替执行载入操作;
计算单元,用于读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算;
第一数据缓冲模块,用于存储所述第一目标图像数据;
第二数据缓冲模块,用于存储所述第二目标图像数据;
上传模块,用于将所述计算单元得到的计算结果上传到外部存储;
确定模块,用于根据当前可用的存储空间以及计算单元的数量,确定第一数据缓冲模块和第二数据缓冲模块可分配的最大存储空间,所述第一数据缓冲模块和所述第二数据缓冲模块可分配的最大存储空间相同;确定若将所述图像数据分成所述N个数据量相等的所述目标图像数据后,所述第一目标图像数据所需的存储空间是否小于或等于所述第一数据缓冲模块可分配的最大存储空间;
所述划分模块,还用于在所述确定模块确定所述第一目标图像数据所需的存储空间小于或等于所述第一数据缓冲模块可分配的最大存储空间后,将所述图像数据分成所述N个所述目标图像数据。
6.根据权利要求5所述系统,其特征在于,
所述划分模块,具体用于将所述图像数据分成所述N个数据量相等的所述目标图像数据;
所述载入模块,具体用于为所述第一数据缓冲模块和第二数据缓冲模块分配与所述目标图像数据所需存储空间相等的存储空间,将所述第一目标图像数据载入所述第一数据缓冲模块。
7.根据权利要求5或6所述系统,其特征在于,
所述上传模块,具体用于在所述计算单元读取所述第一数据缓冲模块存储的所述第一目标图像数据后进行卷积计算,得到所述计算结果后,将所述计算结果上传到所述外部存储;
或者,具体用于在所述计算单元存储到缓存中的计算结果的数据量达到预设条件后,将所述计算结果上传到所述外部存储。
8.根据权利要求5所述系统,其特征在于,
所述计算单元,具体用于从缓存中读取所述图像数据的权重参数以及读取所述第一数据缓冲模块存储的所述第一目标图像数据后,进行卷积计算,得到计算结果,将所述计算结果存储到所述缓存。
CN201611205487.2A 2016-12-23 2016-12-23 一种卷积神经网络的数据调度方法、系统及计算机设备 Active CN106874219B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611205487.2A CN106874219B (zh) 2016-12-23 2016-12-23 一种卷积神经网络的数据调度方法、系统及计算机设备
PCT/CN2017/090792 WO2018113239A1 (zh) 2016-12-23 2017-06-29 一种卷积神经网络的数据调度方法、系统及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611205487.2A CN106874219B (zh) 2016-12-23 2016-12-23 一种卷积神经网络的数据调度方法、系统及计算机设备

Publications (2)

Publication Number Publication Date
CN106874219A CN106874219A (zh) 2017-06-20
CN106874219B true CN106874219B (zh) 2018-11-02

Family

ID=59164919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611205487.2A Active CN106874219B (zh) 2016-12-23 2016-12-23 一种卷积神经网络的数据调度方法、系统及计算机设备

Country Status (2)

Country Link
CN (1) CN106874219B (zh)
WO (1) WO2018113239A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874219B (zh) * 2016-12-23 2018-11-02 深圳云天励飞技术有限公司 一种卷积神经网络的数据调度方法、系统及计算机设备
CN108038815B (zh) * 2017-12-20 2019-12-17 深圳云天励飞技术有限公司 集成电路
CN108133270B (zh) * 2018-01-12 2020-08-04 清华大学 卷积神经网络加速方法及装置
CN108564524A (zh) * 2018-04-24 2018-09-21 开放智能机器(上海)有限公司 一种视觉图像的卷积计算优化方法
CN110865950B (zh) * 2018-08-28 2021-01-12 中科寒武纪科技股份有限公司 数据预处理方法、装置、计算机设备和存储介质
EP3640810A4 (en) * 2018-08-28 2021-05-05 Cambricon Technologies Corporation Limited DATA PRE-PROCESSING PROCESS AND APPARATUS, COMPUTER DEVICE AND STORAGE MEDIA
CN110032538B (zh) * 2019-03-06 2020-10-02 上海熠知电子科技有限公司 一种数据读取系统和方法
CN111832585B (zh) * 2019-04-16 2023-04-18 杭州海康威视数字技术股份有限公司 图像处理的方法和装置
CN110390626A (zh) * 2019-07-02 2019-10-29 深兰科技(上海)有限公司 一种卷积神经网络的图像处理方法及装置
CN112955908A (zh) * 2020-03-13 2021-06-11 深圳市大疆创新科技有限公司 卷积神经网络的数据处理方法、预测方法、计算装置和存储介质
CN113537448A (zh) * 2020-04-22 2021-10-22 杭州智芯科微电子科技有限公司 流式数据处理的方法、装置、半导体芯片和计算机设备
CN111666150B (zh) * 2020-05-09 2022-01-11 深圳云天励飞技术股份有限公司 存储空间的分配方法、装置、终端及计算机可读存储介质
CN114090470B (zh) * 2020-07-29 2023-02-17 深圳市中科元物芯科技有限公司 数据预加载装置及其预加载方法、存储介质和计算机设备
CN112099943B (zh) * 2020-08-13 2024-05-03 深圳云天励飞技术股份有限公司 内存分配方法及相关设备
CN115271047A (zh) * 2021-04-29 2022-11-01 华为技术有限公司 一种数据处理方法及装置
CN113536081B (zh) * 2021-06-25 2022-04-01 浙江海瑞网络科技有限公司 基于人工智能的数据中心数据管理方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101303668B (zh) * 2008-07-10 2010-06-16 北京海尔集成电路设计有限公司 一种数据转置的方法和系统
CN103236033B (zh) * 2013-04-16 2016-01-20 中国科学院重庆绿色智能技术研究院 基于嵌入式处理器的积分图快速生成方法和装置
EP2804144A1 (en) * 2013-05-16 2014-11-19 SMR Patents S.à.r.l. Method and device for processing input image data
CN104077233B (zh) * 2014-06-18 2017-04-05 百度在线网络技术(北京)有限公司 多通道卷积层处理方法和装置
JP6365102B2 (ja) * 2014-08-14 2018-08-01 富士ゼロックス株式会社 データ処理装置およびプログラム
CN105550222B (zh) * 2015-12-07 2019-04-05 中国电子科技网络信息安全有限公司 一种基于分布式存储的图像服务系统及方法
CN105528758B (zh) * 2016-01-12 2018-12-14 武汉精测电子集团股份有限公司 基于可编程逻辑器件的图像重映射方法及装置
CN106156793A (zh) * 2016-06-27 2016-11-23 西北工业大学 结合深层特征提取和浅层特征提取的医学图像分类方法
CN106874219B (zh) * 2016-12-23 2018-11-02 深圳云天励飞技术有限公司 一种卷积神经网络的数据调度方法、系统及计算机设备

Also Published As

Publication number Publication date
CN106874219A (zh) 2017-06-20
WO2018113239A1 (zh) 2018-06-28

Similar Documents

Publication Publication Date Title
CN106874219B (zh) 一种卷积神经网络的数据调度方法、系统及计算机设备
US11227216B2 (en) Batch processing in a neural network processor
CN108416422A (zh) 一种基于fpga的卷积神经网络实现方法及装置
US20180307974A1 (en) Device for implementing artificial neural network with mutiple instruction units
CN108229671B (zh) 一种降低加速器外部数据存储带宽需求的系统和方法
CN108629406B (zh) 用于卷积神经网络的运算装置
JP2017050001A (ja) 効果的なニューラルネットワークの配置に用いるシステム及び方法
CN111626405B (zh) 一种cnn加速方法、加速装置及计算机可读存储介质
CN106779057A (zh) 基于gpu的计算二值神经网络卷积的方法及装置
CN115880132B (zh) 图形处理器、矩阵乘法任务处理方法、装置及存储介质
CN107315717A (zh) 一种用于执行向量四则运算的装置和方法
CN110929854B (zh) 一种数据处理方法、装置及硬件加速器
CN110147252A (zh) 一种卷积神经网络的并行计算方法及装置
CN110390075A (zh) 矩阵预处理方法、装置、终端及可读存储介质
CN113240101B (zh) 卷积神经网络软硬件协同加速的异构SoC实现方法
CN110232665B (zh) 最大池化方法、装置、计算机设备及存储介质
CN108416430A (zh) 卷积神经网络的池化运算装置及方法
CN117648383A (zh) 一种异构数据库实时数据同步方法、装置、设备及介质
CN111767243A (zh) 数据处理方法、相关设备及计算机可读介质
CN108198125B (zh) 一种图像处理方法及装置
CN108415881A (zh) 卷积神经网络的运算装置及方法
CN110490312B (zh) 一种池化计算方法和电路
CN109389209A (zh) 处理装置及处理方法
CN103871032A (zh) 基于GPU的Wallis滤波器进行影像增强的方法
CN101339649A (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