图像处理加速方法、图像处理模型存储方法及对应装置制造方法及图纸

技术编号:26064806 阅读:24 留言:0更新日期:2020-10-28 16:37
本申请公开了图像处理加速方法和装置,图像处理模型存储方法和装置。其中,加速方法包括:获取图像处理模型中卷积层的输入特征图;从多个硬件运算单元中确定与卷积层中各个卷积核分别对应的硬件运算单元;通过与各个卷积核分别对应的硬件运算单元,并行根据所述卷积核中的非零权值和所述输入特征图,确定各个卷积核与所述输入特征图间的卷积结果;根据卷积结果生成卷积层的输出特征图。采用这种处理方式,使得卷积运算过程无需考虑零权值的运算,无需计算权重坐标,且数据流不存在数据依赖关系;因此,可以有效提升网络运行速度,且同时适用于稀疏CNN和非稀疏CNN。

【技术实现步骤摘要】
图像处理加速方法、图像处理模型存储方法及对应装置
本申请涉及机器学习
,具体涉及图像处理加速方法和装置,图像处理模型存储方法和装置。
技术介绍
随着对高效率模型的追求,当前很多深度神经网络的参数矩阵可以通过稀疏化操作转换为稀疏矩阵,使用稀疏矩阵作为参数矩阵的神经网络简称稀疏网络。由于稀疏网络中的非零参数通常是非冗余的,这些参数几乎都对实际模型结果有所贡献,因此采用稀疏网络既可以确保模型准确度,又可以降低模型对存储空间和计算时间的消耗。目前,运行稀疏网络的硬件平台主要为现场可编程门阵列(FPGA)和定制化芯片(ASIC)等硬件平台,由于这类硬件平台可采用并行计算方式,因此相比通用处理器(CPU)具有更好的性能,简称为加速器。常用的几种面向稀疏网络的加速器包括:CIRCNN、SCNN、Cambricon-S等等。但是,网络稀疏性会导致计算不规则性,而计算不规则性又会导致并行计算困难,如果直接将现有加速器针对非稀疏卷积神经网络的并行计算策略应用于稀疏卷积神经网络,将会造成大量无效计算浪费在零权值的乘法运算上。因此设计针对稀疏卷积神经网络加速器的挑战更大。然而,在实现本专利技术过程中,专利技术人发现上述技术方案至少存在如下问题之一:1)数据编码开销过大导致处理非稀疏网络时低效;2)计算过程过于复杂导致网络运行效率低;3)计算坐标需要额外开销导致消耗较多计算资源;4)数据流存在数据依赖关系导致网络运行效率低,等等。综上所述,现有技术存在无法既实现并行计算又无需计算零权值的乘法运算的问题,也就是说,现有加速器无法同时适用于稀疏CNN和非稀疏CNN的问题。
技术实现思路
本申请提供图像处理加速方法,以解决现有技术存在的无法既实现并行计算又无需计算零权值的乘法运算的问题。本申请另外提供图像处理加速装置,以及图像处理模型存储方法和装置。本申请提供一种图像处理加速方法,包括:获取图像处理模型中卷积层的输入特征图;从多个硬件运算单元中确定与卷积层中各个卷积核分别对应的硬件运算单元;通过与各个卷积核分别对应的硬件运算单元,并行根据所述卷积核中的非零权值和所述输入特征图,确定各个卷积核与所述输入特征图间的卷积结果;根据卷积结果生成卷积层的输出特征图。可选的,所述从多个硬件运算单元中确定与卷积层中各个卷积核分别对应的硬件运算单元,包括:根据所述卷积核的输出通道编号和硬件运算单元数量,确定与各个卷积核分别对应的硬件运算单元。可选的,还包括:获取所述非零权值、所述非零权值在卷积核中的行号和列号、及各个卷积核的输入通道编号和输出通道编号;所述卷积结果采用如下步骤确定:针对所述卷积核中的各个非零权值,根据所述行号和列号,从所述输入特征图中确定与所述非零权值对应的子特征图;对所述非零权值和所述子特征图执行乘法运算;对与所述卷积核包括的各个非零权值分别对应的乘法运算结果执行加法运算,作为所述卷积结果;所述根据卷积结果生成卷积层的输出特征图,包括:针对卷积层的各个输出通道,根据所述输入通道编号和所述输出通道编号,对与所述输出通道对应的多个输入通道的卷积结果执行加法运算,作为所述卷积层在所述输出通道上的输出特征图。可选的,所述获取所述非零权值、所述非零权值在卷积核中的行号和列号、及各个卷积核的输入通道编号和输出通道编号,包括:从与所述卷积层对应的非零权值参数组矩阵中读取非零权值参数组;所述参数组在所述参数组矩阵中的列号根据输出通道编号对硬件运算单元数量取模确定,在所述参数组矩阵的一行参数组元素中根据硬件运算单元数量顺序存储对应不同硬件运算单元的参数组;从所述参数组中解析得到所述非零权值、所述行号和所述列号、所述输出通道编号的第一索引值;根据所述参数组在所述参数组矩阵中的列号,确定所述输出通道编号的第二索引值;将所述参数组在所述参数组矩阵中的行号作为所述输入通道编号;根据所述第一索引值、所述第二索引值和所述硬件运算单元数量,确定所述输出通道编号。可选的,还包括:获取硬件平台的资源数据;根据硬件资源数据,确定卷积运算的特征图尺寸;将所述输入特征图划分为多个所述特征图尺寸的输入特征子图;通过与各个卷积核分别对应的硬件运算单元,并行根据所述卷积核中的非零权值和所述输入特征子图,确定各个卷积核与所述输入特征子图间的卷积结果;针对各个卷积核,拼接所述卷积核与各个输入特征子图间的卷积结果,得到卷积核与所述输入特征图间的卷积结果。可选的,所述硬件运算单元位于FPGA平台或ASIC平台。可选的,所述图像处理模型的网络结构包括稀疏卷积神经网络和/或非稀疏卷积神经网络。本申请还提供一种图像处理模型存储方法,包括:获取待存储的基于卷积神经网络的图像处理模型;针对所述图像处理模型的各个非零权值,根据所述非零权值、所述非零权值在卷积核中的行号和列号、及所述卷积核的输出通道编号,生成所述非零权值的参数组;根据所述非零权值的输入通道编号和输出通道编号,确定所述参数组在非零权值参数组矩阵中的行列位置;根据所述行列位置将所述参数组存储至存储器。本申请还提供一种图像处理加速器,包括:输入特征图获取单元,用于获取图像处理模型中卷积层的输入特征图;硬件运算单元分配单元,用于从多个硬件运算单元中确定与卷积层中各个卷积核分别对应的硬件运算单元;卷积运算单元,用于通过与各个卷积核分别对应的硬件运算单元,并行根据所述卷积核中的非零权值和所述输入特征图,确定各个卷积核与所述输入特征图间的卷积结果;输出特征图生成单元,用于根据卷积结果生成卷积层的输出特征图。本申请还提供一种图像处理模型存储装置,包括:模型获取单元,用于获取待存储的基于卷积神经网络的图像处理模型;参数组生成单元,用于针对所述图像处理模型的各个非零权值,根据所述非零权值、所述非零权值在卷积核中的行号和列号、及所述卷积核的输出通道编号,生成所述非零权值的参数组;参数组定位单元,用于根据所述非零权值的输入通道编号和输出通道编号,确定所述参数组在非零权值参数组矩阵中的行列位置;参数组存储单元,用于根据所述行列位置将所述参数组存储至存储器。本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各种方法。本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种方法。与现有技术相比,本申请具有以下优点:本申请实施例提供的图像处理加速方法,通过获取图像处理模型中卷积层的输入特征图;从多个硬件运算单元中确定与卷积层中各个卷积核分别对应的硬件运算单元;通过与各个卷积核分别对应的硬件运算单元,并行根据所述卷积核中的非零权值和所述输入特征图,确定各个卷积核与所述输入特征图间的卷积结果;根据卷积结果生成卷积层本文档来自技高网
...

