[发明专利]神经网络的运算方法、装置、计算机设备和存储介质有效
申请号: | 201810252109.2 | 申请日: | 2018-03-26 |
公开(公告)号: | CN110363291B | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 李威 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06N3/06 | 分类号: | G06N3/06;G06N3/08 |
代理公司: | 北京华进京联知识产权代理有限公司 11606 | 代理人: | 孙岩 |
地址: | 200120 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 运算 方法 装置 计算机 设备 存储 介质 | ||
1.一种神经网络的运算方法,其特征在于,所述方法包括:
获取任务处理指令,根据所述任务处理指令生成控制指令和预处理配置指令;
根据所述控制指令,得到神经网络运算算法;
根据所述预处理配置指令对FPGA IP核进行配置,得到预处理算法;
获取上一层神经网络的输出神经元数据;
将所述上一层神经网络的输出神经元数据存储于存储单元中;
通过所述FPGA IP核从存储单元中读取所述上一层神经网络的输出神经元数据,并对所述上一层神经网络的输出神经元数据进行预处理,得到本层神经网络的预处理后的输入神经元数据;
根据所述神经网络运算算法对所述预处理后的输入神经元数据执行神经网络运算,得到输出神经元数据;
通过FPGA IP核输出所述输出神经元数据。
2.根据权利要求1所述的方法,其特征在于,所述神经网络运算装置根据所述控制指令,得到神经网络运算算法的步骤包括:
对所述控制指令进行译码,得到神经网络运算指令;
根据所述神经网络运算指令,获取神经网络运算算法。
3.根据权利要求1所述的方法,其特征在于,所述预处理算法包括幂次转换算法、浮点转定点算法、权值解压缩算法以及激活算法中的一种或多种。
4.根据权利要求3所述的方法,其特征在于,所述预处理算法包括幂次转换算法,所述通过所述FPGA IP核对神经网络的输入神经元数据执行预处理,得到预处理后的输入神经元数据的步骤包括:
接收所述任务处理指令,并生成幂次转换配置信号;
对所述FPGA IP核进行配置,得到幂次转换单元;
通过所述幂次转换单元将所述输入神经元数据的非幂次神经元数据转换为幂次权值数据,将输入神经元数据的非幂次权值数据转换为幂次权值数据。
5.根据权利要求1所述的方法,其特征在于,当所述本层神经网络为最后一层神经网络时,所述通过FPGAIP核输出所述输出神经元数据的步骤包括:
通过所述本层神经网络对所述本层神经网络的预处理后的输入神经元数据进行运算,得到本层神经网络的输出神经元数据;
通过FPGA IP核将所述本层神经网络的输出神经元数据输出。
6.根据权利要求1所述的方法,其特征在于,所述神经网络通过FPGA IP核输出所述输出神经元数据的步骤还包括:
对所述输出神经元数据进行后处理,得到最终输出神经元数据;
通过所述FPGA IP核输出所述最终输出神经元数据。
7.一种神经网络运算装置,其特征在于,所述装置包括:
指令获取模块,用于获取用户输入的任务处理指令,根据所述任务处理指令生成神经网络运算装置的控制指令和预处理配置指令;
神经网络运算算法生成模块,用于所述神经网络运算装置根据所述控制指令,得到神经网络运算算法;
预处理配置模块,用于所述神经网络运算装置根据所述预处理配置指令对FPGA IP核进行配置;
预处理模块,用于获取上一层神经网络的输出神经元数据;将所述上一层神经网络的输出神经元数据存储于存储单元中;通过所述FPGA IP核从存储单元中读取所述上一层神经网络的输出神经元数据,并对所述上一层神经网络的输出神经元数据进行预处理,得到本层神经网络的预处理后的输入神经元数据;
神经网络运算模块,用于根据所述神经网络运算算法对所述预处理后的输入神经元数据执行神经网络运算,得到输出神经元数据;
数据输出模块,用于通过FPGA IP核输出所述输出神经元数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810252109.2/1.html,转载请声明来源钻瓜专利网。