[发明专利]用于存储数据的方法和装置有效
申请号: | 201811149876.7 | 申请日: | 2018-09-29 |
公开(公告)号: | CN109308194B | 公开(公告)日: | 2021-08-10 |
发明(设计)人: | 胡耀全 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06N3/04 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司 11204 | 代理人: | 王达佐;马晓亚 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 存储 数据 方法 装置 | ||
本申请实施例公开了用于存储数据的方法和装置。该方法的一具体实施方式包括:从预设的卷积神经网络中的目标特征矩阵中,确定待与目标特征矩阵对应的权重矩阵进行卷积运算的子特征矩阵;执行如下存储步骤:从权重矩阵中的、未提取过的权重数据中,提取预设数量个权重数据及存储到第一目标寄存器中;从子特征矩阵中的、未提取过的特征数据中,提取预设数量个特征数据及存储到第二目标寄存器中;确定权重矩阵中的、未提取过的权重数据的数量和子特征矩阵中的、未提取过的特征数据的数量是否均大于等于预设数量;响应于确定均大于等于预设数量,继续执行存储步骤。该实施方式有助于利用寄存器的存取速度快的特点,提高卷积神经网络的运算效率。
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于存储数据的方法和装置。
背景技术
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。CNN包括卷积层(convolutional layer)、池化层(pooling layer)等。在对这些层中的数据进行卷积运算时,通常需要将其中的特征矩阵(即矩阵形式的特征图(feature map))包括的特征数据与权重矩阵(即矩阵形式的卷积核(又称为滤波器))包括的权重数据相乘。
发明内容
本申请实施例提出了用于存储数据的方法和装置。
第一方面,本申请实施例提供了一种用于存储数据的方法,该方法包括:从预设的卷积神经网络中的目标特征矩阵中,确定待与目标特征矩阵对应的权重矩阵进行卷积运算的子特征矩阵;执行如下存储步骤:从权重矩阵中的、未提取过的权重数据中,提取预设数量个权重数据及存储到第一目标寄存器中;从子特征矩阵中的、未提取过的特征数据中,提取预设数量个特征数据及存储到第二目标寄存器中;确定权重矩阵中的、未提取过的权重数据的数量和子特征矩阵中的、未提取过的特征数据的数量是否均大于等于预设数量;响应于确定均大于等于预设数量,继续执行存储步骤。
在一些实施例中,存储步骤还包括:响应于确定权重矩阵中的、未提取过的权重数据的数量和子特征矩阵中的、未提取过的特征数据的数量均大于零且小于预设数量,将权重矩阵中的、未提取过的权重数据存储到第一目标寄存器中,以及将子特征矩阵中的、未提取过的特征数据存储到第二目标寄存器中。
在一些实施例中,卷积神经网络中的特征矩阵包括的特征数据和权重矩阵包括的权重数据是预设位数的定点数。
在一些实施例中,存储步骤还包括:对于存储在第一目标寄存器中的各个权重数据中的权重数据,将该权重数据乘以对应的、存储在第二目标寄存器中的特征数据,得到乘积;将所得到的乘积存储到预设的存储区域中。
在一些实施例中,目标特征矩阵包括的特征数据和权重矩阵包括的权重数据预先存储在预设缓存中。
在一些实施例中,预设数量是预设的单指令多数据流SIMD指令单次提取的数据的位数与卷积神经网络中的特征矩阵包括的特征数据的位数的商。
在一些实施例中,从权重矩阵中的、未提取过的权重数据中,提取预设数量个权重数据及存储到第一目标寄存器中,包括:基于SIMD 指令从权重矩阵中的、未提取过的权重数据中,提取预设数量个权重数据及存储到第一目标寄存器中。
在一些实施例中,从子特征矩阵中的、未提取过的特征数据中,提取预设数量个特征数据及存储到第二目标寄存器中,包括:
基于SIMD指令从子特征矩阵中的、未提取过的特征数据中,提取预设数量个特征数据及存储到第二目标寄存器中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811149876.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置