浮点数矩阵的处理方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:19121899 阅读:36 留言:0更新日期:2018-10-10 05:07
本发明专利技术提供一种浮点数矩阵的处理方法、装置、设备及计算机可读存储介质。本发明专利技术实施例通过根据待压缩的浮点数模型矩阵,获取所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,进而根据所述数位宽度、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,对所述浮点数模型矩阵进行压缩处理,以获得定点数模型矩阵,通过采用定点化方法,对深度学习模型的浮点数模型矩阵进行压缩处理,以获得定点数模型矩阵,从而降低了深度学习模型的存储空间和运算量,同时提出该装置在深度学习网络中的实现框架以最大化深度学习网络精度,即矩阵乘法部分用该装置,其它部分例如激活函数等操作保留浮点操作。

【技术实现步骤摘要】
浮点数矩阵的处理方法、装置、设备及计算机可读存储介质
本专利技术涉及模型压缩技术,尤其涉及一种浮点数矩阵的处理方法、装置、设备及计算机可读存储介质。
技术介绍
深度学习模型被越来越广泛地应用于众多应用中,例如语音识别、图像识别、语义分析、自动驾驶等,其通过对不同层的节点之间的线性层和非线性层,对数据进行映射、运算等处理,并在处理中对模型进行训练、修正、更新,从而最终提升分类或预测的准确性。在实际处理过程中,深度学习模型会占用较大的存储空间,且运算量较大。深度学习模型中有两类运算,一个是矩阵乘法,一个是激活函数等element-wise的操作,两类操作组合构成深度学习的基本单元;其中矩阵乘法部分是存储和运算的关键模块,为了降低深度学习模型的存储空间和运算量,亟需提供一种适用于深度学习模型的矩阵压缩方法,同时为了保证深度学习模型的精度,除矩阵乘法外的element-wise类操作保留浮点处理方式。
技术实现思路
本专利技术的多个方面提供一种浮点数矩阵的处理方法、装置、设备及计算机可读存储介质,用以降低深度学习模型的存储空间和运算量。本专利技术的一方面,提供一种浮点数矩阵的处理方法,包括:根据待压缩的浮点数模型矩阵,获取所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值;根据所述数位宽度、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,对所述浮点数模型矩阵进行压缩处理,以获得定点数模型矩阵。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据待压缩的浮点数模型矩阵,获取所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,包括:对所述浮点数模型矩阵的全部元素进行极值求解处理,以获得所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值;或者对所述浮点数模型矩阵的每列元素进行极值求解处理,以获得该列元素的最小值和该列元素的最大值;将所述浮点数模型矩阵的每列元素的最小值组成最小值向量,以作为所述浮点数模型矩阵的最小值,将所述浮点数模型矩阵的每列元素的最大值组成最大值向量,以作为所述浮点数模型矩阵的最大值。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述数位宽度、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,对所述浮点数模型矩阵进行压缩处理,以获得定点数模型矩阵,包括:根据所述数位宽度、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,利用公式Xint=2K*(X-XMin)/(XMax-XMin),对所述浮点数模型矩阵进行压缩处理,以获得定点数模型矩阵;其中,Xint为所述定点数模型矩阵中的元素;X为所述浮点数模型矩阵中的元素;K为所述数位宽度;XMin为所述浮点数模型矩阵的最小值;以及XMax为所述浮点数模型矩阵的最大值。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:根据待压缩的浮点数输入矩阵,获取所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值;根据所述数位宽度、所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值,对所述浮点数输入矩阵进行压缩处理,以获得定点数输入矩阵。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:根据所述定点数输入矩阵和所述定点数模型矩阵,获得所述浮点数输入矩阵与所述浮点数模型矩阵相乘的定点数输出矩阵;根据所述定点数输入矩阵、所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值,以及所述定点数模型矩阵、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,对所述定点数输出矩阵进行解压缩处理,以获得浮点数输出矩阵。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述定点数输入矩阵、所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值,以及所述定点数模型矩阵、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,对所述定点数输出矩阵进行解压缩处理,以获得浮点数输出矩阵,包括:根据所述定点数输入矩阵、所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值,以及所述定点数模型矩阵、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,利用公式Xvec*Yvec=α*β*Xvecint*Yvecint+Ymin*ΣXint+Xmin*ΣYint+N*XMin*YMin,对所述定点数输出矩阵进行解压缩处理,以获得所述浮点数输出矩阵;其中,Xvec为所述浮点数模型矩阵的列向量;Yvec为所述浮点数输入矩阵的行向量;Xvec*Yvec为所述浮点数输出矩阵;N为所述浮点数模型矩阵的列向量中元素的个数,或者所述浮点数输入矩阵的行向量中元素的个数;α=(XMax-XMin)/2k,K为所述数位宽度,XMin为所述浮点数模型矩阵的最小值,XMax为所述浮点数模型矩阵的最大值;β=(YMax-YMin)/2k,YMin为所述浮点数输入矩阵的最小值,YMax为所述浮点数输入矩阵的最大值;Xvecint为所述定点数模型矩阵的列向量;Yvecint为所述定点数输入矩阵的行向量;ΣXint为所述定点数模型矩阵的行向量中每个元素之和;以及ΣYint为所述定点数输入矩阵的列向量中每个元素之和。本专利技术的另一方面,提供一种浮点数矩阵的处理装置,包括:极值单元,用于根据待压缩的浮点数模型矩阵,获取所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值;压缩单元,用于根据所述数位宽度、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,对所述浮点数模型矩阵进行压缩处理,以获得定点数模型矩阵。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述极值单元,具体用于对所述浮点数模型矩阵的全部元素进行极值求解处理,以获得所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值;或者对所述浮点数模型矩阵的每列元素进行极值求解处理,以获得该列元素的最小值和该列元素的最大值;将所述浮点数模型矩阵的每列元素的最小值组成最小值向量,以作为所述浮点数模型矩阵的最小值,将所述浮点数模型矩阵的每列元素的最大值组成最大值向量,以作为所述浮点数模型矩阵的最大值。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述压缩单元,具体用于根据所述数位宽度、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,利用公式Xint=2K*(X-XMin)/(XMax-XMin),对所述浮点数模型矩阵进行压缩处理,以获得定点数模型矩阵;其中,Xint为所述定点数模型矩阵中的元素;X为所述浮点数模型矩阵中的元素;K为所述数位宽度;XMin为所述浮点数模型矩阵的最小值;以及XMax为所述浮点数模型矩阵的最大值。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,极值单元,用于根据待压缩的浮点数输入矩阵,获取所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值;压缩单元,用于根据所述数位宽度、所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值,对所述浮点数输入矩阵进行压缩处理,以获得定点数输入矩阵。如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:运算单元,用于根据所述定点数输入矩阵和所述定点数模型矩阵,获得所述浮点数输入矩阵与所述浮点数模本文档来自技高网...
浮点数矩阵的处理方法、装置、设备及计算机可读存储介质

