神经网络模型中的数据计算方法、图像处理方法及装置制造方法及图纸

技术编号:23934108 阅读:36 留言:0更新日期:2020-04-25 02:31
本申请提供了一种神经网络模型中的数据计算方法、图像处理方法及装置,该方法包括:将线程组进行数据计算所需的数据处理层的权重数据,读取到线程组的组共享GroupShared变量中;基于线程组的线程数对数据处理层的输入数据进行划分;对于划分后的每一组输入数据,从GroupShared变量中读取该组输入数据进行一次数据处理所对应权重数据;线程组中的线程基于每一组输入数据以及该组输入数据对应的权重数据进行数据计算,得到该组输入数据对应的计算结果。通过本申请的方案,对于同一线程组对应的输入数据,不需要每个输入数据都读取一次对应的权重数据,可减少权重数据的读取次数。

Data calculation method, image processing method and device in neural network model

【技术实现步骤摘要】
神经网络模型中的数据计算方法、图像处理方法及装置
本申请涉及计算机
,具体而言,本申请涉及一种神经网络模型中的数据计算方法、图像处理方法及装置。
技术介绍
现有技术中,神经网络模型中的数据可以通过GPU(GraphicsProcessingUnit,图形处理器)计算,具体地,在基于GPU中的线程计算输入数据的计算结果时,每个线程均需要获取一次所需要的权重数据,则在计算过程中,会消耗大量的时间在获取权重数据上,使得整个计算过程的效率低。
技术实现思路
本申请的目的旨在至少能解决上述的技术缺陷之一,通过本申请的方案,可减少权重数据的读取次数,提高计算效率。本申请采用的技术方案如下:第一方面,本申请提供了一种神经网络模型中的数据计算方法,方法应用于神经网络模型中的至少一个数据处理层的数据计算,数据计算通过图像处理器GPU的线程组进行,该方法包括:将线程组进行数据计算所需的数据处理层的权重数据,读取到线程组的组共享GroupShared变量中;基于线程组的线程数对数据处理层的输入数据进行划分;对于划分后的每一组输入数据,从GroupShared变量中读取该组输入数据进行一次数据处理所对应权重数据;线程组中的线程基于每一组输入数据以及该组输入数据进行一次数据处理对应的权重数据进行数据计算,得到该组输入数据对应的计算结果。本申请第一方面的实施例中,该方法还包括:将每一组输入数据对应的计算结果存储到GroupShared变量中。本申请第一方面的实施例中,在得到各组输入数据对应的计算结果之后,该方法还包括:基于各组输入数据对应的计算结果中对应于同一输出位置的计算结果,得到该同一输出位置的输出数据。本申请第一方面的实施例中,数据处理层包括卷积层,基于各组输入数据对应的计算结果中对应同一输出位置的计算结果,得到该同一输出位置的输出数据,包括:将各组输入数据对应的计算结果中对应同一输出位置的计算结果相加,并加上卷积层的卷积偏移,得到该同一输出位置的输出数据。本申请第一方面的实施例中,基于线程组的线程数对数据处理层的输入数据进行划分,包括:基于线程组的深度维的线程数对数据处理层的输入数据进行划分;其中,划分后的每一组输入数据进行一次数据处理所对应权重数据的数据量为:Kw*Kh*C/Tz其中,Tz为线程组的深度维的线程数,Kw为卷积核的宽,Kh为卷积核的高,C为卷积层的输入通道数,C/Tz表示进行一次数据处理时每个线程对应处理的卷积的输入通道数。第二方面,本申请提供了一种图像处理方法,该方法包括:获取待处理图像;通过神经网络模型对待处理图像进行处理,得到对应的图像处理结果;其中,神经网络模型包括数据处理层,神经网络模型的至少一个数据处理层采用第一方面或第一方面任一可选的实现方式中所提供的神经网络模型中的数据计算方法进行相应的数据处理。本申请第二方面的实施例中,神经网络模型包括目标对象识别模型、图像分割模型或图像分类模型。第三方面,本申请提供了一种神经网络模型中的数据计算装置,该装置应用于神经网络模型中的至少一个数据处理层的数据计算,数据计算通过图像处理器GPU的线程组进行,该装置包括:第一权重数据读取模块,用于将线程组进行数据计算所需的数据处理层的权重数据,读取到线程组的组共享GroupShared变量中;数据划分模块,用于基于线程组的线程数对数据处理层的输入数据进行划分;第二权重数据读取模块,用于对于划分后的每一组输入数据,从GroupShared变量中读取该组输入数据进行一次数据处理所对应权重数据;数据计算模块,用于线程组中的线程基于每一组输入数据以及该组输入数据进行一次数据处理对应的权重数据进行数据计算,得到该组输入数据对应的计算结果。本申请第三方面的实施例中,该装置还包括:存储模块,用于将每一组输入数据对应的计算结果存储到GroupShared变量中。本申请第三方面的实施例中,该装置还包括:输出数据确定模块,用于在得到各组输入数据对应的计算结果之后,基于各组输入数据对应的计算结果中对应于同一输出位置的计算结果,得到该同一输出位置的输出数据。本申请第三方面的实施例中,数据处理层包括卷积层,输出数据确定模块在基于各组输入数据对应的计算结果中对应同一输出位置的计算结果,得到该同一输出位置的输出数据时,具体用于:将各组输入数据对应的计算结果中对应同一输出位置的计算结果相加,并加上卷积层的卷积偏移,得到该同一输出位置的输出数据。本申请第三方面的实施例中,数据划分模块在基于线程组的线程数对数据处理层的输入数据进行划分时,具体用于:基于线程组的深度维的线程数对数据处理层的输入数据进行划分;其中,划分后的每一组输入数据进行一次数据处理所对应权重数据的数据量为:Kw*Kh*C/Tz其中,Tz为线程组的深度维的线程数,Kw为卷积核的宽,Kh为卷积核的高,C为卷积层的输入通道数,C/Tz表示进行一次数据处理时每个线程对应处理的卷积的输入通道数。第四方面,本申请提供了一种图像处理装置,该装置包括:图像获取模块,用于获取待处理图像;图像处理模块,用于通过神经网络模型对待处理图像进行处理,得到对应的图像处理结果;其中,神经网络模型包括数据处理层,神经网络模型的至少一个数据处理层采用第一方面或第一方面任一可选的实现方式中所提供的神经网络模型中的数据计算方法进行相应的数据处理。本申请第四方面的实施例中,神经网络模型包括目标对象识别模型、图像分割模型或图像分类模型。第五方面,本申请提供了一种电子设备,该电子设备包括:处理器和存储器;存储器,用于存储计算机操作指令;处理器,用于通过调用计算机操作指令,执行如本申请的第一方面或第二方面任一实施例中所示的方法。第六方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如本申请的第一方面或第二方面任一实施例中所示的方法。本申请实施例提供的技术方案带来的有益效果是:可将线程组进行数据计算所需的数据处理层的权重数据,读取到线程组的组共享GroupShared变量中,基于线程组的线程数对数据处理层的输入数据进行划分,对于同一个线程组内的线程,每个线程在进行一次数据处理时所需要的权重数据是相同的,则对于划分后的每一组输入数据,可以从GroupShared变量中读取该组输入数据进行一次数据处理所对应权重数据,因此,对于同一线程组对应的输入数据,不需要每个输入数据都读取一次对应的权重数据,可减少权重数据的读取次数,从而线程组中的线程基于每一组输入数据以及该组输入数据进行一次数据处理对应的权重数据进行数据计算,得到该组输入数据对应的计算结果时,可提高计算效率。附图说明为了更清楚地说明本申请实施本文档来自技高网...

