【技术实现步骤摘要】
神经网络的前向计算方法、装置及计算机可读存储介质
本申请涉及计算机
,具体而言,本申请涉及一种神经网络的前向计算方法、装置、电子设备及计算机可读存储介质。
技术介绍
神经网络前向算法需要在移动端和PC端等不同平台实现GPU(GraphicsProcessingUnit,图形处理器)计算,不同平台使用的计算库或图形库有所不同,在移动端,通常采用OpenCL和OpenGL等API进行实现,而在运行Windows操作系统的PC端,由于Direct3D的通用性,可以使用Direct3D图形库来实现神经网络前向算法。神经网络前向计算主要由网络每一层在GPU中的计算组成,包括每一层的输入数据和权值上传到GPU,并在GPU中计算得到结果。现有的技术方案通常采用Buffer(缓存)结构作为数据存储的方式,即把网络每层的输入和权值上传到GPU的Buffer中,在GPU中再用Buffer进行计算,最后再用CPU(CentralProcessingUnit,中央处理器)读取GPU中的Buffer得到计算结果。但是,由于Buffer在内存中的存储是线性的,GPU在对其结构中的数据进行读取和存储过程中,需要消耗较长的时间,导致前向计算的效率较低。
技术实现思路
本申请的目的旨在至少能解决上述的技术缺陷之一,本申请实施例所提供的技术方案如下:第一方面,本申请实施例提供了一种神经网络的前向计算方法,神经网络中的至少一个数据处理层进行数据处理的方法包括:获取数据处理层的输入数据和权重数据;< ...
【技术保护点】
1.一种神经网络的前向计算方法,其特征在于,所述神经网络中的至少一个数据处理层进行数据处理的方法包括:/n获取所述数据处理层的输入数据和权重数据;/n将所述输入数据采用第一纹理存储结构进行存储,得到第一纹理数据,将所述权重数据采用第二纹理存储结构进行存储,得到第二纹理数据;/n基于所述第一纹理数据和所述第二纹理数据进行所述数据处理层的数据处理,得到所述数据处理层的输出数据。/n
【技术特征摘要】
1.一种神经网络的前向计算方法,其特征在于,所述神经网络中的至少一个数据处理层进行数据处理的方法包括:
获取所述数据处理层的输入数据和权重数据;
将所述输入数据采用第一纹理存储结构进行存储,得到第一纹理数据,将所述权重数据采用第二纹理存储结构进行存储,得到第二纹理数据;
基于所述第一纹理数据和所述第二纹理数据进行所述数据处理层的数据处理,得到所述数据处理层的输出数据。
2.根据权利要求1所述的方法,其特征在于,所述第一纹理存储结构或所述第二纹理存储结构为以下任一种:
红、绿、蓝、透明RGBA四通道三维3D纹理存储结构;
RGB三通道3D纹理存储结构;
RGBA四通道2D纹理存储结构;
RGB三通道2D纹理存储结构。
3.根据权利要求2所述的方法,其特征在于,所述第一纹理数据和所述第二纹理数据中分别包含有至少一个纹素,且每个纹素的通道数为三或四,所述至少一个纹素由对应的输入数据或权重数据按照通道数依序排列而成。
4.根据权利要求3所述的方法,其特征在于,所述将所述输入数据采用第一纹理存储结构进行存储,得到第一纹理数据,包括:
获取所述输入数据的像素宽度、像素高度以及通道数;
基于所述输入数据的像素宽度、像素高度、通道数以及所述第一纹理存储结构的数据存储方式,确定所述第一纹理存储结构的第一纹理存储结构参数;
将所述输入数据根据所述第一纹理存储结构参数进行存储,得到所述第一纹理数据。
5.根据权利要求4所述的方法,其特征在于,所述第一纹理存储结构为3D纹理存储结构,所述第一纹理存储结构参数包括纹理存储结构的高度、宽度和深度;
所述基于所述输入数据的像素宽度、像素高度、通道数以及所述第一纹理存储结构的数据存储方式,确定所述第一纹理存储结构的第一纹理存储结构参数,包括:
将所述输入数据的像素宽度作为所述第一纹理存储结构的宽度,将所述输入数据的像素高度作为所述第一纹理存储结构的高度;以及
基于所述输入数据的通道数和所述第一纹理存储结构中每个纹素的通道数,确定所述第一纹理存储结构的深度。
6.根据权利要求5所述的方法,其特征在于,所述基于所述输入数据的通道数和所述第一纹理存储结构中每个纹素的通道数,确定所述第一纹理存储结构的深度,包括:
通过如下表达式确定所述第一纹理存储结构的深度:
其中,d1为所述第一纹理存储结构的深度,c1为所述输入数据的通道数,s1为所述第一纹理存储结构中每个纹素的通道数,为向下取整运算符号。
7.根据权利要求3所述的方法,其特征在于,所述将所述权重数据采用第二纹理存储结构进行存储,得到第二纹理数据,包括:
获取与所述权重数据的数据量相关的参数数据;
基于所述与所述权重数据的数据量相关的参数数据以及所述第二纹理存储结构的数据存储方式,确定所述第二纹理存储结构的第二纹理存储结构参数;
将所述权重数据根据所述第二纹理存储结构参数进行存储,得到所述第二纹理数据。
8.根据权利要求7所述的方法,其特征在于,所述第二纹理存储结构为3D纹理存储结构,所述第二纹理存储结构参数包括纹理存储结构的高度、宽度和深度;
若所述与所述权重数据的数据量相关的参数数据包括所述权重数据的像素宽度和像素高度、以及所述数据处理层的输入通道数和输出通道数,所述基于所述与所述权重数据的数据量相关的参数数据以及所述第二纹理存储结构的数据存储方式,确定所述第二纹理存储结构的第二纹理存储结构参数,包括:
基于所述数据处理层的输入通道数和输出通道数中的一个通道数、以及所述权重数据的像素宽度和像素高度,确定所述第二纹理存储结构的高度和宽度;
基于所述数据处理层的输入通...
【专利技术属性】
技术研发人员:刘文然,陈洪锐,李昊沅,陈其锋,李峰,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。