模型运行方法、装置、电子设备及存储介质制造方法及图纸

技术编号:28625304 阅读:14 留言:0更新日期:2021-05-28 16:21
本申请公开了一种模型运行方法、装置、电子设备及存储介质。该模型运行方法包括:在运行神经网络模型时,获取所述神经网络模型的目标算子模块中深度卷积模块处理后的第一结果,所述目标算子模块由顺序连接的所述深度卷积模块和逐点卷积模块融合后得到;将所述第一结果缓存至分配的缓存空间内;根据所述目标算子模块中的所述逐点卷积模块,对缓存的所述第一结果进行处理,得到第二结果;根据所述第二结果,确定所述神经网络模型的输出结果。本方法可以提升神经网络模型运行过程中的数据访问效率,提升神经网络模型的性能。

【技术实现步骤摘要】
模型运行方法、装置、电子设备及存储介质
本申请涉及人工智能
,更具体地,涉及一种模型运行方法、装置、电子设备及存储介质。
技术介绍
神经网络(DNNs)被越来越多的用在各种应用场合中,例如语音识别、目标检测、语义分割等。然而,随着神经网络技术的持续发展,神经网络模型中的神经元以及突触(synapsis)的数目都在成指数级地增加,运算时长也随之快速地增加。因此有必要对神经网络模型进行优化。
技术实现思路
鉴于上述问题,本申请提出了一种模型运行方法、装置、电子设备及存储介质。第一方面,本申请实施例提供了一种模型运行方法,所述方法包括:在运行神经网络模型时,获取所述神经网络模型的目标算子模块中深度卷积模块处理后的第一结果,所述目标算子模块由顺序连接的所述深度卷积模块和逐点卷积模块融合后得到;将所述第一结果缓存至分配的缓存空间内;根据所述目标算子模块中的所述逐点卷积模块,对缓存的所述第一结果进行处理,得到第二结果;根据所述第二结果,确定所述神经网络模型的输出结果。第二方面,本申请实施例提供了一种模型运行方法,所述方法包括:第一获取模块,用于在运行神经网络模型时,获取所述神经网络模型的目标算子模块中深度卷积模块处理后的第一结果,所述目标算子模块由顺序连接的所述深度卷积模块和逐点卷积模块融合后得到;结果缓存模块,用于将所述第一结果缓存至分配的缓存空间内;第二获取模块,用于根据所述目标算子模块中的所述逐点卷积模块,对缓存的所述第一结果进行处理,得到第二结果;结果确定模块,用于根据所述第二结果,确定所述神经网络模型的输出结果。第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述第一方面提供的模型运行方法第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的模型运行方法。本申请提供的方案,在运行神经网络模型时,通过获取所述神经网络模型的目标算子模块中深度卷积模块处理后的第一结果,所述目标算子模块由顺序连接的所述深度卷积模块和逐点卷积模块融合后得到;将所述第一结果缓存至分配的缓存空间内;根据所述目标算子模块中的所述逐点卷积模块,对缓存的所述第一结果进行处理,得到第二结果;根据所述第二结果,确定所述神经网络模型的输出结果。本申请在神经网络模型部署了由深度卷积和逐点卷积融合得到的目标算子模块的基础上,通过将目标算子模块的中间计算结果进行缓存,使得可直接从缓存空间读取该中间计算结果进行后续计算,从而减少了高性能高功耗的内存读写,提升了数据访问效率,提升了神经网络模型的运算性能。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了根据本申请一个实施例的模型运行方法的一种流程图。图2示出了本申请提供的一种常规卷积操作的计算过程示意图。图3示出了本申请提供的另一种常规卷积操作的计算过程示意图。图4示出了本申请所提供的一种模型运行方法的整体示意图。图5示出了根据本申请另一个实施例的模型运行方法的一种流程图。图6示出了本申请提供的一种神经网络模型中的数据表示示意图。图7示出了本申请提供的一种滑动窗口的示意图。图8示出了本申请提供的一种神经网络模型中的数据内存布局的示意图。图9示出了本申请提供的另一种神经网络模型中的数据内存布局的示意图。图10示出了本申请提供的一种深度卷积在NCHW下的内存访问示意图。图11示出了本申请提供的一种逐点卷积在NCHW下的内存访问示意图。图12示出了根据本申请又一个实施例的模型运行方法的一种流程图。图13示出了根据本申请又一个实施例的模型运行方法中步骤S310的一种流程图。图14示出了本申请提供的一种本申请提供的融合网络结构的示意图。图15示出了根据本申请一个实施例的模型运行装置的一种框图。图16是本申请实施例的用于执行根据本申请实施例的模型运行方法的电子设备的框图。图17是本申请实施例的用于保存或者携带实现根据本申请实施例的模型运行方法的程序代码的存储单元。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。目前,深度学习神经网络可以部署的电子设备种类越来越多,例如,移动终端侧(如智能手机)受限于算力、内存等因素的影响,可以部署轻量级深度学习神经网络,比如MobilenetV1,MobilenetV2,DeeplabV3,YoloV3_Tiny等网络。然而,随着神经网络的网络结构越来越复杂,在相关电子设备侧(如移动终端)部署深度学习神经网络时,如何提升深度学习神经网络的推理速度也越来越重要。专利技术人经过长期研究发现,由于在轻量级深度学习神经网络中,通常是用深度可分离卷积(DepthwiseSeparableConvolution)来替代普通的卷积Convolution,以减小模型的计算量。其中,深度可分离卷积可以包括深度卷积DepthwiseConvolution以及逐点卷积PointwiseConvolution。因此,在深度学习推理框架采用逐层推理的方法进行模型推理时,其实际上是在计算完DepthwiseConvolution的全部结果之后,再计算PointwiseConvolution。但是这对于高性能AI(ArtificialIntelligence,人工智能)加速器而言,通常存在执行效率不高的问题。具体地,虽然高性能AI加速器上的计算速度很快,但是在DepthwiseConvolution计算完成之后,需要将计算结果全部刷回DDR(DoubleDataRateSDRAM,双倍速率同步动态随机存储器),然后在计算PointwiseConvolution的时候,需要从DDR加载出全部数据,而数据这样经过DDR一写一读,内存访问速度就比较慢了,从而影响到模型的推理性能。此外,DDR内存读写的功耗也比较高,使得模型的功耗开销也比较大。因此,专利技术人提出了本申请实施例提供的模型运行方法、装置、电子设备以及存储介质,可将DepthwiseConvolution和PointwiseConvolution融合成一个算子,用一块临时内存来缓存DepthwiseConvolution的计算结果,然后在PointwiseConvolution计算时,直接从缓存中读取,从而减少了DDR的内存读写,提升了模型的计算性能。具体的模型运行方法在后续的实施例中进行详细的说明。<本文档来自技高网
...

