[发明专利]对神经网络数据进行预处理和后处理的方法和装置有效
申请号: | 201810555810.1 | 申请日: | 2018-06-01 |
公开(公告)号: | CN108875914B | 公开(公告)日: | 2021-03-23 |
发明(设计)人: | 魏兴;李德林;凌坤 | 申请(专利权)人: | 北京地平线信息技术有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08 |
代理公司: | 北京市正见永申律师事务所 11497 | 代理人: | 黄小临;冯玉清 |
地址: | 100080 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 数据 进行 预处理 处理 方法 装置 | ||
公开了对神经网络数据进行预处理和后处理的方法和装置。用于预处理的方法包括:根据数据后处理,确定神经网络的指定层的输出通道集合序列;以及根据输出通道集合序列和指定层的设计参数,生成指定层的运算参数序列。通过该方法,用于数据后处理的处理器能够在数据后处理过程中高效地访问有效数据,从而能够显著地提升处理性能并节约带宽消耗。
技术领域
本公开总体上涉及神经网络的技术领域,并且具体地涉及对神经网络数据进行预处理和后处理的方法和装置。
背景技术
处理器在访问物理存储器中的数据时通常采用高速缓存机制。为了确保数据的一致性,在读取数据之前往往将清空高速缓冲存储器中的相应区域;而在访问某个数据时,按照高速缓冲存储器的缓存行(Cache Line)的长度将连续物理地址上的数据读入到高速缓冲存储器中。
然而,由神经网络(例如,卷积神经网络)输出的数据通常包括在多个通道上的数据,并且虽然输出数据在实际的物理存储器中在整体上可能分配有一块连续的存储空间,但是每个通道上的数据在该存储空间中可能不是连续存放的,使得在针对神经网络的输出数据执行的数据后处理的过程中,处理器(例如,后处理器)为了单次的计算而读取的数据往往跨越缓存行的地址对齐边界,并且因此需要加载至少两个缓存行的数据,从而造成带宽和时间上的额外开销。
另外,用于神经网络运算的专用硬件加速器通常设计有很多对齐的通道,使得输出数据往往包括很多用于数据对齐的无效数据,并导致更大的带宽开销。
发明内容
根据本公开的一方面,提供了一种对神经网络数据进行预处理的方法。该方法包括:根据要对神经网络的指定层的各个输出通道上的数据执行的数据后处理,确定指定层的输出通道集合序列,输出通道集合序列中的每个输出通道集合包括指定层的一个或多个输出通道;以及根据输出通道集合序列和指定层的设计参数,生成指定层的运算参数序列,运算参数序列中的每个运算参数包括设计参数的与输出通道集合序列中相应的输出通道集合相对应的一个或多个核。
在一个实施例中,确定输出通道集合序列可以包括:确定数据后处理的处理流程中的一个或多个程序块,每个程序块包括与指定层的至少一个输出通道相关联的单入单出的指令序列;确定程序块序列;以及根据程序块序列,确定输出通道集合序列。在一个实施例中,确定程序块序列可以包括:根据数据后处理的处理流程,确定以每个程序块为顶点的顶点活动网;以及基于顶点活动网对程序块进行拓扑排序。在一个实施例中,分别与每个程序块相关联的每个输出通道的集合分别对应于输出通道集合序列中的一个输出通道集合。
在一个实施例中,该方法还可以包括:调整输出通道集合序列,使得调整后的输出通道集合序列中的每个输出通道集合的数据量小于或等于在数据后处理中使用的高速缓冲存储器的单个缓存行的容量。
在不同的实施例中,调整输出通道集合序列可以包括下列中的一个或多个操作:拆分输出通道集合序列中的输出通道集合;合并输出通道集合序列中的相邻的输出通道集合;删除输出通道集合序列中的输出通道集合,所删除的输出通道集合是输出通道集合序列中的另一个输出通道集合的子集,其中,所删除的输出通道集合与在输出通道集合序列中作为所删除的输出通道集合的超集的另一个通道集合可以是相邻的;删除输出通道集合序列中的第一输出通道集合中的一个或多个输出通道,所删除的一个或多个输出通道包括在输出通道集合序列中与第一输出通道集合相邻的第二输出通道集合中;从输出通道集合序列中相邻的第一输出通道集合和第二输出通道集合中删除一个或多个相同的输出通道,然后将所删除的一个或多个相同的输出通道作为新的输出通道集合插入到输出通道集合序列中。
根据本公开的另一方面,还提供了一种计算机可读存储介质,在其上存储的程序指在被执行时执行上述对神经网络数据进行预处理的方法。
根据本公开的另一方面,还提供了一种对神经网络数据进行预处理的装置。该装置可以包括:一个或多个处理器,被配置为至少执行上述对神经网络数据进行预处理的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京地平线信息技术有限公司,未经北京地平线信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810555810.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置