CN113628099A - 一种特征图数据转化方法、装置、电子设备和存储介质 - Google Patents
一种特征图数据转化方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113628099A CN113628099A CN202110910501.3A CN202110910501A CN113628099A CN 113628099 A CN113628099 A CN 113628099A CN 202110910501 A CN202110910501 A CN 202110910501A CN 113628099 A CN113628099 A CN 113628099A
- Authority
- CN
- China
- Prior art keywords
- data
- channel
- feature
- conversion unit
- sequence
- 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
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 182
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012163 sequencing technique Methods 0.000 claims description 13
- 108091006146 Channels Proteins 0.000 description 233
- 238000010586 diagram Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000011550 data transformation method Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种特征图数据转化方法、装置、电子设备和存储介质,该方法包括获取特征图原始数据,特征图原始数据包括依次排序的M行特征数据,每行特征数据包括依次排序的N个特征点数据,每个特征点数据包括依次排序的K个通道数据;将M行特征数据划分为Q个数据转换单元,对每个数据转换单元中的通道数据进行位置调换,调换后每个数据转换单元中的通道数据满足以下规则:属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照K个通道的顺序依次排序;从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,获得特征图转化数据。
Description
技术领域
本申请涉及特征图转化技术领域,具体而言,涉及一种特征图数据转化方法、装置、电子设备和存储介质。
背景技术
在嵌入式神经网络处理器(NPU)设计时为了满足卷积神经网络的计算要求,特征图(向量矩阵)在其存储上通常是hwc的方式存储,但是在卷积神经网络框架中数据通常是chw的方式,这就需要嵌入式神经网络处理器输出特征图的时候将其从hwc转换成chw。
hwc方式的特征图具有多行多列个特征点,每个特征点具有多个通道数据,例如以3X3个特征点,每个特征点具有8个通道为例,其形式可为:
第一行:a11a12a13a14a15a16a17a18,a21a22a23a24a25a26a27a28,a31a32a33a34a35a36a37a38。
第二行:b11b12b13b14b15b16b17b18,b21b22b23b24b25b26b27b28,b31b32b33b34b35b36b37b38
第三行:c11c12c13c14c15c16c17c18,c21c22c23c24c25c26c27c28,c31c32c33c34c35c36c37c38。
而chw形式的特征图,其将同一通道的数据紧邻形成,上述hwc方式的特征图转换成chw后形式如下:
a11a21a31b11b21b31c11c21c31a12a22a32b12b22b32c12c22c32a13a23a33b13b23b33c13c23c33……a18a28a38b18b28b38c18c28c38。
现有的硬件一次寻址是128bit,一个通道是8bit,也就是说一次寻址可以得到16个通道的数据,即a11a12a13a14a15a16a17a18,a21a22a23a24a25a26a27a28,而该寻址得到的数据中,可用于形成chw形式的特征图的数据仅有a11和a21(chw形式的特征图需要按照通道顺序依次形成,先形成第一个通道的数据),即一次读取到的数据大多数当前都不可用,这样使得现有特征图数据转换方案必须对数据重复读取多次才能够完成转换,造成转换效率低以及资源浪费的问题。
发明内容
本申请实施例的目的在于提供一种特征图数据转化方法、装置、电子设备和存储介质,用以解决上述问题。
第一方面,本发明提供一种特征图数据转化方法,包括:获取特征图原始数据,所述特征图原始数据包括依次排序的M行特征数据,每行特征数据包括依次排序的N个特征点数据,每个特征点数据包括依次排序的K个通道数据;将所述M行特征数据划分为Q个数据转换单元,对每个数据转换单元中的通道数据进行位置调换,调换后每个数据转换单元中的通道数据满足以下规则:属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序;从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,获得特征图转化数据。
在上述设计的特征图数据转化方法中,本申请方案通过将特征图原始数据的M行特征数据划分为Q个数据转换单元,然后对每个数据转换单元中的通道数据进行位置调换,使得调换后每个数据转换单元中属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序,进而从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,即可得到特征图转化数据;在本方案中,只需对每个数据转换单元中的通道数据进行位置调换,而无需对特征图原始数据进行多次读取,因此,减少了特征图原始数据的读取次数,进而提高了特征图数据转化的效率,降低了带宽消耗进而节约了资源消耗。
在第一方面的可选的实施方式中,所述将所述M行特征数据划分为Q个数据转换单元,包括:将M行特征数据中的每行特征数据确定为一个数据转换单元,获得Q个数据转换单元,其中,M=Q;所述对每个数据转换单元中的通道数据进行位置调换,调换后每个数据转换单元中的通道数据满足以下规则:属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序,包括:对每行特征数据中的通道数据进行位置调换,调换后每行特征数据中的通道数据满足以下规则:属于同一通道的N个通道数据聚集在一起并按照对应的N个特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序。
在第一方面的可选实施方式中,所述将M行特征数据划分为Q个数据转换单元,包括:将M行特征数据中的所有行特征数据合并为一行特征数据,获得一个数据转换单元,其中,H+1行特征数据的第一个通道数据与H行特征数据的最后一个通道数据相邻,Q=1。
在第一方面的可选实施方式中,所述对每个数据转换单元中的通道数据进行位置调换,包括:对每个数据转换单元中的通道数据执行log2K轮如下位置调换:将每个数据转换单元中排列次序为奇数的通道数据聚集在一起,并按照其次序先后依次排序;将每个数据转换单元中排列次序为偶数的通道数据聚集在一起,并按照其次序先后依次排序,并且排列次序为奇数的最后一位通道数据与排列次数为偶数的第一位通道数据相邻,其中,L+1轮数据位置调换在L轮数据位置调换后的数据基础上进行,log2K为整数,1≤L<log2K。
在上述设计的实施方式中,本申请方案在进行位置调换处理时,本方案只需对特征图原始数据读取log2K次,假设为8通道数据,本申请方案只需读取3次特征图原始数据,而对于现有方案来说,其对每一通道数据进行利用时,则需要对特征图原始数据读取一次,因此,本申请方案从读取K次特征图原始数据减少到了读取log2K次特征图原始数据,减少了特征图原始数据的读取次数,进而提高了特征图数据转化的效率,降低了带宽消耗进而节约了资源消耗。
在第一方面的可选实施方式中,在所述获得特征图转化数据之后,所述方法还包括:按照读取次序依次给每一读取的通道数据分配一个写入地址;根据分配的写入地址依次将每一通道数据写入存储器中。
第二方面,本发明提供一种特征图数据转化装置,包括:获取模块,用于获取特征图原始数据,所述特征图原始数据包括依次排序的M行特征数据,每行特征数据包括依次排序的N个特征点数据,每个特征点数据包括依次排序的K个通道数据;位置调换模块,用于将所述M行特征数据划分为Q个数据转换单元,对每个数据转换单元中的通道数据进行位置调换,调换后每个数据转换单元中的通道数据满足以下规则:属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序;读取模块,还用于从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,获得特征图转化数据。
在上述设计的特征图数据转化装置中,本申请方案通过将特征图原始数据的M行特征数据划分为Q个数据转换单元,然后对每个数据转换单元中的通道数据进行位置调换,使得调换后每个数据转换单元中属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序,进而从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,即可得到特征图转化数据;在本方案中,只需对每个数据转换单元中的通道数据进行位置调换,而无需对特征图原始数据进行多次读取,因此,减少了特征图原始数据的读取次数,进而提高了特征图数据转化的效率,降低了带宽消耗进而节约了资源消耗。
在第二方面的可选实施方式中,所述位置调换模块,具体用于将M行特征数据中的每行特征数据确定为一个数据转换单元,获得Q个数据转换单元,其中,M=Q;对每行特征数据中的通道数据进行位置调换,调换后每行特征数据中的通道数据满足以下规则:属于同一通道的N个通道数据聚集在一起并按照对应的N个特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序。
在第二方面的可选实施方式中,所述位置调换模块,还具体用于对每个数据转换单元中的通道数据执行log2K轮如下位置调换:将每个数据转换单元中排列次序为奇数的通道数据聚集在一起,并按照其次序先后依次排序;将每个数据转换单元中排列次序为偶数的通道数据聚集在一起,并按照其次序先后依次排序,并且排列次序为奇数的最后一位通道数据与排列次数为偶数的第一位通道数据相邻,其中,L+1轮数据位置调换在L轮数据位置调换后的数据基础上进行,log2K为整数,1≤L<log2K。
第三方面,实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行第一方面、第一方面的任一可选的实现方式中的所述方法。
第四方面,实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时执行第一方面、第一方面的任一可选的实现方式中的所述方法。
第五方面,实施例提供了一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面、第一方面的任一可选的实现方式中的所述方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的特征图数据转化方法的第一流程图;
图2为本申请实施例提供的特征图数据转化方法的第二流程图;
图3为本申请实施例提供的特征图数据转化方法的第三流程图;
图4为本申请实施例提供的特征图数据转化方法的第四流程图;
图5为本申请实施例提供的特征图数据转化装置的结构示意图;
图6为本申请实施例提供的电子设备的结构示意图。
图标:500-获取模块;510-位置调换模块;520-读取模块;6-电子设备;601-处理器;602-存储器;603-通信总线。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供一种特征图数据转化方法,该特征图数据转化方法可应用于嵌入式神经网络处理器,如图1所示,该方法包括如下步骤:
步骤S100:获取特征图原始数据,该特征图原始数据包括依次排序的M行特征数据,每行特征数据包括依次排序的N个特征点数据,每个特征点数据包括依次排序的K个通道数据。
步骤S110:将M行特征数据划分为Q个数据转换单元,对每个数据转换单元中的通道数据进行位置调换。
步骤S120:从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,获得特征图转化数据。
在步骤S100中,特征图原始数据依照背景技术3X3、8通道的示例,该特征图原始数据包括依次排序的3行特征数据,例如第一行为:a11a12a13a14a15a16a17a18,a21a22a23a24a25a26a27a28,a31a32a33a34a35a36a37a38。
每行特征数据包括依次排序的N个特征点数据,例如,第一行数据包括依次排序的3个特征点,a1、a2和a3;每个特征点数据包括依次排序的K个通道数据,如a1特征点数据包括依次排序的8个通道数据a11a12a13a14a15a16a17a18。
获取特征图原始数据的方式可由多种,可以是外部设备传输给嵌入式神经网络处理器获得的,也可以是之前存储在嵌入式神经网络处理器对应连接的存储器中,进而通过读取获得的。
在上述获得特征图原始数据的基础上,即可执行步骤S110将M行特征数据划分为Q个数据转换单元,对每个数据转换单元中的通道数据进行位置调换,使得调换后每个数据转换单元中的通道数据满足以下规则:属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照K个通道的顺序依次排序。
作为一种可能的实施方式,步骤S110具体可包括如下步骤:
步骤S200:将M行特征数据中的每行特征数据确定为一个数据转换单元,获得Q个数据转换单元。
步骤S210:对每行特征数据中的通道数据进行位置调换,调换后每行特征数据中的通道数据满足以下规则:属于同一通道的N个通道数据聚集在一起并按照对应的N个特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照K个通道的顺序依次排序。
在上述的实施方式中,本申请方案将每行特征数据作为一个数据转换单元,即Q此时等于M,进而得到M个数据转换单元,这M个数据转换单元与M行特征数据的排序一致,依照前述3X3的特征图的示例,那么即可得到3个数据转换单元,而这三个数据转换单元的排序与三行特征数据的排序一致,例如,第一行特征数据排在第二行特征数据之前,那么第一行特征数据对应的数据转换单元即排在第二行特征数据对应的数据转换单元之前。
在上述将每行特征数据确定为一个数据转换单元基础上,本方案执行步骤S210对每行特征数据中的通道数据进行位置调换,使得调换后的每行特征数据中属于同一通道的N个通道数据聚集在一起并按照对应的N个特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序。
依照前述3X3特征图的举例,对步骤S1120进行如下举例说明:
第一行:a11a12a13a14a15a16a17a18,a21a22a23a24a25a26a27a28,a31a32a33a34a35a36a37a38。
该第一行即为一个数据转换单元,对该第一行数据进行位置调换,使得该第一行的数据转换为:
a11 a21 a31 a12 a22 a32 a13 a23 a33 a14 a24 a34 a15 a25 a35 a16 a26a36 a17 a27 a37 a18 a28 a38。
在上述对第一行转换完成的数据中,属于同一通道的N个通道数据聚集在一起并按照对应的N个特征点数据的顺序依次排序,指的是属于第1通道的3个通道数据a11 a21a31聚集在一起并且其按照a1、a2和a3的排序依次排列,即a1的第1通道数据a1与其一致即排列在最前,a2的第1通道数据a21与其一致即排列居中,a3的第1通道数据a31与其一致即排列在最后;属于第2通道的3个通道数据a12 a22 a32聚集在一起并且其按照a1、a2和a3的排序依次排列,以此类推,属于第8通道的3个通道数据a18 a28 a38聚集在一起并且其按照a1、a2和a3的排序依次排列。
并且属于不同通道的通道数据之间按照K个通道的顺序依次排序,例如原始数据是按照第1通道、第2通道、第3通道……第8通道这样排序,那么转换的数据也按照第1通道、第2通道……第8通道这样排序,依照前述举例a11 a21 a31的第1通道数据排列完毕后排列第2通道的通道数据a12 a22 a32,以此类推。
在本实施例的可选实施方式中,如图3所示,对每个数据转换单元中的通道数据进行位置调换可通过如下方式具体实现:
步骤S300:对每个数据转换单元中的通道数据执行log2K轮如下位置调换:将每个数据转换单元中排列次序为奇数的通道数据聚集在一起,并按照其次序先后依次排序;将每个数据转换单元中排列次序为偶数的通道数据聚集在一起,并按照其次序先后依次排序,并且排列次序为奇数的最后一位通道数据与排列次数为偶数的第一位通道数据相邻,其中,L+1轮数据位置调换在L轮数据位置调换后的数据基础上进行,log2K为整数,1≤L<log2K。
上述步骤S300可通过如下举例进行说明,第一行为一个数据转换单元:
a11a12a13a14a15a16a17a18,a21a22a23a24a25a26a27a28,a31a32a33a34a35a36a37a38。
由于该数据转换单元每个特征数据点具有8个通道,因此,需要进行log28=3,即三轮位置调换。
对该数据转换单元执行第一次位置调换,即将排列次序为奇数的通道数据聚集在一起,并按照其次序先后依次排序,将排列次序为偶数的通道数据聚集在一起,并按照其次序先后依次排序,并且排列次序为奇数的最后一位通道数据与排列次数为偶数的第一位通道数据相邻,得到第一次转换后的形式:
a11 a13 a15 a17 a21 a23 a25 a27 a31 a33 a35 a37 a12 a14 a16 a18 a22a24 a26 a28 a32 a34 a36 a38。
对第一次转换后的数据继续进行如上规则的位置调换,得到第二次转换后的形式:
a11 a15 a21 a25 a31 a35 a12 a16 a22 a26 a32 a36 a13 a17 a23 a27 a33a37 a14 a18 a24 a28 a34 a38。
对第二次转换后的数据继续进行如上规则的位置调换,得到第三次转换后的形式:
a11 a21 a31 a12 a22 a32 a13 a23 a33 a14 a24 a34 a15 a25 a35 a16 a26a36 a17 a27 a37 a18 a28 a38。
由上述可见,在对第一转换单元进行三轮位置调换后即可实现第一转换单元中的通道数据满足规则:属于同一通道的N个通道数据聚集在一起并按照对应的N个特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序。
通过上述位置调换方式对每一转换单元的数据进行位置调换,进而使得每一转换单元的通道数据均满足上述规则,依照前述的举例,即第二行作为第二转换单元后,转换后的形式为:
b11 b21 b31 b12 b22 b32 b13 b23 b33 b14 b24 b34 b15 b25 b35 b16 b26b36 b17 b27 b37 b18 b28 b38。
第三行作为第三转换单元后,转换后的形式为:
c11 c21 c31 c12 c22 c32 c13 c23 c33 c14 c24 c34 c15 c25 c35 c16 c26c36 c17 c27 c37 c18 c28 c38。
这里需要说明的是,除了依照前述举例的将每行的特征数据作为一个数据转换单元以外,还可以将多行的特征数据作为一个数据转换单元,例如,对于将每两行的特征数据作为一个数据转换单元的情况,可以将第一行a1、a2、a3的特征数据和第二行b1、b2、b3的特征数据合并为一个数据转换单元,即得到:a1、a2、a3、b1、b2、b3为一个数据转换单元;申请方案可以根据数据处理能力来确定数据转换单元的大小,在数据处理能力范围内可使确定的数据转换单元尽可能大。
除了上述方式以外,在数据处理能力较强的情况下,还可以将所有行的数据作为一个数据转换单元进行位置调换,即将a1、a2、a3、b1、b2、b3、c1、c2、c3作为一个数据转换单元,进而可以使得无需多次位置调换处理,进行一次位置调换处理即可调整到位。
上述实施方式只是数据转换单元包含的数据量不同,而对于数据转换单元中的通道数据的位置调换过程与前述过程一致,在这里不再赘述。
本方案基于上述实施方式将每个数据转换单元中的通道数据位置调换满足预设规则后,即可执行步骤S120从排序最靠前的通道开始,依次读取Q个数据单元中属于同一通道的通道数据,获得特征图转化数据。
上述过程依照前述举例,可通过如下说明进行理解:
在前述举例中每行作为一个数据转换单元,可以得到三个位置调换后的数据转换单元即:
a11 a21 a31 a12 a22 a32 a13 a23 a33 a14 a24 a34 a15 a25 a35 a16 a26a36 a17 a27 a37 a18 a28 a38。
b11 b21 b31 b12 b22 b32 b13 b23 b33 b14 b24 b34 b15 b25 b35 b16 b26b36 b17 b27 b37 b18 b28 b38。
c11 c21 c31 c12 c22 c32 c13 c23 c33 c14 c24 c34 c15 c25 c35 c16 c26c36 c17 c27 c37 c18 c28 c38。
本方案在执行步骤S120时,会首先从排序最靠前的第1通道开始,依次读取三个数据转换单元中属于同一通道的通道数据,即首先依次读取三个数据转换单元中的第1通道的数据,即可得到a11 a21 a31 b11 b21 b31 c11 c21 c31。
然后依次读取三个数据转换单元中的第2通道的数据,即可得到a11 a21 a31 b11b21 b31 c11 c21 c31 a12 a22 a32 b12 b22 b32 c12 c22 c32;直至将三个数据转换单元中的第8通道的数据读取截止,即可得到:a11a21a31b11b21b31c11c21c31a12a22a32b12b22b32c12c22c32a13a23a33b13b23b33c13c23c33……a18a28a38b18b28b38c18c28c38,即得到了chw形式的特征图转化数据。
在上述设计的特征图数据转化方法中,本申请方案通过将特征图原始数据的M行特征数据划分为Q个数据转换单元,然后对每个数据转换单元中的通道数据进行位置调换,使得调换后每个数据转换单元中属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序,进而从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,即可得到特征图转化数据;在本方案中,只需对每个数据转换单元中的通道数据进行位置调换,而无需对特征图原始数据进行多次读取,因此,减少了特征图原始数据的读取次数,进而提高了特征图数据转化的效率,降低了带宽消耗进而节约了资源消耗。另外,本申请方案在进行位置调换处理时,本方案只需对特征图原始数据读取log2K次,假设为8通道数据,本申请方案只需读取3次特征图原始数据,而对于现有方案来说,其对每一通道数据进行利用时,则需要对特征图原始数据读取一次,因此,本申请方案从读取K次特征图原始数据减少到了读取log2K次特征图原始数据,减少了特征图原始数据的读取次数,进而提高了特征图数据转化的效率,降低了带宽消耗进而节约了资源消耗。再者,本申请方案应用于嵌入式神经网络处理器,使得在进行神经网络处理过程中,无需占用CPU的资源。
在本实施例的可选实施方式中,在步骤S120获得特征图转换数据之后,如图4所示,本申请方案还可以包括如下步骤:
步骤S400:按照读取次序依次给每一读取的通道数据分配一个写入地址。
步骤S410:根据分配的写入地址依次将每一通道数据写入存储器中。
在上述步骤中,本申请方案会根据步骤S120对通道数据的读取次序给每一通道数据分配一个写入地址,该写入地址根据读取次序也依次排序,进而根据分配的写入地址依次将每一通道数据写入存储器中,进而使得后续进行卷积神经网络处理需要用到特征图转换数据时,依照写入的地址即可依次从存储器中读取出chw形式的特征图转换数据。
图5出示了本申请提供的特征图数据转化装置的示意性结构框图,应理解,该装置与上述图1至图4中执行的方法实施例对应,能够执行前述的方法涉及的步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作***(operatingsystem,OS)中的软件功能模块。具体地,该装置包括:获取模块500,用于获取特征图原始数据,特征图原始数据包括依次排序的M行特征数据,每行特征数据包括依次排序的N个特征点数据,每个特征点数据包括依次排序的K个通道数据;位置调换模块510,用于将M行特征数据划分为Q个数据转换单元,对每个数据转换单元中的通道数据进行位置调换,调换后每个数据转换单元中的通道数据满足以下规则:属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照K个通道的顺序依次排序;读取模块520,还用于从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,获得特征图转化数据。
在上述设计的特征图数据转化装置中,本申请方案通过将特征图原始数据的M行特征数据划分为Q个数据转换单元,然后对每个数据转换单元中的通道数据进行位置调换,使得调换后每个数据转换单元中属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序,进而从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,即可得到特征图转化数据;在本方案中,只需对每个数据转换单元中的通道数据进行位置调换,而无需对特征图原始数据进行多次读取,因此,减少了特征图原始数据的读取次数,进而提高了特征图数据转化的效率,降低了带宽消耗进而节约了资源消耗。
在本实施例的可选实施方式中,位置调换模块510,具体用于将M行特征数据中的每行特征数据确定为一个数据转换单元,获得Q个数据转换单元,其中,M=Q;对每行特征数据中的通道数据进行位置调换,调换后每行特征数据中的通道数据满足以下规则:属于同一通道的N个通道数据聚集在一起并按照对应的N个特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序。
在本实施例的可选实施方式中,位置调换模块510,还具体用于对每个数据转换单元中的通道数据执行log2K轮如下位置调换:将每个数据转换单元中排列次序为奇数的通道数据聚集在一起,并按照其次序先后依次排序;将每个数据转换单元中排列次序为偶数的通道数据聚集在一起,并按照其次序先后依次排序,并且排列次序为奇数的最后一位通道数据与排列次数为偶数的第一位通道数据相邻,其中,L+1轮数据位置调换在L轮数据位置调换后的数据基础上进行,log2K为整数,1≤L<log2K。
如图6所示,本申请提供一种电子设备6,包括:处理器601和存储器602,处理器601和存储器602通过通信总线603和/或其他形式的连接机构(未标出)互连并相互通讯,存储器602存储有处理器601可执行的计算机程序,当计算设备运行时,处理器601执行该计算机程序,以执行时执行前述任一可选的实现方式中的方法,例如步骤S100至步骤S120:获取特征图原始数据,该特征图原始数据包括依次排序的M行特征数据,每行特征数据包括依次排序的N个特征点数据,每个特征点数据包括依次排序的K个通道数据;将M行特征数据划分为Q个数据转换单元,对每个数据转换单元中的通道数据进行位置调换;从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,获得特征图转化数据。
本申请提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前述任一可选的实现方式中的方法。
其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请提供一种计算机程序产品,该计算机程序产品在计算机上运行时,使得计算机执行前述任一可选的实现方式中的所述方法。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种特征图数据转化方法,其特征在于,包括:
获取特征图原始数据,所述特征图原始数据包括依次排序的M行特征数据,每行特征数据包括依次排序的N个特征点数据,每个特征点数据包括依次排序的K个通道数据;
将所述M行特征数据划分为Q个数据转换单元,对每个数据转换单元中的通道数据进行位置调换,调换后每个数据转换单元中的通道数据满足以下规则:属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序;
从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,获得特征图转化数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述M行特征数据划分为Q个数据转换单元,包括:
将M行特征数据中的每行特征数据确定为一个数据转换单元,获得Q个数据转换单元,其中,M=Q;
所述对每个数据转换单元中的通道数据进行位置调换,调换后每个数据转换单元中的通道数据满足以下规则:属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序,包括:
对每行特征数据中的通道数据进行位置调换,调换后每行特征数据中的通道数据满足以下规则:属于同一通道的N个通道数据聚集在一起并按照对应的N个特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序。
3.根据权利要求1所述的方法,其特征在于,所述将M行特征数据划分为Q个数据转换单元,包括:
将M行特征数据中的所有行的特征数据确定为一个数据转换单元,其中,所述数据转换单元中H+1行特征数据的第一个通道数据与H行特征数据的最后一个通道数据相邻,Q=1,1≤H≤M-1。
4.根据权利要求1所述的方法,其特征在于,所述对每个数据转换单元中的通道数据进行位置调换,包括:
对每个数据转换单元中的通道数据执行log2K轮如下位置调换:将每个数据转换单元中排列次序为奇数的通道数据聚集在一起,并按照其次序先后依次排序;将每个数据转换单元中排列次序为偶数的通道数据聚集在一起,并按照其次序先后依次排序,并且排列次序为奇数的最后一位通道数据与排列次数为偶数的第一位通道数据相邻,其中,L+1轮数据位置调换在L轮数据位置调换后的数据基础上进行,log2K为整数,1≤L<log2K。
5.根据权利要求1所述的方法,其特征在于,在所述获得特征图转化数据之后,所述方法还包括:
按照读取次序依次给每一读取的通道数据分配一个写入地址;
根据分配的写入地址依次将每一通道数据写入存储器中。
6.一种特征图数据转化装置,其特征在于,包括:
获取模块,用于获取特征图原始数据,所述特征图原始数据包括依次排序的M行特征数据,每行特征数据包括依次排序的N个特征点数据,每个特征点数据包括依次排序的K个通道数据;
位置调换模块,用于将所述M行特征数据划分为Q个数据转换单元,对每个数据转换单元中的通道数据进行位置调换,调换后每个数据转换单元中的通道数据满足以下规则:属于同一通道的通道数据聚集在一起,按照其对应的特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序;
读取模块,还用于从排序最靠前的通道开始,依次读取Q个数据转换单元中属于同一通道的通道数据,获得特征图转化数据。
7.根据权利要求6所述的装置,其特征在于,所述位置调换模块,具体用于将M行特征数据中的每行特征数据确定为一个数据转换单元,获得Q个数据转换单元,其中,M=Q;对每行特征数据中的通道数据进行位置调换,调换后每行特征数据中的通道数据满足以下规则:属于同一通道的N个通道数据聚集在一起并按照对应的N个特征点数据的顺序依次排序,且属于不同通道的通道数据之间按照所述K个通道的顺序依次排序。
8.根据权利要求6所述的装置,其特征在于,所述位置调换模块,还具体用于对每个数据转换单元中的通道数据执行log2K轮如下位置调换:将每个数据转换单元中排列次序为奇数的通道数据聚集在一起,并按照其次序先后依次排序;将每个数据转换单元中排列次序为偶数的通道数据聚集在一起,并按照其次序先后依次排序,并且排列次序为奇数的最后一位通道数据与排列次数为偶数的第一位通道数据相邻,其中,L+1轮数据位置调换在L轮数据位置调换后的数据基础上进行,log2K为整数,1≤L<log2K。
9.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910501.3A CN113628099A (zh) | 2021-08-09 | 2021-08-09 | 一种特征图数据转化方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110910501.3A CN113628099A (zh) | 2021-08-09 | 2021-08-09 | 一种特征图数据转化方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113628099A true CN113628099A (zh) | 2021-11-09 |
Family
ID=78383852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110910501.3A Pending CN113628099A (zh) | 2021-08-09 | 2021-08-09 | 一种特征图数据转化方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113628099A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327256A (zh) * | 2021-11-22 | 2022-04-12 | 南京风兴科技有限公司 | 一种用于神经网络处理器的数据格式在线转换架构及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285715A1 (en) * | 2017-03-28 | 2018-10-04 | Samsung Electronics Co., Ltd. | Convolutional neural network (cnn) processing method and apparatus |
CN110309837A (zh) * | 2019-07-05 | 2019-10-08 | 北京迈格威科技有限公司 | 基于卷积神经网络特征图的数据处理方法及图像处理方法 |
CN110399971A (zh) * | 2019-07-03 | 2019-11-01 | Oppo广东移动通信有限公司 | 一种卷积神经网络加速方法及装置、存储介质 |
CN112001975A (zh) * | 2020-07-10 | 2020-11-27 | 浙江大华技术股份有限公司 | 图像数据转换方法及相关设备、装置 |
-
2021
- 2021-08-09 CN CN202110910501.3A patent/CN113628099A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285715A1 (en) * | 2017-03-28 | 2018-10-04 | Samsung Electronics Co., Ltd. | Convolutional neural network (cnn) processing method and apparatus |
CN110399971A (zh) * | 2019-07-03 | 2019-11-01 | Oppo广东移动通信有限公司 | 一种卷积神经网络加速方法及装置、存储介质 |
CN110309837A (zh) * | 2019-07-05 | 2019-10-08 | 北京迈格威科技有限公司 | 基于卷积神经网络特征图的数据处理方法及图像处理方法 |
CN112001975A (zh) * | 2020-07-10 | 2020-11-27 | 浙江大华技术股份有限公司 | 图像数据转换方法及相关设备、装置 |
Non-Patent Citations (1)
Title |
---|
曾凡毅;: "基于深度学习的嵌入式云检测***的设计与实现", 工业控制计算机, no. 05, 25 May 2020 (2020-05-25) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327256A (zh) * | 2021-11-22 | 2022-04-12 | 南京风兴科技有限公司 | 一种用于神经网络处理器的数据格式在线转换架构及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111090628B (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN111209352B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN107977346B (zh) | 一种pdf文档编辑方法及终端设备 | |
CN109857744B (zh) | 稀疏张量计算方法、装置、设备及存储介质 | |
CN110188135A (zh) | 文件生成方法及设备 | |
CN115880132B (zh) | 图形处理器、矩阵乘法任务处理方法、装置及存储介质 | |
CN109471893B (zh) | 网络数据的查询方法、设备及计算机可读存储介质 | |
CN113628099A (zh) | 一种特征图数据转化方法、装置、电子设备和存储介质 | |
CN112506950A (zh) | 数据聚合处理方法、计算节点、计算集群及存储介质 | |
CN110688055B (zh) | 一种大图计算中数据访问方法及*** | |
JP4511469B2 (ja) | 情報処理方法及び情報処理システム | |
CN116541336B (zh) | 多核芯片、协处理器的软件运行方法 | |
CN110377891B (zh) | 事件分析文章的生成方法、装置、设备及计算机可读存储介质 | |
CN107169115A (zh) | 添加自定义分词的方法及装置 | |
CN109324838B (zh) | 单片机程序的执行方法、执行装置及终端 | |
CN110674086A (zh) | 数据合并方法、装置、电子设备及存储介质 | |
US6636925B1 (en) | Bus interface circuit preparation apparatus and recording medium | |
CN112698825B (zh) | 编程积木块转换方法、装置、处理设备及存储介质 | |
CN114168581A (zh) | 数据清洗方法、装置、计算机设备及存储介质 | |
CN114238250A (zh) | 程序文件压缩方法、装置及电子设备 | |
CN112685456A (zh) | 一种用户访问数据的处理方法、装置及计算机*** | |
JP6767269B2 (ja) | 情報処理システム、情報処理装置、周辺装置、データ転送方法、及びデータ転送プログラム | |
US10693494B2 (en) | Reducing a size of multiple data sets | |
CN116804915B (zh) | 基于存储器的数据交互方法、处理器、设备以及介质 | |
CN117312182B (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 |