[发明专利]指令程序开发调度数据的方法及系统有效
申请号: | 201910071055.4 | 申请日: | 2019-01-25 |
公开(公告)号: | CN109799977B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 张犁;陈祥芬;陈治宇;赵怡君;刘帅;梁继民 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06N3/04 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 田文英;王品华 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种指令程序开发调度数据的方法及系统,本发明的方法是,1.获取用户输入的卷积神经网络模型参数和硬件资源参数;2.将户输入的卷积神经网络模型参数和硬件资源参数转化为.json类型文件;3.根据.json类型文件确定数据存储结构;4.解析.json类型文件和数据存储结构,生成中间结果文件;5.根据中间结果文件生成指令程序和层配置信息,来控制可编程神经网络处理器实现对图像、卷积神经网络的权值和偏执等数据的调度。本发明可自动化生成指令程序,缩短开发可编程神经网络处理器指令程序的周期,提高效率,并且系统具有可视化的操作界面使得系统操作简单。 | ||
搜索关键词: | 指令 程序 开发 调度 数据 方法 系统 | ||
【主权项】:
1.一种指令程序开发调度数据的方法,其特征在于,用户输入卷积神经网络模型的参数和硬件资源参数,生成.json类型文件和配置数据存储结构,该方法的具体步骤包括如下:(1)获取参数:用户输入卷积神经网络模型的参数和硬件资源参数,卷积神经网络模型的参数包括:一幅特征图的尺寸、卷积层的卷积核尺寸、卷积层的滑动步长、卷积层的卷积核深度、卷积层的补零数量、池化层的池化步长、全连接层的输出个数;(2)生成.json类型文件:(2a)将硬件资源参数表示成键值对结构的硬件资源字符串;(2b)将卷积神经网络模型参数表示成键值对结构;(2c)遍历卷积神经网络模型参数键值对结构,分配卷积神经网络各层的前驱指针和后继指针,卷积神经网络模型参数中特征图层的后继指针指向第一层卷积层,前驱指针指向空,卷积层、池化层和全连接层各自的前驱指针和后继指针由用户输入的卷积神经网络模型参数的先后顺序来确定指向,全连接层的后继指针指向全连接层,最后一层全连接层的后继指针指向空,遍历结束后将所有的键值对结构表示成键值对结构的神经网络模型字符串;(2d)将硬件资源字符串和神经网络模型字符串拼接在一起,按照json格式生成.json类型文件;(3)确定数据存储结构:(3a)读取.json类型文件,将文件内容表示成字典结构;(3b)遍历字典结构,当卷积神经网络模型的特征图像素宽度值与可编程神经网络处理器的数据位宽值的乘积小于存储器位宽数值时,特征图的数据结构不变,直接存入存储器;反之,对特征图进行竖向切割存储,所切割块的总数如下:
其中,
表示向上取整操作、img_w表示特征图的像素宽度值、w表示卷积层的卷积核宽度值、pe_h表示可编程神经网络处理器的运算单元阵列的高度值、s表示卷积层的滑动步长值;(3c)遍历字典结构,将卷积神经网络模型的存储器位宽值与可编程神经网络处理器的数据位宽值相除,得到的商作为存储器存储位宽存放数据的总数;(3d)将一个卷积核的所有权值拉成一维数列竖向存于存储器中,将存储器存储位宽存放数据的总数中每个卷积核权值数据、每个卷积神经网络全连接层权值数据、每个偏置数据,按从左往右的顺序存储于存储器中;(3e)当卷积核的总数、卷积神经网络全连接层权值数据总数、偏置数据总数中的任意一种类型数据的总数,超过存储器存储位宽存放数据的总数时,将卷积核权值数据、卷积神经网络全连接层权值数据、偏置数据在存储器中以从上往下的结构存放;(4)生成中间结果文件:(4a)遍历字典结构,当遍历到卷积层或者全连接层时,计算特征图的数据传输次数和每次传输时在存储器中的起止地址,将每次传输的起止地址保存为图像数据传输文件;(4b)计算卷积神经网络卷积层的权值数据传输次数和每次传输时在存储器中的起止地址,将每次传输的起止地址保存为卷积权值数据传输文件;(4c)计算偏置数据传输次数和每次传输时在存储器中的起止地址,将每次传输的起止地址保存为偏置数据传输文件;(4d)当卷积层的后继指针指向卷积层或遍历到池化层、全连接层时,计算回存数据的起止地址和回存次数记,将每次回存时回存数据的起止地址保存为数据回存文件;(4e)将所有的数据传输文件和数据回存文件组成中间结果文件;(5)生成指令程序和层配置信息:(5a)将中间结果文件中的所有起止地址添加上指令码生成单个指令;(5b)排列组合单个指令,横向形成并行传输指令,纵向形成传输调度数据的指令程序;(5c)分别计算所有层的处理类型、所有层的卷积核尺寸、所有层的滑动步长、所有层的指令数量、所有层的指令起止地址以及所有层的全连接的权值个数生成所有层的可编程神经网络处理器的层配置信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910071055.4/,转载请声明来源钻瓜专利网。