CN111832585A - 图像处理的方法和装置 - Google Patents
图像处理的方法和装置 Download PDFInfo
- Publication number
- CN111832585A CN111832585A CN201910305876.XA CN201910305876A CN111832585A CN 111832585 A CN111832585 A CN 111832585A CN 201910305876 A CN201910305876 A CN 201910305876A CN 111832585 A CN111832585 A CN 111832585A
- Authority
- CN
- China
- Prior art keywords
- data
- dimension
- current layer
- target data
- input image
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本公开是关于一种图像处理的方法和装置,属于机器学习模型技术领域。所述方法包括:确定当前层的输入图像特征数据和权重系数数据分别对应的数据量限制条件;确定当前层的输入图像特征数据和权重系数数据中是否存在数据量不满足对应的数据量限制条件的目标数据,根据确定结果,选择对目标数据进行切分的切分维度,基于切分维度,将目标数据切分为满足对应的数据量限制条件的数据;基于当前层的输入图像特征数据和权重系数数据中除目标数据之外的数据以及切分后的目标数据,确定当前层的输出图像特征数据。采用本公开,即使计算机设备中的缓存较小、可使用存储空间较小,计算机设备都可以正常对图像进行处理。
Description
技术领域
本公开是关于机器学习模型技术领域,尤其是关于一种图像处理的方法和装置。
背景技术
随着科技的发展,许多对图像进行处理的任务都可以由卷积神经网络来执行。卷积神经网络一般可以由不同类型的层组成,如卷积层、池化层、全连接层等。不同类型的层具有不同的运算逻辑,例如,在卷积层中需要进行卷积运算。对于卷积神经网络的任一层,可以将第一图像特征数据输入到当前层中,第一图像特征数据和当前层中的权重系数数据进行预设的运算处理,在运算处理之后输出第二图像特征数据。
可以在计算机设备中通过卷积神经网络对图像进行处理。计算机设备可以包括主存、缓存、处理器等部件。主存的存储空间较大速度较慢,缓存的存储空间较小速度较快。卷积神经网络中的数据一般都会存储在主存中,只有在处理器需要对卷积神经网络中的当前层的第一图像特征数据和权重系数数据进行运算处理时,才会将当前层的第一图像特征数据和权重系数数据读取到缓存中,基于缓存中的第一图像特征数据、权重系数数据进行运算处理。在进行运算处理的过程中,还需要在缓存中存储运算过程中产生的中间特征数据、以及当前层需要输出的第二图像特征数据等数据。
在实现本公开的过程中,发明人发现至少存在以下问题:
由于在进行卷积神经网络中的任一层的运算处理时,缓存中至少需要存储当前层对应的第一图像特征数据、权重系数数据、中间特征数据、第二图像特征数据等数据,这些数据所需的存储空间较大。对于缓存较小的计算机设备,如果不能容纳上述数据,会导致无法正常对图像进行处理。
发明内容
为了克服相关技术中存在的问题,本公开提供了以下技术方案:
根据本公开实施例的第一方面,提供一种图像处理的方法,所述方法包括:
确定当前层的输入图像特征数据和权重系数数据分别对应的数据量限制条件;
确定当前层的输入图像特征数据和权重系数数据中是否存在数据量不满足对应的数据量限制条件的目标数据,根据确定结果,选择对所述目标数据进行切分的切分维度,基于所述切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据;
基于当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据以及切分后的目标数据,确定当前层的输出图像特征数据。
根据本公开实施例的第二方面,提供一种图像处理的装置,所述装置包括:
确定模块,用于确定当前层的输入图像特征数据和权重系数数据分别对应的数据量限制条件;
切分模块,用于确定当前层的输入图像特征数据和权重系数数据中是否存在数据量不满足对应的数据量限制条件的目标数据,根据确定结果,选择对所述目标数据进行切分的切分维度,基于所述切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据;
所述确定模块,还用于基于当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据以及切分后的目标数据,确定当前层的输出图像特征数据。
根据本公开实施例的第三方面,提供一种计算机设备,所述计算机设备包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现上述图像处理的方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述图像处理的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过本公开实施例提供的方法,在进行卷积神经网络中的任一层的运算处理时,可以通过确定当前层的输入图像特征数据和权重系数数据是否超过分别对应的数据量限制条件的方式,来预估当前层在对输入特征图像数据进行处理过程中所需的存储空间是否超过可使用存储空间。如果当前层在对输入特征图像数据进行处理过程中所需的存储空间超过可使用存储空间,则可以根据预估结果,选择对目标数据进行切分的切分维度,基于切分维度,对超过的数据进行切分处理,以使得可使用存储空间可以容纳对切分后数据的正常的运算处理。即使计算机设备中的缓存较小、可使用存储空间较小,计算机设备都可以正常对图像进行处理。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:
图1是根据一示例性实施例示出的一种图像处理的方法的流程示意图;
图2是根据一示例性实施例示出的一种图像处理的维度示意图;
图3是根据一示例性实施例示出的一种图像处理的切分示意图;
图4是根据一示例性实施例示出的一种图像处理的切分示意图;
图5是根据一示例性实施例示出的一种图像处理的切分示意图;
图6是根据一示例性实施例示出的一种图像处理的切分示意图;
图7是根据一示例性实施例示出的一种图像处理的方法的流程示意图;
图8是根据一示例性实施例示出的一种特征数据的示意图;
图9是根据一示例性实施例示出的一种图像处理的装置的结构示意图;
图10是根据一示例性实施例示出的一种计算机设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
卷积神经网络通常由几类典型层构成,如卷积层、池化层、全连接层等。从运算的角度来看,每层参与计算的数据主要包括输入特征图数据与系数数据(某些层不存在系数数据,例如池化层)。其中特征图数据的数据量会随着网络原始输入的尺寸(如输入图像分辨率等)变化而变化,而系数数据则与网络模型绑定,在确定网络结构后便固定下来。
典型的嵌入式硬件平台一般由计算单元与内部缓存构成。其中计算单元根据硬件架构不同可能包括一个或多个计算核心;内部缓存用于给计算单元提供高速的数据访问。在平台上进行卷积神经网络前向推理时,一般需要将参与运算的数据从系统外部存储载入到内部缓存中,以保证计算单元的计算效率不会因为数据访问带来的大延迟而大打折扣。
然而由于网络结构的多样性与网络执行时原始输入数据尺寸的动态变动,网络层参与运算的数据尺寸可能会超出内部缓存资源的限制,这样一来,该层的运算无法在内部缓存上一次性完成,需要分批次进行运算。因此,如何对计算批次进行划分,在保证计算效率的前提下,尽可能避免或减少引入数据访问、传输造成的延迟,是保证整个网络高效运行的关键问题,也对实现边缘计算具有重要意义。
本公开实施例提供的方法,可以以在线的方式在计算机设备中执行,即在训练好机器学习模型之后,在使用训练好的机器学习模型的过程中,根据输入图像的尺寸来适应性调整训练好的机器学习模型中的层结构,或者适应性切分输入图像特征数据、权重系数数据,使得缓存中的可使用空间可以容纳下每层的运算处理。由于在使用训练好的机器学习模型的过程中,根据输入图像的尺寸来适应性进行调整,因此本公开实施例提供的方法对输入图像的尺寸不作要求,即输入图像的尺寸可变,通用性更强。下面将具体介绍本公开实施例提供的图像处理的方法。
在介绍方案之前,对方案中所使用的维度进行说明,对于网络层数据的各个维度(一般神经网络中的数据包括4个维度:数量N、宽度W、高度H、通道数C;3D卷积网络会增加深度维度,用L表示),可以结合该层的运算特性,定义为如下3中类型:
1.耦合维度:在本层中,该维度上的数据共同运算得到同一输出结果。例如卷积层中输入特征图的通道维度,全连接层中的通道维度。
2.局部耦合维度:在本层中,该维度上的数据的一部分共同运算得到同一输出结果。例如卷积层与池化层中输入特征图的宽度、高度维度等。
3.非耦合维度:在本层中,该维度上的数据各自运算得到不同输出。例如卷积层的系数数据数量维度,池化层中的通道维度等。
本公开一示例性实施例提供了一种图像处理的方法,如图1所示,该方法的处理流程可以包括如下的步骤:
步骤S110,确定当前层的输入图像特征数据和权重系数数据分别对应的数据量限制条件。
在实施中,在训练完毕的机器学习模型中存在多个层,机器学习模型中不同类型的层具有不同功能,机器学习模型中的层可以包括卷积层、池化层、全连接层等。不同类型的层对应的运算逻辑不同,即需要进行的运算处理不同。由于不同类型的层对应的运算逻辑不同,因此产生的中间数据不同,中间数据的数据量也不同,产生的输出图像特征数据不同,输出图像特征数据的数据量也不同。
在本公开实施例提供的方法中,可以首先确定当前层的输入图像特征数据和权重系数数据分别对应的数据量限制条件。当前层的输入图像特征数据对应有第一数据量限制条件,当前层的权重系数数据对应有第二数据量限制条件。第一数据量限制条件、第二数据量限制条件可以是通过查表的方式获取的,也可以是在执行步骤S110之前通过计算得到的。
在一种可能的实现方式中,如果第一数据量限制条件、第二数据量限制条件是通过查表的方式获取的,则可以确定当前层的运算类型。例如,在卷积层中,卷积层的运算类型为卷积运算。可以预先建立运算类型、输入图像特征数据的数据量、权重系数数据的数据量、输入图像特征数据对应的数据量限制条件和权重系数数据对应的数据量限制条件之间的对应关系,接着可以根据当前层的运算类型、当前层的输入图像特征数据的数据量和当前层的权重系数数据的数据量,通过查询对应关系,确定当前层的输入图像特征数据对应的第一数据量限制条件和当前层的第二权重系数数据对应的数据量限制条件。
或者,由于当前层的运算逻辑、上一层的输出图像特征数据的数据量、当前层的权重系数数据的数据量,决定了当前层的中间数据的数据量、当前层的输出图像特征数据的数据量,因此当前层的中间数据的数据量、当前层的输出图像特征数据的数据量,是与当前层的运算逻辑、上一层的输出图像特征数据的数据量、当前层的权重系数数据的数据量相关的。因此可以根据当前层的运算类型、当前层的输入图像特征数据的数据量和当前层的权重系数数据的数据量,通过预设的计算方式,计算当前层的输入图像特征数据对应的第一数据量限制条件和当前层的第二权重系数数据对应的数据量限制条件。
如图2所示,假设上一层的输出图像特征数据的数据量即当前层的输入图像特征数据、以及权重系数数据可以由几个维度构成,包括高度维度、宽度维度、通道维度、数量维度,在高度维度上的尺寸记为H、在宽度维度上的尺寸记为W、在通道维度上的尺寸记为C、在数量维度上的尺寸记为N,则当前层的输入图像特征数据或者权重系数数据的数据量可以记为N×W×H×C。进而基于当前层的运算逻辑,可以确定由N×W×H×C表示的当前层的中间数据的数据量、当前层的输出图像特征数据的数据量。当前层的所有数据的数据量则可以基于当前层的输入图像特征数据的数据量、中间数据的数据量、输出图像特征数据的数据量等确定,当前层的所有数据的数据量最终可以由以N×W×H×C为变量的数学式表示。假设可使用存储空间为A,则可以建立以N×W×H×C为变量的数学式小于或者等于A的不等式。其中,可使用存储空间A可以为预设值,可以是将缓存中的固定大小的存储空间分配给运行机器学习模型的空间的大小。
在机器学习模型的结构固定的情况下,当前层的输入图像特征数据的数据量会随着输入图像大小进行变化,然而当前层的权重系数数据的数据量是固定的。
在建立好以N×W×H×C为变量的数学式小于或者等于A的不等式的情况下,由于输入图像特征数据和权重系数数据都是多维度大尺寸的,可以取预设的最小单位的权重系数数据和全部的输入图像特征数据,将预设的最小单位的权重系数数据和全部的输入图像特征数据对应的数据量代入到以N×W×H×C为变量的数学式小于或者等于A的不等式中,解不等式。由于不等式中只有N×W×H×C为变量,因此最终可以解出N×W×H×C小于或者等于一个数值Q,N×W×H×C小于或者等于数值Q则可以为第一数据量限制条件。
同理,可以取预设的最小单位的输入图像特征数据和全部的权重系数数据,将预设的最小单位的输入图像特征数据和全部的权重系数数据对应的数据量代入到以N×W×H×C为变量的数学式小于或者等于A的不等式中,解不等式,最终可以得到第二数据量限制条件。
在一种可能的实现方式中,除了当前层的运算类型可以影响第一数据量限制条件、第二数据量限制条件之外,数据流的调度逻辑、计算单元部件的数量也可以对第一数据量限制条件、第二数据量限制条件产生一定影响。例如,如果在运行机器学习模型时,设置需要通过两条数据流运行机器学习模型,则需要将可使用存储空间A除以2得到的值B,确定为更新后的可使用存储空间。基于更新后的可使用存储空间,确定当前层的第一数据量限制条件、第二数据量限制条件。
在一种可能的实现方式中,除了当前层对应的运算类型可以影响第一数据量限制条件、第二数据量限制条件之外,对齐空间、补零空间也可以对第一数据量限制条件、第二数据量限制条件产生一定影响。在不同的平台上,对不同位数的数据的计算能力不一样,可以根据不同平台的运算能力的特性,对当前层的输入图像特征数据和权重系数数据进行对齐处理,计算对齐处理后的当前层的输入图像特征数据和权重系数数据的数据量,接着可以将当前层的输入图像特征数据和权重系数数据的数据量调整为对齐处理后的当前层的输入图像特征数据和权重系数数据的数据量。除此以外,在池化层对图像特征数据进行处理之前,可以将输入图像特征数据进行补零处理,即在输入图像特征数据的外围补上数值零,此时池化层的输入图像特征数据的数据量会增加预设数值,可以将当前层的输入图像特征数据的数据量调整为增加预设数值后的输入图像特征数据的数据量。
步骤S120,确定当前层的输入图像特征数据和权重系数数据中是否存在数据量不满足对应的数据量限制条件的目标数据,根据确定结果,选择对目标数据进行切分的切分维度,基于切分维度,将目标数据切分为满足对应的数据量限制条件的数据。
在实施中,如果当前层的输入图像特征数据和权重系数数据中存在数据量不满足对应的数据量限制条件的目标数据,则可以将目标数据切分为满足对应的数据量限制条件的数据。切分后的目标数据的数据量变小,可以和当前层的输入图像特征数据和权重系数数据中除目标数据之外的数据一起存储到缓存中的可使用存储空间中。
在切分过程中,在不同的情况下,可以沿着不同的维度进行切分。在本公开实施例中,提供三种类型的维度,包括耦合维度、局部耦合维度以及非耦合维度。其中,耦合维度可以是,基于该维度上的数据进行共同运算,输出一数据结果的维度,如卷积层的通道维度等。局部耦合维度可以是,基于该维度上的数据,需要一部分子数据单独进行运算,需要另外一部分子数据共同进行运算,输出一数据结果的维度,如池化层中的宽度维度以及高度维度等。非耦合维度可以是,基于该维度上的数据进行各子数据的运算,输出一数据结果的维度,如全连接层的数量维度等。
耦合维度、局部耦合维度以及非耦合维度分别具体包括哪些维度可以见表1所示。
表1
当然除了表中列出的维度之外,只要计算特征符合耦合维度、局部耦合维度以及非耦合维度的定义的,也可以将其划分到耦合维度、局部耦合维度以及非耦合维度中,在对数据进行切分时,也可以将新添加的维度作为切分维度。
步骤S130,基于当前层的输入图像特征数据和权重系数数据中除目标数据之外的数据以及切分后的目标数据,确定当前层的输出图像特征数据。
在实施中,可以基于当前层的输入图像特征数据和权重系数数据中除目标数据之外的数据以及切分后的目标数据,进行运算处理,得到多个中间特征数据,将多个中间特征数据进行融合,得到当前层的输出图像特征数据。
可以依次获取切分后的目标数据,以及和切分后的目标数据具有运算关系的当前层的输入图像特征数据和权重系数数据中除目标数据之外的数据,将获取的数据存储到缓存中的可使用存储空间中,基于缓存中的数据,进行运算处理,每次运算处理后得到一个中间特征数据,最终可以得到多个中间特征数据。
由于多个中间特征数据是分别基于切分后的目标数据,以及和切分后的目标数据具有运算关系的当前层的输入图像特征数据和权重系数数据中除目标数据之外的数据确定得到的,中间特征数据不是最终的当前层的输出图像特征数据,因此可以将多个中间特征数据进行融合,得到当前层的输出图像特征数据。
下面介绍如何选择对目标数据进行切分的切分维度。切分维度可以包括耦合维度、局部耦合维度以及非耦合维度。如果当前层的输入图像特征数据不满足对应的第一数据量限制条件且当前层的权重系数数据不满足对应的第二数据量限制条件,则选择对输入图像特征数据和权重系数数据进行切分的切分维度为耦合维度,基于选择的切分维度,将输入图像特征数据和权重系数数据分别切分为满足对应的数据量限制条件的数据。如果当前层的权重系数数据为不满足对应的第二数据量限制条件的目标数据,或者当前层的输入图像特征数据为不满足对应的第一数据量限制条件的目标数据,则选择对目标数据进行切分的切分维度为局部耦合维度或者非耦合维度,基于选择的切分维度,将目标数据切分为满足对应的数据量限制条件的数据。
在实施中,对于池化层,其不对应有权重系数数据,可以只判断池化层的输入图像特征数据的数据量是否满足对应的第一数据量限制条件,如果池化层的输入图像特征数据的数据量不满足对应的第一数据量限制条件,则可以以局部耦合维度或者非耦合维度对池化层的输入图像特征数据进行切分。
在一种可能的实现方式中,如果当前层是卷积层或者全连接层,耦合维度为通道维度,当前层的输入图像特征数据不满足对应的第一数据量限制条件,且当前层的权重系数数据不满足对应的第二数据量限制条件,则可以以通道维度为切分维度,对当前层的输入图像特征数据进行切分,得到输入图像特征数据在每个通道维度上对应的子输入图像特征数据,以通道维度为切分维度,对当前层的权重系数数据进行切分,得到权重系数数据在每个通道维度上对应的子权重系数数据。接着,可以分别对每个通道维度对应的子输入图像特征数据和子权重系数数据进行运算处理,得到多个中间特征数据,将多个中间特征数据进行相加,得到当前层的输出图像特征数据。
假如当前层的输入图像特征数据为A,当前层的权重系数数据为B,可以沿着耦合维度对数据A和数据B进行切分,切分后的子数据A_i和B_i都可以满足对应的数据量限制条件。这样可以将当前层替换为多个同类型的子层,每个子层的子数据都可以单独进行运算处理,各子层输出对应的中间特征数据,最后可以将各子层输出的多个中间特征数据,按照各子层之间的运算逻辑进行融合,得到当前层的输出图像特征数据。
如图3所示,在卷积层需要对具有RGB(Red Green Blue,红绿蓝)三个通道的输入图像特征数据进行运算处理,输入图像特征数据对应的数据量上限为P,权重系数数据对应的数据量上限为Q。计算当前层对应的对齐空间以及补零空间,确定输入图像特征数据所需空间FM和权重系数数据所需空间WT,输入图像特征数据所需空间和权重系数数据所需空间均超过了对应的数据量上限。此时,需要对输入图像特征数据和权重系数数据进行切分。
在对输入图像特征数据进行切分时,可以按照RGB三个通道对输入图像特征数据进行切分,得到R通道上的输入图像特征数据、G通道上的输入图像特征数据、B通道上的输入图像特征数据。
接着,可以对权重系数数据进行切分,权重系数数据的通道和输入图像特征数据的通道相对应,也存在三个通道,因此可以按照该三个通道对权重系数数据进行切分,得到第一通道上的子权重系数数据、第二通道上的子权重系数数据、第三通道上的子权重系数数据。切分示意图可见图4。
可以依次对R通道上的输入图像特征数据和第一通道上的子权重系数数据进行运算处理,得到第一中间特征数据。对G通道上的输入图像特征数据和第二通道上的子权重系数数据进行运算处理,得到第二中间特征数据。对B通道上的输入图像特征数据和第三通道上的子权重系数数据进行运算处理,得到第三中间特征数据。最后可以将第一中间特征数据、第二中间特征数据和第三中间特征数据进行相加,得到当前层的输出图像特征数据。
在对多个中间特征数据进行融合时,除了将多个中间特征数据进行相加之外,还可以将多个中间特征数据对应位置上的数值的最大值,确定为当前层的输出图像特征数据对应位置上的数值。或者还可以通过其他方式对多个中间特征数据进行融合。
在一种可能的实现方式中,如果非耦合维度为数量维度,局部耦合维度为宽度维度和高度维度,当前层的权重系数数据为不满足对应的第二数据量限制条件的目标数据,或者当前层的输入图像特征数据为不满足对应的第一数据量限制条件的目标数据,则可以确定目标数据在数量维度上的值是否大于1。如果目标数据在数量维度上的值大于1,则以数量维度为切分维度,将目标数据切分为满足对应的数据量限制条件的数据;如果目标数据在数量维度上的值等于1且目标数据存在宽度维度和高度维度,则以宽度维度和高度维度为切分维度,将目标数据切分为满足对应的数据量限制条件的数据。
在实施中,对于在数量维度上的值大于1的目标数据,可以按照其数量维度进行切分,对于在数量维度上的值等于1的目标数据,可以选择按照其宽度维度和高度维度进行切分。
在一种可能的实现方式中,如果目标数据在数量维度上的值大于1,则可以以数量维度为切分维度,对目标数据进行切分,得到多个单位目标数据。接着,可以分别对每个单位目标数据与当前层的输入图像特征数据和权重系数数据中除目标数据之外的数据进行运算处理,得到中间特征数据。最后,可以将多个中间特征数据进行组合,得到当前层的输出图像特征数据。
在实施中,例如当前层的权重系数数据不满足对应的数据量限制条件,则可以按照非耦合维度如数量维度,对当前层的权重系数数据进行切分,得到多个单位权重系数数据。
假如当前层的输入图像特征数据为A,当前层的权重系数数据为B,可以沿着非耦合维度对数据B进行切分,切分后的每个子数据B_i都可以同时和输入图像特征数据A同时存入缓存中的可使用空间中。
如图5所示,在卷积层需要对输入图像特征数据和权重系数数据进行运算处理,输入图像特征数据对应的数据量上限为P,权重系数数据对应的数据量上限为Q。计算当前层对应的对齐空间以及补零空间,确定输入图像特征数据所需空间FM和权重系数数据所需空间WT,权重系数数据所需空间超过了对应的数据量上限。此时,需要对权重系数数据进行切分。
可以沿着系数数据的数量维度进行切分,得到多个子数据B_i,此时切分后的每个子数据B_i都可以同时和输入图像特征数据为A同时存入缓存中的可使用空间中。为了避免重复地将输入图像特征数据为A多次载入到缓存中,可以将输入图像特征数据为A先载入到缓存中,再依次将各子数据B_i载入到缓存中,每次载入子数据B_i时,进行运算处理,得到一个中间特征数据,最终得到多个中间特征数据。由于多个中间特征数据之间没有运算关系,可以直接将多个中间特征数据进行按照通道维度进行拼接组合,得到当前层的输出图像特征数据。
在一种可能的实现方式中,如果目标数据在数量维度上的值等于1且目标数据存在宽度维度和高度维度,则可以以宽度维度和高度维度为切分维度,将目标数据切分为尺寸满足对应的数据量限制条件的多个子目标数据。接着,对于任意两个在目标数据中相邻的子目标数据,可以对相邻的子目标数据中的第一子目标数据中与第二子目标数据相邻的数据进行复制,将复制的数据添加到第二子目标数据中。基于第一子目标数据、当前层的输入图像特征数据和权重系数数据中除目标数据之外的数据和添加了数据的第二子目标数据,进行运算处理,得到中间特征数据。最后,可以将多个中间特征数据进行组合,得到当前层的输出图像特征数据。
在实施中,例如当前层的输入图像特征数据不满足对应的数据量限制条件,则可以按照局部耦合维度如宽度以及高度维度,对当前层的权重系数数据进行切分,得到多个子图像特征数据。可以基于权重系数数据的边长,确定对第一子图像特征数据进行复制过程中使用的复制长度。按照复制长度对第一子图像特征数据中与第二子图像特征数据相邻的数据部分进行复制。
在一种可能的实现方式中,当前层是卷积层,目标数据为卷积层的输入图像特征数据,对相邻的子目标数据中的第一子目标数据中与第二子目标数据相邻的数据进行复制的步骤可以包括:确定相邻的子目标数据中的第二子目标数据相对于第一子目标数据的相对方向;如果相对方向为上方或下方,则确定当前层的权重系数数据的竖向边的长度与预设的卷积步长距离的第一差值,在第一子目标数据中,复制与第二子目标数据相邻的且竖向高度为第一差值的数据;如果相对方向为左方或右方,则确定当前层的权重系数数据的横向边的长度与预设的卷积步长距离的第二差值,在第一子目标数据中,复制与第二子目标数据相邻的且横向宽度为第二差值的数据。
在实施中,假如当前层的输入图像特征数据为A,当前层的权重系数数据为B,可以沿着局部耦合维度对数据A进行切分,切分后的每个子数据A_i都可以同时和当前层的权重系数数据B同时存入缓存中的可使用空间中。在切分之后,需要对某些子数据A_i进行数据补齐处理,以使得与切分线相邻的数据可以正常和权重系数数据进行运算。
在卷积层需要对输入图像特征数据和权重系数数据进行运算处理,输入图像特征数据对应的数据量上限为P,权重系数数据对应的数据量上限为Q。计算当前层对应的对齐空间以及补零空间,确定输入图像特征数据所需空间FM和权重系数数据所需空间WT,输入图像特征数据所需空间超过了对应的数据量上限。此时,需要对输入图像特征数据进行切分。
可以沿着输入图像特征数据的宽度以及高度维度进行切分,得到多个子数据A_i,此时切分后的每个子数据A_i都可以同时和权重系数数据B同时存入缓存中的可使用空间中。在基于各多个子图像特征数据和当前层的权重系数数据进行运算处理的过程中,与切分线相邻的数据部分无法正常和权重系数数据进行运算,因此需要对与切分线相邻的数据部分进行数据补齐处理。
如图6所示,假如输入图像特征数据的尺寸为4×2,权重系数数据的尺寸为2×2,在输入图像特征数据中间位置进行切分,得到第一子目标数据以及第二子目标数据,则中间位置上的图像特征数据无法和权重系数数据进行运算处理。可以将第二子目标数据中的第一列数据进行复制,将复制后的数据添加到第一子目标数据的右侧,这样第一子目标数据的第二列数据就可以正常和权重系数数据进行运算。
如果切分线为一条线,可以选择为切分线左侧的子数据进行数据补齐处理,如果切分线为多条线,可以选择为两条切分线交点的对顶两侧的子数据进行数据补齐处理,这样可以避免重复进行数据补齐处理。
上面介绍的是对机器学习模型中的当前层进行处理的过程,在实际应用中,可以从机器学习模型的第一个需要进行运算处理的层到最后一个需要进行运算处理的层,重复执行本公开实施例提供的方法,以保障每一层的运算处理都可以正常在缓存中的可使用空间中执行。本公开实施例提供的方法,可以以在线的方式在计算机设备中执行,即在训练好机器学习模型之后,在使用训练好的机器学习模型的过程中,根据输入图像的尺寸来适应性调整训练好的机器学习模型中的层结构,或者适应性切分输入图像特征数据、权重系数数据,使得缓存中的可使用空间可以容纳下每层的运算处理。由于在使用训练好的机器学习模型的过程中,根据输入图像的尺寸来适应性进行调整,因此本公开实施例提供的方法对输入图像的尺寸不作要求,即输入图像的尺寸可变。
在一种可能的实现方式中,在嵌入式平台执行卷积神经网络前向推理计算时,可以按照图7所示步骤进行每一层的运算。
(1)首先,获取当前层的参数信息(也可以称为输入图像特征数据的数据量和权重系数数据的数据量),并根据系统的软硬件资源约束,确定针对该类型层,当前资源能够支持的最大数据尺寸Q(也可以称为输入图像特征数据对应的第一数据量限制条件或者权重系数数据对应的第二数据量限制条件)。这里需要考虑的因素包括:参与当前运算任务的计算单元数量,用于计算的硬件平台内部缓存大小,以及当前层类型的计算逻辑与数据流调度逻辑。
(2)然后,计算当前层输入图像特征数据与权重系数数据需要消耗的存储空间大小(包括数据内存空间,由于平台特性引入的对齐空间,由于计算逻辑引入的补零区域内存等),定义二者中内存需求较大的数据为A,另一个标记为B。
(3)若数据A、B的尺寸均超出了其各自的尺寸上限Q,则需要对网络运行时拓扑结构进行调整。沿数据的耦合维度对数据A、B进行切分,使得切分后子块A_i或B_i能够满足尺寸上限Q的限制。这样一来便可以将原始层(也可以称为当前层)替换为若干同类型的子层,每个子层的数据单独进行运算,各子层的结果最后按照运算关系融合在一起,得到原始层的输出。即将原始层替换为若干同类型子层和一个融合层,并返回步骤(1)依次处理各个子层。
(4)步骤(3)的调整保证了当前网络层的数据B是满足尺寸上限Q的。此时,可沿数据A的非耦合维度或局部耦合维度,将其切分为若干子块a_i,每一个子块均能够与B同时存放于硬件内部缓存中。
(5)执行数据B与数据子块a_i的计算。由于当前两份数据均是满足尺寸上限Q的限制,可直接在硬件平台上进行运算。需要注意的是:
第一点,步骤(4)中的切分若是沿着数据的局部耦合维度进行,则需要适当调整切分边界,使得相邻子块切分处数据的局部耦合关系能够完整的保留在某个子块中。
第二点,将数据B载入内部缓存,依次对每个子块a_i进行载入并计算,将每个子块的计算结果进行拼接,即可得到完整的当前层结果(也可以称为输出图像特征数据),拼接维度即为步骤(4)中对数据A进行切分的切分维度。
下面将以卷积层为例,对上述步骤(1)-(5)进行说明。
结合卷积层各数据尺寸信息与操作参数,根据系统的软硬件约束,计算当前资源条件下,硬件内部缓存能够存放的特征数据(也可以称为输入图像特征数据)尺寸上限P(也可以称为输入图像特征数据对应的第一数据量限制条件)与系数数据(也可以称为权重系数数据)尺寸上限Q(也可以称为权重系数数据对应的第二数据量限制条件)。
根据硬件对齐要求,操作补零要求,计算当前卷积层特征数据所需内存FM与系数数据所需内存WT。
若FM与WT均超出了各自的尺寸上限,则沿数据输入通道维度,对特征数据和系数数据进行切分。切分后各子块的特征数据或系数数据能够小于P或Q。则可以在拓扑结构中,将原卷积层等价替换为多个卷积层和一个累加层,且新的子层的数据能够满足数据尺寸要求。返回步骤(1),依次处理各个子层。
此时,卷积层的特征数据或系数数据满足尺寸上限要求。
若FM<P,则对系数数据进行切分,沿系数数据数量维度N将其切分为若干子块a_i。此时特征数据与每一个系数数据子块a_i可以同时载入到硬件的内部缓存中,故可以进行二者运算。在一种可能的实现方式中,为了避免数据重复载入,可以先载入特征数据,在依次的载入并处理每个a_i。每个子块得到的计算结果在通道方向上进行拼接,即可得到最终的输出结果(也可以称为输出图像特征数据)。
若WT<Q,则对特征数据进行切分,沿特征数据宽度维度W、高度维度H,将其切分为若干子块a_i。考虑到切分维度为局部耦合维度,需要保证切分部位局部耦合区域不被破坏。如图8所示,在图8中,w1和w2为特征数据的宽度,h1和h2为特征数据的高度。在子块边界处,需要考虑保证其每个卷积操作的局部区域(如3×3区间)的完整性,故在子块之间需要有重叠。类似地,可以依次处理系数数据与每一个特征数据子块的结果。子块结果在宽高上拼接即可得到最终的输出结果。
从计算上来看,上述方案能够保证硬件计算单元使用的数据均位于其内部缓存上,保证了计算效率。从数据流的角度来看,计算所需的特征数据与系数数据均只进出了内部缓存一次,不存在带宽上的浪费。在一种可能的实现方式中,可以通过使用乒乓等数据流调度方案,将数据搬运的时间隐藏至计算之后,进一步提升效率。故本公开实施例提供的方法能够较好的解决当网络层数据大于硬件内部缓存时的效率问题,保证卷积神经网络在硬件平台上的高效执行。
通过本公开实施例提供的方法,在进行卷积神经网络中的任一层的运算处理时,可以通过确定当前层的输入图像特征数据和权重系数数据是否超过分别对应的数据量限制条件的方式,来预估当前层在对输入特征图像数据进行处理过程中所需的存储空间是否超过可使用存储空间。如果当前层在对输入特征图像数据进行处理过程中所需的存储空间超过可使用存储空间,则可以根据预估结果,选择对目标数据进行切分的切分维度,基于切分维度,对超过的数据进行切分处理,以使得可使用存储空间可以容纳对切分后数据的正常的运算处理。即使计算机设备中的缓存较小、可使用存储空间较小,计算机设备都可以正常对图像进行处理。
本公开又一示例性实施例提供了一种图像处理的装置,如图9所示,该装置包括:
确定模块710,用于确定当前层的输入图像特征数据和权重系数数据分别对应的数据量限制条件;
切分模块720,用于确定当前层的输入图像特征数据和权重系数数据中是否存在数据量不满足对应的数据量限制条件的目标数据,根据确定结果,选择对所述目标数据进行切分的切分维度,基于所述切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据;
所述确定模块710,还用于基于当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据以及切分后的目标数据,确定当前层的输出图像特征数据。
在一种可能的实现方式中,所述切分模块720,用于:
如果当前层的输入图像特征数据不满足对应的第一数据量限制条件且当前层的权重系数数据不满足对应的第二数据量限制条件,则选择对所述输入图像特征数据和所述权重系数数据进行切分的切分维度为耦合维度,基于选择的切分维度,将所述输入图像特征数据和所述权重系数数据分别切分为满足对应的数据量限制条件的数据;
如果当前层的权重系数数据为不满足对应的第二数据量限制条件的目标数据,或者当前层的输入图像特征数据为不满足对应的第一数据量限制条件的目标数据,则选择对所述目标数据进行切分的切分维度为局部耦合维度或者非耦合维度,基于选择的切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据。
在一种可能的实现方式中,所述确定模块710,用于:
基于当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据以及切分后的目标数据,进行运算处理,得到多个中间特征数据;
将所述多个中间特征数据进行融合,得到当前层的输出图像特征数据。
在一种可能的实现方式中,所述当前层是卷积层或者全连接层,所述耦合维度为通道维度,所述切分模块720,用于如果当前层的输入图像特征数据不满足对应的第一数据量限制条件且当前层的权重系数数据不满足对应的第二数据量限制条件,则以通道维度为切分维度,对当前层的输入图像特征数据进行切分,得到所述输入图像特征数据在每个通道维度上对应的子输入图像特征数据,以通道维度为切分维度,对当前层的权重系数数据进行切分,得到所述权重系数数据在每个通道维度上对应的子权重系数数据;
所述确定模块710,用于分别对每个通道维度对应的子输入图像特征数据和子权重系数数据进行运算处理,得到多个中间特征数据;将所述多个中间特征数据进行相加,得到当前层的输出图像特征数据。
在一种可能的实现方式中,所述非耦合维度为数量维度,所述局部耦合维度为宽度维度和高度维度,所述切分模块720,用于:
如果当前层的权重系数数据为不满足对应的第二数据量限制条件的目标数据,或者当前层的输入图像特征数据为不满足对应的第一数据量限制条件的目标数据,则确定所述目标数据在数量维度上的值是否大于10;
如果所述目标数据在所述数量维度上的值大于10,则以所述数量维度为切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据;
如果所述目标数据在所述数量维度上的值等于10且所述目标数据存在宽度维度和高度维度,则以宽度维度和高度维度为切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据。
在一种可能的实现方式中,所述切分模块720,用于如果所述目标数据在所述数量维度上的值大于10,则以数量维度为切分维度,对所述目标数据进行切分,得到多个单位目标数据;
所述确定模块710,用于分别对每个单位目标数据与当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据进行运算处理,得到中间特征数据;将多个中间特征数据进行组合,得到当前层的输出图像特征数据。
在一种可能的实现方式中,所述切分模块720,用于如果所述目标数据在所述数量维度上的值等于10且所述目标数据存在宽度维度和高度维度,则以宽度维度和高度维度为切分维度,将所述目标数据切分为尺寸满足对应的数据量限制条件的多个子目标数据;
所述确定模块710,用于对于任意两个在所述目标数据中相邻的子目标数据,对所述相邻的子目标数据中的第一子目标数据中与第二子目标数据相邻的数据进行复制,将复制的数据添加到所述第二子目标数据中;基于所述第一子目标数据、当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据和添加了数据的第二子目标数据,进行运算处理,得到中间特征数据;将多个中间特征数据进行组合,得到当前层的输出图像特征数据。
在一种可能的实现方式中,所述当前层是卷积层,所述目标数据为所述卷积层的输入图像特征数据,所述确定模块710,用于:
确定所述相邻的子目标数据中的第二子目标数据相对于第一子目标数据的相对方向;
如果所述相对方向为上方或下方,则确定当前层的权重系数数据的竖向边的长度与预设的卷积步长距离的第一差值,在所述第一子目标数据中,复制与第二子目标数据相邻的且竖向高度为所述第一差值的数据;
如果所述相对方向为左方或右方,则确定当前层的权重系数数据的横向边的长度与预设的卷积步长距离的第二差值,在所述第一子目标数据中,复制与第二子目标数据相邻的且横向宽度为所述第二差值的数据。
在一种可能的实现方式中,所述确定模块710,用于:
确定当前层的运算类型;
基于预设的运算类型、输入图像特征数据的数据量、权重系数数据的数据量、输入图像特征数据对应的第一数据量限制条件和权重系数数据对应的第二数据量限制条件之间的对应关系,以及当前层的运算类型、当前层的输入图像特征数据的数据量和当前层的权重系数数据的数据量,确定当前层的输入图像特征数据对应的数据量限制条件和当前层的权重系数数据对应的数据量限制条件。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过本公开实施例提供的装置,在进行卷积神经网络中的任一层的运算处理时,可以通过确定当前层的输入图像特征数据和权重系数数据是否超过分别对应的数据量限制条件的方式,来预估当前层在对输入特征图像数据进行处理过程中所需的存储空间是否超过可使用存储空间。如果当前层在对输入特征图像数据进行处理过程中所需的存储空间超过可使用存储空间,则可以根据预估结果,选择对目标数据进行切分的切分维度,基于切分维度,对超过的数据进行切分处理,以使得可使用存储空间可以容纳对切分后数据的正常的运算处理。即使计算机设备中的缓存较小、可使用存储空间较小,计算机设备都可以正常对图像进行处理。
需要说明的是:上述实施例提供的图像处理的装置在处理图像时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像处理的装置与图像处理的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10示出了本公开一个示例性实施例提供的计算机设备1900的结构示意图。该计算机设备1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)1910和一个或一个以上的存储器1920。其中,所述存储器1920中存储有至少一条指令,所述至少一条指令由所述处理器1910加载并执行以实现上述实施例所述的图像处理的方法。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (12)
1.一种图像处理的方法,其特征在于,所述方法包括:
确定当前层的输入图像特征数据和权重系数数据分别对应的数据量限制条件;
确定当前层的输入图像特征数据和权重系数数据中是否存在数据量不满足对应的数据量限制条件的目标数据,根据确定结果,选择对所述目标数据进行切分的切分维度,基于所述切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据;
基于当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据以及切分后的目标数据,确定当前层的输出图像特征数据。
2.根据权利要求1所述的方法,其特征在于,所述根据确定结果,选择对所述目标数据进行切分的切分维度,基于所述切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据,包括:
如果当前层的输入图像特征数据不满足对应的第一数据量限制条件且当前层的权重系数数据不满足对应的第二数据量限制条件,则选择对所述输入图像特征数据和所述权重系数数据进行切分的切分维度为耦合维度,基于选择的切分维度,将所述输入图像特征数据和所述权重系数数据分别切分为满足对应的数据量限制条件的数据;
如果当前层的权重系数数据为不满足对应的第二数据量限制条件的目标数据,或者当前层的输入图像特征数据为不满足对应的第一数据量限制条件的目标数据,则选择对所述目标数据进行切分的切分维度为局部耦合维度或者非耦合维度,基于选择的切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据。
3.根据权利要求2所述的方法,其特征在于,所述基于当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据以及切分后的目标数据,确定当前层的输出图像特征数据,包括:
基于当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据以及切分后的目标数据,进行运算处理,得到多个中间特征数据;
将所述多个中间特征数据进行融合,得到当前层的输出图像特征数据。
4.根据权利要求3所述的方法,其特征在于,所述当前层是卷积层或者全连接层,所述耦合维度为通道维度,所述基于选择的切分维度,将所述输入图像特征数据和所述权重系数数据分别切分为满足对应的数据量限制条件的数据,包括:
如果当前层的输入图像特征数据不满足对应的第一数据量限制条件且当前层的权重系数数据不满足对应的第二数据量限制条件,则以通道维度为切分维度,对当前层的输入图像特征数据进行切分,得到所述输入图像特征数据在每个通道维度上对应的子输入图像特征数据,以通道维度为切分维度,对当前层的权重系数数据进行切分,得到所述权重系数数据在每个通道维度上对应的子权重系数数据;
所述基于当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据以及切分后的目标数据,进行运算处理,得到多个中间特征数据,包括:
分别对每个通道维度对应的子输入图像特征数据和子权重系数数据进行运算处理,得到多个中间特征数据;
所述将所述多个中间特征数据进行融合,得到当前层的输出图像特征数据,包括:
将所述多个中间特征数据进行相加,得到当前层的输出图像特征数据。
5.根据权利要求3所述的方法,其特征在于,所述非耦合维度为数量维度,所述局部耦合维度为宽度维度和高度维度,所述基于选择的切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据,包括:
如果当前层的权重系数数据为不满足对应的第二数据量限制条件的目标数据,或者当前层的输入图像特征数据为不满足对应的第一数据量限制条件的目标数据,则确定所述目标数据在数量维度上的值是否大于1;
如果所述目标数据在所述数量维度上的值大于1,则以所述数量维度为切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据;
如果所述目标数据在所述数量维度上的值等于1且所述目标数据存在宽度维度和高度维度,则以宽度维度和高度维度为切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据。
6.根据权利要求5所述的方法,其特征在于,所述如果所述目标数据在所述数量维度上的值大于1,则以所述数量维度为切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据,包括:
如果所述目标数据在所述数量维度上的值大于1,则以数量维度为切分维度,对所述目标数据进行切分,得到多个单位目标数据;
所述基于当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据以及切分后的目标数据,进行运算处理,得到多个中间特征数据,包括:
分别对每个单位目标数据与当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据进行运算处理,得到中间特征数据;
所述将所述多个中间特征数据进行融合,得到当前层的输出图像特征数据,包括:
将多个中间特征数据进行组合,得到当前层的输出图像特征数据。
7.根据权利要求5所述的方法,其特征在于,所述如果所述目标数据在所述数量维度上的值等于1且所述目标数据存在宽度维度和高度维度,则以宽度维度和高度维度为切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据,包括:
如果所述目标数据在所述数量维度上的值等于1且所述目标数据存在宽度维度和高度维度,则以宽度维度和高度维度为切分维度,将所述目标数据切分为尺寸满足对应的数据量限制条件的多个子目标数据;
所述基于当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据以及切分后的目标数据,进行运算处理,得到多个中间特征数据,包括:
对于任意两个在所述目标数据中相邻的子目标数据,对所述相邻的子目标数据中的第一子目标数据中与第二子目标数据相邻的数据进行复制,将复制的数据添加到所述第二子目标数据中;基于所述第一子目标数据、当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据和添加了数据的第二子目标数据,进行运算处理,得到中间特征数据;
所述将所述多个中间特征数据进行融合,得到当前层的输出图像特征数据,包括:
将多个中间特征数据进行组合,得到当前层的输出图像特征数据。
8.根据权利要求7所述的方法,其特征在于,所述当前层是卷积层,所述目标数据为所述卷积层的输入图像特征数据,所述对所述相邻的子目标数据中的第一子目标数据中与第二子目标数据相邻的数据进行复制,包括:
确定所述相邻的子目标数据中的第二子目标数据相对于第一子目标数据的相对方向;
如果所述相对方向为上方或下方,则确定当前层的权重系数数据的竖向边的长度与预设的卷积步长距离的第一差值,在所述第一子目标数据中,复制与第二子目标数据相邻的且竖向高度为所述第一差值的数据;
如果所述相对方向为左方或右方,则确定当前层的权重系数数据的横向边的长度与预设的卷积步长距离的第二差值,在所述第一子目标数据中,复制与第二子目标数据相邻的且横向宽度为所述第二差值的数据。
9.根据权利要求1所述的方法,其特征在于,所述确定当前层的输入图像特征数据和权重系数数据分别对应的数据量限制条件,包括:
确定当前层的运算类型;
基于预设的运算类型、输入图像特征数据的数据量、权重系数数据的数据量、输入图像特征数据对应的数据量限制条件和权重系数数据对应的数据量限制条件之间的对应关系,以及当前层的运算类型、当前层的输入图像特征数据的数据量和当前层的权重系数数据的数据量,确定当前层的输入图像特征数据对应的第一数据量限制条件和当前层的权重系数数据对应的第二数据量限制条件。
10.一种图像处理的装置,其特征在于,所述装置包括:
确定模块,用于确定当前层的输入图像特征数据和权重系数数据分别对应的数据量限制条件;
切分模块,用于确定当前层的输入图像特征数据和权重系数数据中是否存在数据量不满足对应的数据量限制条件的目标数据,根据确定结果,选择对所述目标数据进行切分的切分维度,基于所述切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据;
所述确定模块,还用于基于当前层的输入图像特征数据和权重系数数据中除所述目标数据之外的数据以及切分后的目标数据,确定当前层的输出图像特征数据。
11.根据权利要求10所述的装置,其特征在于,所述切分模块,用于:
如果当前层的输入图像特征数据不满足对应的第一数据量限制条件且当前层的权重系数数据不满足对应的第二数据量限制条件,则选择对所述输入图像特征数据和所述权重系数数据进行切分的切分维度为耦合维度,基于选择的切分维度,将所述输入图像特征数据和所述权重系数数据分别切分为满足对应的数据量限制条件的数据;
如果当前层的权重系数数据为不满足对应的第二数据量限制条件的目标数据,或者当前层的输入图像特征数据为不满足对应的第一数据量限制条件的目标数据,则选择对所述目标数据进行切分的切分维度为局部耦合维度或者非耦合维度,基于选择的切分维度,将所述目标数据切分为满足对应的数据量限制条件的数据。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器、通信接口、存储器和通信总线,其中:
所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现权利要求1-9任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910305876.XA CN111832585B (zh) | 2019-04-16 | 2019-04-16 | 图像处理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910305876.XA CN111832585B (zh) | 2019-04-16 | 2019-04-16 | 图像处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111832585A true CN111832585A (zh) | 2020-10-27 |
CN111832585B CN111832585B (zh) | 2023-04-18 |
Family
ID=72915386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910305876.XA Active CN111832585B (zh) | 2019-04-16 | 2019-04-16 | 图像处理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111832585B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799598A (zh) * | 2021-02-08 | 2021-05-14 | 清华大学 | 一种数据处理方法、处理器及电子设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0934990A (ja) * | 1995-06-07 | 1997-02-07 | Xerox Corp | 画像分割システム |
US20080226169A1 (en) * | 2007-03-13 | 2008-09-18 | Siemens Corporate Research, Inc. | Accelerated image volume segmentation using minimal surfaces given a boundary |
US20110026849A1 (en) * | 2009-07-31 | 2011-02-03 | Hirokazu Kameyama | Image processing apparatus and method, data processing apparatus and method, and program and recording medium |
CN106874219A (zh) * | 2016-12-23 | 2017-06-20 | 深圳云天励飞技术有限公司 | 一种卷积神经网络的数据调度方法、系统及计算机设备 |
CN107451653A (zh) * | 2017-07-05 | 2017-12-08 | 深圳市自行科技有限公司 | 深度神经网络的计算方法、装置及可读存储介质 |
CN107633295A (zh) * | 2017-09-25 | 2018-01-26 | 北京地平线信息技术有限公司 | 用于适配神经网络的参数的方法和装置 |
CN107798382A (zh) * | 2017-11-21 | 2018-03-13 | 北京地平线信息技术有限公司 | 用于适配卷积神经网络中的特征数据的方法和装置 |
CN107832839A (zh) * | 2017-10-31 | 2018-03-23 | 北京地平线信息技术有限公司 | 执行卷积神经网络中的运算的方法和装置 |
CN107832842A (zh) * | 2017-11-28 | 2018-03-23 | 北京地平线信息技术有限公司 | 针对折叠特征数据执行卷积运算的方法和装置 |
CN107844827A (zh) * | 2017-11-28 | 2018-03-27 | 北京地平线信息技术有限公司 | 执行卷积神经网络中的卷积层的运算的方法和装置 |
CN108171317A (zh) * | 2017-11-27 | 2018-06-15 | 北京时代民芯科技有限公司 | 一种基于soc的数据复用卷积神经网络加速器 |
JP2019045996A (ja) * | 2017-08-30 | 2019-03-22 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
-
2019
- 2019-04-16 CN CN201910305876.XA patent/CN111832585B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0934990A (ja) * | 1995-06-07 | 1997-02-07 | Xerox Corp | 画像分割システム |
US20080226169A1 (en) * | 2007-03-13 | 2008-09-18 | Siemens Corporate Research, Inc. | Accelerated image volume segmentation using minimal surfaces given a boundary |
US20110026849A1 (en) * | 2009-07-31 | 2011-02-03 | Hirokazu Kameyama | Image processing apparatus and method, data processing apparatus and method, and program and recording medium |
CN106874219A (zh) * | 2016-12-23 | 2017-06-20 | 深圳云天励飞技术有限公司 | 一种卷积神经网络的数据调度方法、系统及计算机设备 |
CN107451653A (zh) * | 2017-07-05 | 2017-12-08 | 深圳市自行科技有限公司 | 深度神经网络的计算方法、装置及可读存储介质 |
JP2019045996A (ja) * | 2017-08-30 | 2019-03-22 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
CN107633295A (zh) * | 2017-09-25 | 2018-01-26 | 北京地平线信息技术有限公司 | 用于适配神经网络的参数的方法和装置 |
CN107832839A (zh) * | 2017-10-31 | 2018-03-23 | 北京地平线信息技术有限公司 | 执行卷积神经网络中的运算的方法和装置 |
CN107798382A (zh) * | 2017-11-21 | 2018-03-13 | 北京地平线信息技术有限公司 | 用于适配卷积神经网络中的特征数据的方法和装置 |
CN108171317A (zh) * | 2017-11-27 | 2018-06-15 | 北京时代民芯科技有限公司 | 一种基于soc的数据复用卷积神经网络加速器 |
CN107832842A (zh) * | 2017-11-28 | 2018-03-23 | 北京地平线信息技术有限公司 | 针对折叠特征数据执行卷积运算的方法和装置 |
CN107844827A (zh) * | 2017-11-28 | 2018-03-27 | 北京地平线信息技术有限公司 | 执行卷积神经网络中的卷积层的运算的方法和装置 |
Non-Patent Citations (2)
Title |
---|
HESSAM BAGHERINEZHAD ET AL: "LCNN Lookup-based Convolutional Neural Network", 《2017 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR)》 * |
樊养余等: "基于跨领域卷积稀疏自动编码器的抽象图像情绪性分类", 《电子与信息学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799598A (zh) * | 2021-02-08 | 2021-05-14 | 清华大学 | 一种数据处理方法、处理器及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111832585B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046702B (zh) | 神经网络计算加速器及其执行的方法 | |
US20230043383A1 (en) | Systems and methods for virtually partitioning a machine perception and dense algorithm integrated circuit | |
CN114338504B (zh) | 一种基于网络边缘系统的微服务部署和路由方法 | |
CN109684087B (zh) | 运算方法、装置及相关产品 | |
CN111667051A (zh) | 适用边缘设备的神经网络加速器及神经网络加速计算方法 | |
CN109710374A (zh) | 移动边缘计算环境下最小化任务卸载费用的vm迁移策略 | |
KR20100017645A (ko) | 동적 움직임 벡터 분석방법 | |
JP2014206979A (ja) | プロセス並列処理装置及び方法 | |
CN113835899B (zh) | 针对分布式图学习的数据融合方法及装置 | |
CN112183015B (zh) | 一种面向深度神经网络的芯片布图规划方法 | |
JP6927320B2 (ja) | 推論装置、畳み込み演算実行方法及びプログラム | |
CN111832585B (zh) | 图像处理的方法和装置 | |
CN113313247A (zh) | 基于数据流架构的稀疏神经网络的运算方法 | |
CN112799599A (zh) | 一种数据存储方法、计算核、芯片和电子设备 | |
CN112783807A (zh) | 一种模型计算方法及系统 | |
CN112799598B (zh) | 一种数据处理方法、处理器及电子设备 | |
CN115587922A (zh) | 张量分块方法、装置和存储介质 | |
CN116911366A (zh) | 计算系统神经网络优化方法及装置 | |
CN113821270B (zh) | 任务卸载顺序预测方法、决策方法、电子设备及存储介质 | |
CN113407904B (zh) | 兼容多维度卷积神经网络的Winograd处理方法、系统及介质 | |
US11297127B2 (en) | Information processing system and control method of information processing system | |
CN114330184A (zh) | 一种多层次分组方法及装置 | |
CN111782398A (zh) | 数据处理的方法、装置、系统及相关设备 | |
CN112001492A (zh) | 关于二值权重DenseNet模型的混合流水式加速架构及加速方法 | |
CN112633462A (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 |