[发明专利]一种软硬件协同加速方法、系统及计算机可读存储介质有效
申请号: | 202010285212.4 | 申请日: | 2020-04-13 |
公开(公告)号: | CN111178522B | 公开(公告)日: | 2020-07-10 |
发明(设计)人: | 吴春选 | 申请(专利权)人: | 杭州雄迈集成电路技术股份有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/10;G06N3/04;G06F15/78 |
代理公司: | 杭州裕阳联合专利代理有限公司 33289 | 代理人: | 田金霞 |
地址: | 311400 浙江省杭州市富阳*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软硬件 协同 加速 方法 系统 计算机 可读 存储 介质 | ||
1.一种软硬件协同加速方法,其特征在于,所述软硬件协同加速方法基于卷积神经网络,包括如下步骤:
上位机进行网络解析:对于不同网络类型的模型解析成统一按层划分的数据结构,在结构头中加入网络平台,每层数据结构加入层序号并建立层关联,根据层序号与层名,关联当前层的输入层与输出层;
量化:按照层序号逐层进行权重与数据的量化;
硬件参数计算:计算特征数据按照内部存储N*N划分后的切块个数;
数据库固件生成:将各层数据结构合并,根据硬件支持特性,将卷积层与激活层Relu合并成一个卷积层,根据软件优化加速特性,将全连接层与激活层Relu、激活层Prelu合并,形成新的层序号;统计网络在嵌入式平台消耗的最小DDR内存,将各层数据结构、切块个数、最小消耗内存与权重生成数据库固件,各层数据结构包括层关联与量化后的每层的参数;
下位机获取并解析数据库固件,根据解析结果逐层启动硬件加速模块和/或软件加速模块进行加速。
2.根据权利要求1所述的软硬件协同加速方法,其特征在于,生成数据库固件具体包括:
层关联:将不同网络平台训练出来的网络模型逐层进行解析,当前层加入层序号、上一层的层名与层序号、下一层的层名与层序号,作为层关联的上下关系,当前层如果存在权重,将当前层的权重提取解析成浮点格式数据,当前层的参数解析成所述数据结构,加入数据结构的结构头;
选取不同场景的量化图片,按照解析出来的数据结构,根据层序号逐层进行量化,将权重、输入数据、输出数据由浮点数据转为定点数据,并获取每层的数据与权重的量化参数;
硬件参数计算:计算特征数据按照内部存储N*N划分后的切块个数;
将转换后的定点数据存储成二进制文件格式,将硬件参数、网络模型上下层关联、网络模型所占存储空间大小以及量化后的网络模型的参数存储成json格式,与切块处理信息进行打包,生成数据库固件。
3.根据权利要求2所述的软硬件协同加速方法,其特征在于,不同网络平台的网络模型及其参数分别包括:
通过caffe架构训练出来的caffe网络模型及其参数;
通过tensorflow架构训练出来的tensoflow网络模型及其参数;
通过pytorch架构训练出来的pytorch网络模型及其参数。
4.根据权利要求2所述的软硬件协同加速方法,其特征在于,所述数据结构包括卷积核特性,支持硬件加速的卷积核特性为:
卷积核窗口大小为11*11,卷积核步长为4;
卷积核窗口大小为7*7,卷积核步长为2;
卷积核窗口大小为5*5,卷积核步长为1或者2;
卷积核窗口大小为4*4,卷积核步长为1或者2;
卷积核窗口大小为3*3, 卷积核步长为1或者2;
卷积核窗口大小为2*2、1*1、7*1、5*1、3*1、1*7、1*5、1*3,卷积核步长为1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州雄迈集成电路技术股份有限公司,未经杭州雄迈集成电路技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010285212.4/1.html,转载请声明来源钻瓜专利网。