[发明专利]模型优化方法、装置及设备在审
| 申请号: | 201910262674.1 | 申请日: | 2019-04-02 |
| 公开(公告)号: | CN111767980A | 公开(公告)日: | 2020-10-13 |
| 发明(设计)人: | 孟泽民;高其涛 | 申请(专利权)人: | 杭州海康威视数字技术股份有限公司 |
| 主分类号: | G06N3/04 | 分类号: | G06N3/04 |
| 代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
| 地址: | 310051 浙*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 模型 优化 方法 装置 设备 | ||
本发明实施例提供一种模型优化方法、装置及设备,本发明实施例在确定深度学习量化模型的目标网络层存在溢出风险时,确定目标网络层中卷积核的系数矩阵的分组临界点,并按照所述分组临界点对所述目标网络层进行处理,以使处理后的目标网络层的每一卷积核的系数矩阵执行卷积运算过程中产生的中间结果在寄存器中存储时不超出寄存器允许存储的范围,从而确保平台正确、高效地运行优化后的量化模型。
技术领域
本发明涉及数据处理技术领域,尤其涉及模型优化方法、装置及设备。
背景技术
随着深度学习的发展,网络性能虽然越来越强大。目前,训练好的模型的网络层可能存在大量的乘累加运算,运算过程中产生的中间结果会缓存到寄存器中。例如,卷积核可以包括C个通道,每个通道存在一个系数矩阵,每个通道的系数矩阵与该层网络的输入数据进行卷积运算,每个系数矩阵对应的运算结果会按预设累加顺序依次累加,并将累加结果存储到寄存器中,可以将卷积运算过程中需缓存到寄存器的值称为中间结果。各类芯片平台在使用模型时,会采用位宽固定的寄存器来保存模型应用阶段的中间结果,当乘累加运算的规模较大,对于一些特殊的输入,会出现中间结果所需位宽超出寄存器的位宽的情况,导致整个模型输出结果异常,影响整体性能,且无法预见。
发明内容
为克服相关技术中存在的问题,本发明提供了溢出风险检测方法、装置及设备/模型优化方法、装置及设备。
根据本发明实施例的第一方面,提供一种溢出风险检测方法,所述方法包括:
从深度学习量化模型的待检测网络层中获得卷积核;
确定中间结果的极端值,所述中间结果的极端值是在利用所述待检测网络层输入数据的极端值与所述卷积核进行卷积运算过程中产生的中间结果的极端值,极端值包括最大值和最小值,中间结果存储到寄存器;
在中间结果的极端值超出寄存器允许存储的数值范围的情况下,判定所述待检测网络层存在溢出风险。
根据本发明实施例的第二方面,提供一种溢出风险检测装置,所述装置包括:
数据获取模块,用于从深度学习量化模型的待检测网络层中获得卷积核;
极端值确定模块,用于确定中间结果的极端值,所述中间结果的极端值是在利用所述待检测网络层输入数据的极端值与所述卷积核进行卷积运算过程中产生的中间结果的极端值,极端值包括最大值和最小值,中间结果存储到寄存器;
风险检测模块,用于在中间结果的极端值超出寄存器允许存储的数值范围的情况下,判定所述待检测网络层存在溢出风险。
根据本发明实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现上述任一项所述溢出风险检测方法。
根据本发明实施例的第四方面,提供一种模型优化方法,所述方法包括:
在确定深度学习量化模型的目标网络层存在溢出风险时,确定所述目标网络层中卷积核的系数矩阵的分组临界点,所述卷积核包括C个系数矩阵;
按照所述分组临界点对所述目标网络层进行处理,得到处理后的所述目标网络层;其中,处理后的所述目标网络层的每一卷积核的系数矩阵执行卷积运算过程中产生的中间结果在寄存器中存储时不超出所述寄存器允许存储的范围。
根据本发明实施例的第五方面,提供一种模型优化装置,所述装置包括:
临界点确定模块,用于在确定深度学习量化模型的目标网络层存在溢出风险时,确定所述目标网络层中卷积核的系数矩阵的分组临界点,所述卷积核包括C个系数矩阵;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州海康威视数字技术股份有限公司,未经杭州海康威视数字技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910262674.1/2.html,转载请声明来源钻瓜专利网。





