[发明专利]基于Pytorch框架的卷积神经网络在FPGA上的快速部署方法有效
申请号: | 201911084126.0 | 申请日: | 2019-11-07 |
公开(公告)号: | CN111104124B | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 姜宏旭;韩琪;刘晓戬;李波;张永华;林珂玉 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F8/60 | 分类号: | G06F8/60;G06N3/04;G06N3/067 |
代理公司: | 北京慕达星云知识产权代理事务所(特殊普通合伙) 11465 | 代理人: | 曹鹏飞 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 pytorch 框架 卷积 神经网络 fpga 快速 部署 方法 | ||
发明公开的基于Pytorch框架的卷积神经网络在FPGA上的快速部署方法,包括建立模型快速映射机制、可重配置计算单元构建和基于规则映射的自适应处理流程。在Pytorch框架下定义卷积神经网络时,通过命名规则的构建建立模型快速映射机制。在硬件资源约束条件下进行优化策略计算,并且建立基于硬件优化策略的模板库,在FPGA端构造可重配置计算单元。最后在基于规则映射的自适应处理流程中在FPGA端对复杂网络模型文件进行分解,将网络抽象成有向无环图,最终生成神经网络加速器,实现从Pytorch框架的模型文件到FPGA部署的一体化流程。本方法可以通过模型快速映射机制建立网络的有向无环图,在FPGA部署过程中只需要输入硬件设计变量即可完成FPGA部署过程,方法简洁并且通用性强。
技术领域
本发明属于卷积神经网络硬件加速技术领域,涉及一种基于Pytorch框架的卷积神经网络在FPGA上的快速部署方法。
背景技术
近年来,卷积神经网络被广泛应用于自然语言处理、计算机视觉等领域。神经网络一般包括:训练和测试两个阶段。训练就是把训练数据和神经网络模型(ResNet、RNN等)用CPU或GPU提炼出模型参数的过程。测试就是把测试数据用训练好的模型(神经网络模型+模型参数)运行后查看结果。而caffe,Pytorch,tensorflow就是把训练过程所涉及的环节数据统一抽象,形成可使用框架。
目前工业界在FPGA上部署深度学习模型大都通过解析caffe prototxt获取网络结构,并找到与之对应的caffe model里面的参数值(eg.深鉴科技、地平线、商汤)。而Pytorch框架定义网络结构简单、使用灵活,在学术界被广泛使用。由于Pytorch模型中不包含网络的拓扑信息,所以在Pytorch训练的模型需要通过onnx等工具转换成caffe model才可以进行部署,但onnx工具只支持常规的caffe层,若是在Pytorch中自定义的层则无法进行转换。并且即使转换成功后,也需要大量精力进行Pytorch与caffe的输出对齐。
因此,提供基于Pytorch框架的卷积神经网络在FPGA上的快速部署方法是本领域技术人员亟待解决的技术问题。
发明内容
为了实现上述的发明目的,本发明一种基于Pytorch框架的卷积神经网络在FPGA上的快速部署方法,方便将训练得到的Pytorch框架的卷积神经网络快速地部署到FPGA上。主要包括建立模型快速映射机制、可重配置计算单元构建和基于规则映射的自适应处理流程。通过创建一种高效便捷的命名规则,将模型的上下层拓扑顺序保存至模型文件中,然后对复杂模型文件进行分解,每层存储为一个重命名后的二进制文件,完成模型快速映射机制的建立。随后在硬件资源约束条件下的进行优化策略计算,根据当前硬件的资源选择本次FPGA部署所采用的优化策略。同时建立基于硬件优化策略的模板库,在FPGA部署时直接调用模板库中相应的模板文件,模板库中包含基本的卷积神经网络结构。最后创建一个特定的structure结构,在FPGA端读取该层权重文件,根据配置信息更新该structure结构,并保存下一层的名字便于从权重文件中找到要执行的下层信息。从而完成在Pytorch框架下的卷积神经网络在FPGA上的快速部署。为实现上述目的其具体方案如下:
步骤一、建立模型快速映射机制,Pytorch框架下卷积神经网络模型拓扑结构的各层按照上下层输入输出顺序进行命名,对模型训练后得到的神经网络模型文件进行各层分解存储,完成在Pytorch框架下模型文件的网络拓扑结构建立;
步骤二、可重配置计算单元构建,包括硬件资源约束条件下的优化策略计算和建立基于硬件优化策略的模板库,用于生成FPGA端的可重配置计算单元;
步骤三、基于规则映射的自适应处理流程,解析神经网络模型文件中各层的配置信息,并通过FPGA端的可重配置计算单元进行FPGA控制逻辑自适应配置,最终生成神经网络加速器。
优选的,所述步骤一具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911084126.0/2.html,转载请声明来源钻瓜专利网。