【技术保护点】
1.一种神经网络模型中的数据计算方法,其特征在于,所述方法应用于神经网络模型中的至少一个数据处理层的数据计算,所述数据计算通过图像处理器GPU的线程组进行,所述方法包括:/n将所述线程组进行数据计算所需的所述数据处理层的权重数据,读取到所述线程组的组共享GroupShared变量中;/n基于所述线程组的线程数对所述数据处理层的输入数据进行划分;/n对于划分后的每一组输入数据,从所述GroupShared变量中读取该组输入数据进行一次数据处理所对应权重数据;/n所述线程组中的线程基于每一组输入数据以及该组输入数据进行一次数据处理对应的权重数据进行数据计算,得到该组输入数据对应的计算结果。/n

【技术特征摘要】
1.一种神经网络模型中的数据计算方法,其特征在于,所述方法应用于神经网络模型中的至少一个数据处理层的数据计算,所述数据计算通过图像处理器GPU的线程组进行,所述方法包括:
将所述线程组进行数据计算所需的所述数据处理层的权重数据,读取到所述线程组的组共享GroupShared变量中;
基于所述线程组的线程数对所述数据处理层的输入数据进行划分;
对于划分后的每一组输入数据,从所述GroupShared变量中读取该组输入数据进行一次数据处理所对应权重数据;
所述线程组中的线程基于每一组输入数据以及该组输入数据进行一次数据处理对应的权重数据进行数据计算,得到该组输入数据对应的计算结果。


2.根据权利要求1所述的方法,其特征在于,还包括:
将每一组输入数据对应的计算结果存储到所述GroupShared变量中。


3.根据权利要求1或2所述的方法,其特征在于,在得到各组输入数据对应的计算结果之后,还包括:
基于各组输入数据对应的计算结果中对应于同一输出位置的计算结果,得到该同一输出位置的输出数据。


4.根据权利要求3所述的方法,其特征在于,所述数据处理层包括卷积层,所述基于各组输入数据对应的计算结果中对应同一输出位置的计算结果,得到该同一输出位置的输出数据,包括:
将各组输入数据对应的计算结果中对应同一输出位置的计算结果相加,并加上所述卷积层的卷积偏移,得到该同一输出位置的输出数据。


5.根据权利要求4所述的方法,其特征在于,所述基于所述线程组的线程数对所述数据处理层的输入数据进行划分,包括:
基于所述线程组的深度维的线程数对所述数据处理层的输入数据进行划分;
其中,划分后的每一组输入数据进行一次数据处理所对应权重数据的数据量为:
Kw*Kh*C/Tz
其中,Tz为所述线程组的深度维的线程数,Kw为卷积核的宽,Kh为卷积核的高,C为所述卷积层的输入通道数,C/Tz表示进行一次数据处理时每个线程对应处理的卷积的输入通道数。


6.一种图像处理方法,其特征在于,包括:

【专利技术属性】
技术研发人员:陈洪锐刘文然陈其锋李昊沅李峰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1