[发明专利]神经网络运行方法、装置、电子设备及存储介质在审
申请号: | 202011619783.3 | 申请日: | 2020-12-31 |
公开(公告)号: | CN112668701A | 公开(公告)日: | 2021-04-16 |
发明(设计)人: | 徐磊 | 申请(专利权)人: | 上海商汤智能科技有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063;G06N3/08 |
代理公司: | 北京中知恒瑞知识产权代理事务所(普通合伙) 11889 | 代理人: | 吴迪 |
地址: | 200233 上海市徐*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 运行 方法 装置 电子设备 存储 介质 | ||
本公开提供了一种神经网络运行方法、装置、电子设备及存储介质,该方法包括:确定目标神经网络中的待处理网络层;从确定的多个算子和多种分块策略中,确定所述目标神经网络中待处理网络层分别对应的目标算子和目标分块策略;多个算子中的每个算子均用于实现待处理网络层对应的功能,多种分块策略中的每个分块策略均匹配用于运行目标神经网络的计算设备的运行要求;基于待处理网络层对应的所述目标分块策略,运行包含所述目标算子的所述目标神经网络。
技术领域
本公开涉及深度学习技术领域,具体而言,涉及一种神经网络运行方法、装置、电子设备及存储介质。
背景技术
随着技术的发展,大型神经网络已被应用于各种场景下,比如,自动驾驶场景、图像识别场景等。在大型神经网络构建之后,可以通过计算设备运行该大型神经网络。
一般的,对于依赖直接内存操作(Direct Memory Access,DMA)进行数据传输的计算设备,该计算设备的数据缓冲Data cache效率不高或者无Data cache,故在使用该计算设备推理大型神经网络时,由于计算设备的内存有限,将不可避免地遇到对大型神经网络的单层任务进行分块(tile)、调度等问题。因此,提出一种能够对单层任务进行分块、调度的神经网络运行方法尤为重要。
发明内容
有鉴于此,本公开至少提供一种神经网络运行方法、装置、电子设备及存储介质。
第一方面,本公开提供了一种神经网络运行方法,包括:
确定目标神经网络中的待处理网络层;
从确定的多个算子和多种分块策略中,确定所述目标神经网络中所述待处理网络层对应的目标算子和目标分块策略;所述多个算子中的每个算子均用于实现所述待处理网络层对应的功能,所述多种分块策略中的每个分块策略均匹配用于运行所述目标神经网络的计算设备的运行要求;
基于所述待处理网络层对应的所述目标分块策略,运行包含所述目标算子的所述目标神经网络。
上述方法中,在确定了目标神经网络中的待处理网络层之后,可以从确定的多个算子和多种分块策略中,确定待处理网络层对应的目标算子和目标分块策略,由于分块策略满足计算设备的运行要求,使得基于待处理网络层对应的目标分块策略,运行包含目标算子的目标神经网络时,能够满足计算设备的运行要求。同时,由于目标分块策略可以对匹配的待处理网络层对应的目标算子的参数数据进行分块,使得基于分块后的参数数据运行待处理网络层的资源消耗最小,比如该资源消耗可以用总计算开销表征,即在满足计算设备的运行要求的同时,使得基于至少一个待处理网络层分别对应的目标分块策略,运行包含目标算子的目标神经网络的效率较高。
一种可能的实施方式中,所述分块策略用于对所述待处理网络层对应的目标算子的参数数据进行分块;
在所述多种分块策略中,基于采用所述目标分块策略对所述目标算子的参数数据进行分块得到的参数数据,运行所述待处理网络层的资源消耗最小。
一种可能的实施方式中,在所述待处理网络层为多个的情况下,所述从确定的多个算子和多种分块策略中,确定所述目标神经网络中待处理网络层对应的目标算子和目标分块策略,包括:
针对所述目标神经网络中的每个待处理网络层,从所述多个算子中确定所述待处理网络层对应目标候选算子、并从所述多种分块策略中确定与所述目标候选算子匹配的目标候选分块策略;
在存在任一待处理网络层对应的所述目标候选算子为多个和/或所述目标候选分块策略为多个的情况下,基于各个待处理网络层分别对应的目标候选算子和目标候选分块策略,确定每个待处理网络层对应的所述目标算子和所述目标分块策略。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海商汤智能科技有限公司,未经上海商汤智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011619783.3/2.html,转载请声明来源钻瓜专利网。