【技术保护点】
1.一种浮点数矩阵的处理方法,其特征在于,包括:根据待压缩的浮点数模型矩阵,获取所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值;根据所述数位宽度、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,对所述浮点数模型矩阵进行压缩处理,以获得定点数模型矩阵。

【技术特征摘要】
1.一种浮点数矩阵的处理方法,其特征在于,包括:根据待压缩的浮点数模型矩阵,获取所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值;根据所述数位宽度、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,对所述浮点数模型矩阵进行压缩处理,以获得定点数模型矩阵。2.根据权利要求1所述的方法,其特征在于,所述根据待压缩的浮点数模型矩阵,获取所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,包括:对所述浮点数模型矩阵的全部元素进行极值求解处理,以获得所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值;或者对所述浮点数模型矩阵的每列元素进行极值求解处理,以获得该列元素的最小值和该列元素的最大值;将所述浮点数模型矩阵的每列元素的最小值组成最小值向量,以作为所述浮点数模型矩阵的最小值,将所述浮点数模型矩阵的每列元素的最大值组成最大值向量,以作为所述浮点数模型矩阵的最大值。3.根据权利要求1所述的方法,其特征在于,所述根据所述数位宽度、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,对所述浮点数模型矩阵进行压缩处理,以获得定点数模型矩阵,包括:根据所述数位宽度、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,利用公式Xint=2K*(X-XMin)/(XMax-XMin),对所述浮点数模型矩阵进行压缩处理,以获得定点数模型矩阵;其中,Xint为所述定点数模型矩阵中的元素;X为所述浮点数模型矩阵中的元素;K为所述数位宽度;XMin为所述浮点数模型矩阵的最小值;以及XMax为所述浮点数模型矩阵的最大值。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据待压缩的浮点数输入矩阵,获取所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值;根据所述数位宽度、所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值,对所述浮点数输入矩阵进行压缩处理,以获得定点数输入矩阵。5.根据权利要求1~4任一权利要求所述的方法,其特征在于,所述方法还包括:根据所述定点数输入矩阵和所述定点数模型矩阵,获得所述浮点数输入矩阵与所述浮点数模型矩阵相乘的定点数输出矩阵;根据所述定点数输入矩阵、所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值,以及所述定点数模型矩阵、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,对所述定点数输出矩阵进行解压缩处理,以获得浮点数输出矩阵。6.根据权利要求5所述的方法,其特征在于,所述根据所述定点数输入矩阵、所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值,以及所述定点数模型矩阵、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,对所述定点数输出矩阵进行解压缩处理,以获得浮点数输出矩阵,包括:根据所述定点数输入矩阵、所述浮点数输入矩阵的最小值和所述浮点数输入矩阵的最大值,以及所述定点数模型矩阵、所述浮点数模型矩阵的最小值和所述浮点数模型矩阵的最大值,利用公式Xvec*Yvec=α*β*Xvecint*Yvecint+Ymin*ΣXint+Xmin*ΣYint+N*XMin*YMin,对所述定点数输出矩阵进行解压缩处理,以获得所述浮点数输出矩阵;其中,Xvec为所述浮点数模型矩阵的列向量;Yvec为所述浮点数输入矩阵的行向量;Xvec*Yvec为所述浮点数输出矩阵;N为所述浮点数模型矩阵的列向量中元素的个数,或者所述浮点数输入矩阵的行向量中元素的个数;α=(XMax-XMin)/2k,K为所述数位宽度,XMin为所述浮点数模型矩阵的最小值,XMax为所述浮点数模型矩阵的最大值;β=(YMax-YMin)/2k,YMin为所述浮点数输入矩阵的最小值,YMax为所述浮点数输入矩阵的最大值;Xvecint为所述定点数模型矩阵的列向量;Yvecint为所述定点数输入矩阵的行向量;ΣXint为所述定点数模型矩阵的行向量中每个元素之和;以及ΣYint为所述定点数输入矩阵的列向量中每个元素之和。7...

【专利技术属性】
技术研发人员:欧阳剑周妮王勇漆维
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1