【技术保护点】
1.一种模型运行方法,其特征在于,所述方法包括:/n在运行神经网络模型时,获取所述神经网络模型的目标算子模块中深度卷积模块处理后的第一结果,所述目标算子模块由顺序连接的所述深度卷积模块和逐点卷积模块融合后得到;/n将所述第一结果缓存至分配的缓存空间内;/n根据所述目标算子模块中的所述逐点卷积模块,对缓存的所述第一结果进行处理,得到第二结果;/n根据所述第二结果,确定所述神经网络模型的输出结果。/n

【技术特征摘要】
1.一种模型运行方法,其特征在于,所述方法包括:
在运行神经网络模型时,获取所述神经网络模型的目标算子模块中深度卷积模块处理后的第一结果,所述目标算子模块由顺序连接的所述深度卷积模块和逐点卷积模块融合后得到;
将所述第一结果缓存至分配的缓存空间内;
根据所述目标算子模块中的所述逐点卷积模块,对缓存的所述第一结果进行处理,得到第二结果;
根据所述第二结果,确定所述神经网络模型的输出结果。


2.根据权利要求1所述的方法,其特征在于,所述获取所述神经网络模型的目标算子模块中深度卷积模块处理后的第一结果,包括:
基于所述神经网络模型中目标算子模块的输入数据,确定处于滑动窗口内的目标数据;
根据所述目标算子模块中的所述深度卷积模块,对所述目标数据进行处理,得到第一结果。


3.根据权利要求2所述的方法,其特征在于,在所述基于所述神经网络模型中目标算子模块的输入数据,确定处于滑动窗口内的目标数据之前,所述方法还包括:
确定分配的缓存空间的缓存容量;
根据所述缓存容量,确定滑动窗口的尺度。


4.根据权利要求2所述的方法,其特征在于,所述根据所述第二结果,确定所述神经网络模型的输出结果,包括:
根据所述滑动窗口遍历所述输入数据,重复执行所述基于所述神经网络模型中目标算子模块的输入数据,确定处于滑动窗口内的目标数据的步骤,至所述根据所述目标算子模块中的所述逐点卷积模块,对缓存的所述第一结果进行处理的步骤,得到多个所述第二结果;
将多个所述第二结果作为目标算子模块的输出数据,并基于所述输出数据,确定所述神经网络模型的输出结果。


5.根据权利要求1-4任一项所述的方法,其特征在于,在所述在运行神经网络模型时,获取所述神经网络模型的目标算子模块中深度卷积模块处理后的第一结果之前,所述方法还包括:
确定待优化的网络模型,所述待优...

【专利技术属性】
技术研发人员:谭志鹏
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1