[发明专利]一种运算方法及装置有效
申请号: | 201710269049.0 | 申请日: | 2017-04-21 |
公开(公告)号: | CN108734288B | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08;G06N3/04 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 201203 上海市浦东新区上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 运算 方法 装置 | ||
一种运算方法及装置,该运算装置包括输入模块,用于输入数据;模型生成模块,用于根据输入数据构建模型;神经网络运算模块,用于基于模型生成运算指令并缓存,以及根据运算指令对待处理数据进行运算得到运算结果;输出模块,用于输出运算结果。本公开的装置及方法,能够避免运行传统方法中整个软件架构带来的额外开销。
技术领域
本公开属于计算机体系结构、深度学习和神经网络领域,更具体地涉及一种运算方法及装置。
背景技术
深度学习是机器学习的分支,它试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。
深度学习是机器学习中一种基于对数据进行表征学习的方法。观测值(例如一幅图像)可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。而使用某些特定的表示方法更容易从实例中学习任务(例如,人脸识别或面部表情识别)。
至今已有数种深度学习架构,如深度神经网络、卷积神经网络和深度信念网络和递归神经网络已被应用于计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域,并获取了极好的效果。另外,深度学习已成为类似术语,或者说是神经网络的品牌重塑。
随着深度学习(神经网络)的大热,神经网络加速器也应运而生,通过专门的内存和运算模块设计,神经网络加速器在进行深度学习运算时可以获得相比较通用处理器几十倍甚是上百倍的加速比,并且面积更小,功耗更低。
为了方便将神经网络加速器应用于各种不同网络结构上以进行加速运算,以它为基础的编程软件库和编程框架也应运而生且不断发展。在以往的应用场景中,神经网络加速器编程框架通常位于最上层,目前常用的编程框架有Caffe,Tensorflow,Torch等,如图1所示,从底层到上层依次为神经网络加速器(用于神经网络运算的专用硬件),硬件驱动(用于软件调用神经网络加速器),神经网络加速器编程库(用于提供调用神经网络加速器的接口),神经网络加速器编程框架以及需要进行神经网络运算的高级应用。而在一些低内存、实时性强的应用场景中,运行整套软件架构将消耗过多的计算资源。因此,针对特定应用场景,如何对运算过程进行优化是需要解决的问题之一。
发明内容
基于以上问题,本公开的目的在于提出一种运算方法及装置,用于解决上述技术问题中的至少之一。
为了达到上述目的,作为本公开的一个方面,本公开提出了一种运算方法,包括以下步骤:
当输入数据包括待处理数据、网络结构和权值数据时,执行如下步骤:
步骤11、输入并读取输入数据;
步骤12、根据网络结构和权值数据构建离线模型;
步骤13、解析离线模型,得到运算指令并缓存,用于后续计算调用;
步骤14、根据运算指令,对待处理数据进行运算得到运算结果以供输出;
当输入数据包括待处理数据和离线模型时,执行如下步骤:
步骤21、输入并读取输入数据;
步骤22、解析离线模型,得到运算指令并缓存,用于后续计算调用;
步骤23、根据运算指令,对待处理数据进行运算得到运算结果以供输出;
当输入数据仅包括待处理数据时,执行如下步骤:
步骤31、输入并读取输入数据;
步骤32、调用缓存的运算指令,对待处理数据进行运算得到运算结果以供输出。
进一步地,上述根据运算指令,对待处理数据进行运算得到运算结果的步骤,是通过神经网络处理单元来实现的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710269049.0/2.html,转载请声明来源钻瓜专利网。