【技术实现步骤摘要】
用于输出信息的方法和装置
本公开的实施例涉及计算机
,具体涉及用于输出信息的方法和装置。
技术介绍
卷积(convolution)是指视觉检测任务中深度神经网络(DeepNeuralNetwork)中的一种算子,通过在输入图像上滑动不同的卷积核并运行乘加运算而完成特征提取。卷积神经网络目前已经成为深度学习领域最为广泛使用的模型。随着深度学习在移动端,包括手机、汽车、物联网等算力受限的设备上的应用越来越多,因为卷积神经网络绝大多数的计算量都是分布在卷积计算上,卷积计算的高效实现变得尤为必要。S.Han等人的研究证明卷积神经网络的权重参数通常存在20%~80%的稀疏性,亦即,将算法模型通过剪枝技术优化后,在不影响推理精度的情况下,模型的稀疏度约为20%~80%。所谓稀疏度即模型权重参数中零值元素个数与总权重参数个数的比值。这些零值引入计算过程,消耗大量算力,却对结果不产生任何贡献。为了实现移动端卷积神经网络的高效计算,需要针对稀疏模型的卷积算子进行重新实现,找到一种不引入零值计算的高效计算方法。权重剪枝的参 ...
【技术保护点】
1.一种用于输出信息的方法,包括:/n获取至少一个输入通道的输入特征图和卷积核;/n将作为所述卷积核的稀疏的权重参数矩阵做非零索引提取,得到非零元素索引列表;/n对于每个输入通道,对所述非零元素索引列表中的每个非零元素,将该非零元素与该输入通道的输入特征图进行遍历乘加计算,可以得到该输入通道的该非零元素对应的输出特征图的一个切面;/n对于每个输出通道,将所述非零元素索引列表中所有非零元素对应的输出特征图的切面累加,得到该输出通道的输出特征图并输出。/n
【技术特征摘要】
1.一种用于输出信息的方法,包括:
获取至少一个输入通道的输入特征图和卷积核;
将作为所述卷积核的稀疏的权重参数矩阵做非零索引提取,得到非零元素索引列表;
对于每个输入通道,对所述非零元素索引列表中的每个非零元素,将该非零元素与该输入通道的输入特征图进行遍历乘加计算,可以得到该输入通道的该非零元素对应的输出特征图的一个切面;
对于每个输出通道,将所述非零元素索引列表中所有非零元素对应的输出特征图的切面累加,得到该输出通道的输出特征图并输出。
2.根据权利要求1所述的方法,其中,所述方法还包括:
在稀疏卷积计算的内层循环,及输出特征图的遍历计算过程,通过指令乱序和数据预取进行加速。
3.根据权利要求1所述的方法,其中,所述将作为卷积核的稀疏的权重参数矩阵做非零索引提取,得到非零元素索引列表,包括:
遍历卷积核的稀疏的权重参数矩阵,将大于预设阈值的权重参数存储到非零元素索引列表。
4.根据权利要求1所述的方法,其中,在进行非零索引提取之前,所述方法还包括:
定义用于存储索引的列表in_ptr,w_ptr,out_ptr,out_cnt,分别用于存储输入特征图的起始数据地址、非零权重参数地址、输出特征图的起始数据地址和输出特征图的起始数据地址对应的切面数量。
5.根据权利要求4所述的方法,其中,在进行非零索引提取之后,所述方法还包括:
将非零元素的地址存储到w_ptr列表中;
根据对应输入通道计算出输入特征图的通道起始地址,以及滑动遍历的起始偏移,计算得到每次遍历的起始地址,存储在in_ptr内;
判断当前计算对应的输出特征图的起始地址是否已经存储进入out_ptr中,若无,则存储到out_ptr中,否则切面的计数增加1,更新到out_cnt列表中。
6.根据权利要求5所述的方法,其中,所述对所述非零元素索引列表中的每个非零元素,将该非零元素与该输入通道的输入特征图进行遍历乘加计算,包括:
遍历out_ptr列表,并读取out_cnt列表中对应下标的计数值;
对该计数值进行遍历,根据遍历时的循环变量读取输入索引列表in_ptr和权重索引列表w_ptr;
遍历该输入通道的输入特征图中各像素,依次通过非零元素与输入特征图的对应位置的像素的乘加计算出切面。
7.一种用于输出信息的装置,包括:
获取单元,被配置成获取至少一个输入通道的输入特征图和卷积核;
索引提取单元,被配置成将作为所述卷积核的稀疏的权重参数矩阵做非零索引提取,得到非...
【专利技术属性】
技术研发人员:王衍,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。