[发明专利]一种神经网络运行方法、装置及异构智能芯片有效
申请号: | 201810757736.1 | 申请日: | 2018-07-11 |
公开(公告)号: | CN110717574B | 公开(公告)日: | 2023-07-07 |
发明(设计)人: | 丁健 | 申请(专利权)人: | 杭州海康威视数字技术股份有限公司 |
主分类号: | G06N3/0464 | 分类号: | G06N3/0464;G06N3/063 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 马敬;项京 |
地址: | 310051 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 神经网络 运行 方法 装置 智能 芯片 | ||
本发明实施例提供了一种神经网络运行方法、装置及异构智能芯片,其中,神经网络运行方法包括:获取待运行的神经网络;对神经网络进行网络层划分,得到该神经网络的多个待运行层;针对各待运行层,确定满足预设运行条件的计算核心,以使各计算核心按照预设运行顺序运行各待运行层。通过本方案,可以提升神经网络的运行效率。
技术领域
本发明涉及数据处理技术领域,特别是涉及一种神经网络运行方法、装置及异构智能芯片。
背景技术
神经网络作为机器学习和深度学习的基础,通过模仿人脑的机制来解析数据,是一种通过建立和模拟人脑进行分析学习的智能模型。目前,神经网络在图像分类、目标检测、目标跟踪、语音识别等方面已经成为了主流的应用方法。
随着深度学习技术的不断发展,神经网络的网络结构越来越庞大,网络层的数目越来越多,传统的硬件平台已无法满足神经网络高运行效率的要求。为了应对该问题,相关的神经网络运行方法中,通过对神经网络中的每个网络层进行优化,降低每个网络层的运算量,或者,将每个网络层的数据搬运和计算这两个操作并行,以此来缩短整个神经网络运行的耗时,进而提高神经网络的运行效率。
但是,目前随着神经网络的发展,神经网络中网络层的运算也越来越复杂,对网络层的优化往往基于已知的运算机制,这样,使得通过对网络层进行优化处理而提高的神经网络的运行效率实际是有限的,运行效率的提升效果欠佳。
发明内容
本发明实施例的目的在于提供一种神经网络运行方法、装置及异构智能芯片,以提升神经网络的运行效率。具体技术方案如下:
第一方面,本发明实施例提供了一种神经网络运行方法,所述方法包括:
获取待运行的神经网络;
对所述神经网络进行网络层划分,得到所述神经网络的多个待运行层;
针对各待运行层,确定满足预设运行条件的计算核心,以使各计算核心按照预设运行顺序运行各待运行层。
可选的,所述获取待运行的神经网络,包括:
按照预设网络优先级,从待运行的多个神经网络中获取优先级最高的神经网络。
可选的,所述对所述神经网络进行网络层划分,得到所述神经网络的多个待运行层,包括:
基于所述神经网络中网络层的数目,对所述神经网络进行划分,得到多个待运行层。
可选的,所述针对各待运行层,确定满足预设运行条件的计算核心,包括:
判断当前待运行层是否已完成运行;
若所述当前待运行层未完成运行,则获取所述当前待运行层的运算规则;基于所述运算规则,确定具有与所述运算规则相应的运行条件的计算核心;发送所述当前待运行层至所述计算核心,以使所述计算核心运行所述当前待运行层。
可选的,在所述对所述神经网络进行网络层划分,得到所述神经网络的多个待运行层之后,所述方法还包括:
通过分析得到各待运行层的计算量,并判断各待运行层的计算量是否大于预设阈值;
针对计算量大于所述预设阈值的待运行层,拆分该待运行层,得到该待运行层的多个子层;
所述针对各待运行层,确定满足预设运行条件的计算核心,包括:
判断当前待运行层是否已完成运行;
若所述当前待运行层未完成运行,则获取所述当前待运行层中各未运行的子层的运算规则;基于各运算规则,确定具有与该运算规则相应的运行条件的计算核心;发送各未运行的子层至相应的各计算核心,以使各计算核心运行各未运行的子层。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州海康威视数字技术股份有限公司,未经杭州海康威视数字技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810757736.1/2.html,转载请声明来源钻瓜专利网。