【技术保护点】
1.一种图像处理加速方法,其特征在于,包括:/n获取图像处理模型中卷积层的输入特征图;/n从多个硬件运算单元中确定与卷积层中各个卷积核分别对应的硬件运算单元;/n通过与各个卷积核分别对应的硬件运算单元,并行根据所述卷积核中的非零权值和所述输入特征图,确定各个卷积核与所述输入特征图间的卷积结果;/n根据卷积结果生成卷积层的输出特征图。/n

【技术特征摘要】
1.一种图像处理加速方法,其特征在于,包括:
获取图像处理模型中卷积层的输入特征图;
从多个硬件运算单元中确定与卷积层中各个卷积核分别对应的硬件运算单元;
通过与各个卷积核分别对应的硬件运算单元,并行根据所述卷积核中的非零权值和所述输入特征图,确定各个卷积核与所述输入特征图间的卷积结果;
根据卷积结果生成卷积层的输出特征图。


2.根据权利要求1所述的方法,其特征在于,所述从多个硬件运算单元中确定与卷积层中各个卷积核分别对应的硬件运算单元,包括:
根据所述卷积核的输出通道编号和硬件运算单元数量,确定与各个卷积核分别对应的硬件运算单元。


3.根据权利要求1所述的方法,其特征在于,还包括:
获取所述非零权值、所述非零权值在卷积核中的行号和列号、及各个卷积核的输入通道编号和输出通道编号;
所述卷积结果采用如下步骤确定:
针对所述卷积核中的各个非零权值,根据所述行号和列号,从所述输入特征图中确定与所述非零权值对应的子特征图;
对所述非零权值和所述子特征图执行乘法运算;
对与所述卷积核包括的各个非零权值分别对应的乘法运算结果执行加法运算,作为所述卷积结果;
所述根据卷积结果生成卷积层的输出特征图,包括:
针对卷积层的各个输出通道,根据所述输入通道编号和所述输出通道编号,对与所述输出通道对应的多个输入通道的卷积结果执行加法运算,作为所述卷积层在所述输出通道上的输出特征图。


4.根据权利要求3所述的方法,其特征在于,所述获取所述非零权值、所述非零权值在卷积核中的行号和列号、及各个卷积核的输入通道编号和输出通道编号,包括:
从与所述卷积层对应的非零权值参数组矩阵中读取非零权值参数组;所述参数组在所述参数组矩阵中的列号根据输出通道编号对硬件运算单元数量取模确定,在所述参数组矩阵的一行参数组元素中根据硬件运算单元数量顺序存储对应不同硬件运算单元的参数组;
从所述参数组中解析得到所述非零权值、所述行号和所述列号、所述输出通道编号的第一索引值;
根据所述参数组在所述参数组矩阵中的列号,确定所述输出通道编号的第二索引值;
将所述参数组在所述参数组矩阵中的行号作为所述输入通道编号;
根据所述第一索引值、所述第二索引值和所述硬件运算单元数量,确定所述输出通道编号。


5.根据权利要求1所述的...

【专利技术属性】
技术研发人员:林伟崔晓源张健松黄瑞瑞梁云卢丽强
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1