神经网络模型的运行方法、可读介质和电子设备技术

技术编号:35990481 阅读:6 留言:0更新日期:2022-12-17 23:05
本申请涉及人工智能领域,公开了一种神经网络模型的运行方法、可读介质和电子设备。该方法应用于电子设备,其中方法包括:电子设备根据输入数据的大小以及每层计算层的模型参数,预测计算结果的大小;根据预测计算结果的大小,确定多个子结果的大小;电子设备基于每个子结果的大小以及每层计算层的模型参数,确定每个子结果在输入数据中对应的数据块的范围,然后对每个数据块进行计算,得到每个数据块对应的子结果;电子设备根据每个数据块对应的子结果,确定输入数据对应的计算结果。这样,电子设备每次只用对输入数据中部分数据进行计算,不会一次性产生较多中间数据,减少了运行神经网络模型过程中对内存的占用。行神经网络模型过程中对内存的占用。行神经网络模型过程中对内存的占用。

【技术实现步骤摘要】
神经网络模型的运行方法、可读介质和电子设备


[0001]本申请涉及人工智能领域,特别涉及一种神经网络模型的运行方法、可读介质和电子设备。

技术介绍

[0002]随着人工智能(artificial intelligence,AI)的迅速发展,卷积神经网络模型在人工智能领域的应用越来越广泛。在卷积神经网络的计算过程中,是将待计算的数据全部输入到卷积层,然后逐层进行计算。由于现有的卷积神经网络的通道数越来越多,如果同时输入全部数据通道,会导致数据量较大,整个卷积计算过程需要消耗大量的存储和计算资源。
[0003]由于硬件设备(例如计算机装置)的计算能力有限,在神经网络的计算过程中,如果输入的待计算的数据较多,而且每一层卷积层的权值通道较多,会产生很多的中间结果,导致对硬件设备的要求过高。对于一些性能不够高的硬件设备来说,过多的输入数据和生成的中间数据可能会造成数据溢出,导致计算出现错误。

技术实现思路

[0004]有鉴于此,本申请实施例提供了神经网络模型的运行方法、可读介质和电子设备。
[0005]第一方面,本申请实施例提供了一种神经网络模型的运行方法,应用于电子设备,神经网络模型包括多个计算层,该方法包括:根据输入数据张量的大小以及每层计算层的模型参数,预测输入数据张量对应的计算结果张量的大小;根据计算结果张量的大小,确定多个子结果张量的大小;基于每个子结果张量的大小以及每层计算层的模型参数,确定每个子结果张量在输入数据张量中对应的数据块的范围;根据每层计算层的模型参数对每个数据块进行计算,得到每个数据块对应的子结果张量;根据每个数据块对应的子结果张量,确定输入数据张量对应的计算结果张量。
[0006]通过本申请实施例提供的方法,电子设备每次只用对输入数据中部分数据进行计算,不会一次性产生较多中间数据,减少了运行神经网络模型过程中对内存的占用。电子设备不用将模型发送到其他计算设备上运行,减少了网络资源的占用,也减少了将模型发送到其他计算设备所带来的时延。并且,神经网络模型就可以部署在本地设备上运行,在进行完所有卷积层的计算之后,将最终结果再写入到外部存储器中,减少了访问外部存储器的次数。将输入数据拆分为多个数据块,还可以将不同数据块交由处理器的不同计算引擎进行计算,不同计算引擎可以同步运行,提高了运行效率。
[0007]在上述第一方面的一种可能实现中,计算层为卷积层或者反卷积层,卷积层用于对输入数据张量进行卷积操作,反卷积层用于对输入数据张量进行反卷积操作;模型参数包括卷积操作或反卷积操作的步长、卷积核大小以及填充块数量。
[0008]在上述第一方面的一种可能实现中,基于每个子结果张量的大小以及每层计算层的模型参数,确定每个子结果张量在输入数据张量中对应的数据块的范围,包括:根据每个
子结果张量的大小以及每层计算层的模型参数,确定每个数据块的大小;根据每个子结果张量的大小以及每层计算层的模型参数,确定相邻数据块之间重叠区域的大小;根据每个数据块的大小以及相邻数据块之间重叠区域的大小,确定每个子结果张量在输入数据张量中对应的数据块的范围。
[0009]在上述第一方面的一种可能实现中,根据每个子结果张量的大小以及每层计算层的模型参数,确定相邻数据块之间重叠区域的大小,包括:根据每个子结果张量在不同维度方向上的前一个子结果张量的大小以及每层计算层的模型参数,确定当前子结果张量对应的数据块与在不同维度方向上的前一子结果张量对应的数据块之间的重叠区域的大小。
[0010]在上述第一方面的一种可能实现中,计算层共有M层,根据每个子结果张量的大小以及每层计算层的模型参数,确定相邻数据块之间重叠区域的大小,还包括:根据每个子结果张量的大小以及第M层计算层的模型参数,确定相邻数据块在对应于第M层计算层的输入数据张量中重叠区域的大小;将第M层计算层的输入数据张量作为第M

1层计算层的输出数据,并确定相邻数据块在对应于第M

1层计算层的输入数据张量中重叠区域的大小,直到确定相邻数据块在对应于第一层计算层的输入数据张量中重叠区域的大小。
[0011]在上述第一方面的一种可能实现中,根据每层计算层的模型参数对每个数据块进行计算,得到每个数据块对应的子结果张量,包括:将多个数据块分别发送给不同计算引擎,不同计算引擎分别对接收到数据块根据每层计算层的模型参数进行计算,得到每个数据块对应的子结果张量。
[0012]在上述第一方面的一种可能实现中,计算引擎为电子设备处理器的计算引擎,或者计算引擎为其他电子设备处理器的计算引擎。
[0013]第二方面,本申请实施例提供了一种可读介质,该可读介质中包含有指令,当指令被电子设备的处理器执行时使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任意一种神经网络模型的运行方法。
[0014]第三方面,本申请实施例提供了一种电子设备,该电子设备包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令;以及处理器,是电子设备的处理器之一,用于运行指令以使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任意一种神经网络模型的运行方法。
[0015]第四方面,本申请实施例提供了一种计算机程序产品,计算机程序产品包括指令,该指令被电子设备执行时使电子设备实现上述第一方面及上述第一方面的各种可能实现提供的任一种神经网络模型的运行方法。
附图说明
[0016]图1根据本申请的一些实施例,示出了一种卷积神经网络的架构示意图;
[0017]图2根据本申请的一些实施例,示出了一种卷积操作的计算过程的示意图;
[0018]图3根据本申请的一些实施例,示出了一种反卷积操作的计算过程的示意图;
[0019]图4根据本申请的一些实施例,示出了一种部署卷积神经网络的示意图;
[0020]图5根据本申请的一些实施例,示出了一种卷积计算中重叠区域的示意图;
[0021]图6根据本申请的一些实施例,示出了一种数据块划分方法的示意图;
[0022]图7根据本申请的一些实施例,示出了一种神经网络模型的运行方法的流程示意
图;
[0023]图8A

图8C根据本申请的一些实施例,示出了一种三层卷积层的计算过程的示意图;
[0024]图9A

图9C根据本申请的一些实施例,示出了一种计算数据块起始位置的示意图;
[0025]图10根据本申请的一些实施例,示出了一种神经网络模型的运行装置的架构示意图;
[0026]图11根据本申请的一些实施例,示出了一种电子设备的结构示意图。
具体实施方式
[0027]本申请的说明性实施例包括但不限于神经网络模型的运行方法、可读介质和电子设备。
[0028]为了便于理解,首先介绍本申请实施例涉及的术语。
[0029]卷积神经网络(Convolutional Neuron Network,CNN)是一种带有卷积结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的运行方法,应用于电子设备,其特征在于,所述神经网络模型包括多个计算层,所述方法包括:根据输入数据张量的大小以及每层计算层的模型参数,预测所述输入数据张量对应的计算结果张量的大小;根据所述计算结果张量的大小,确定多个子结果张量的大小;基于每个子结果张量的大小以及所述每层计算层的模型参数,确定所述每个子结果张量在所述输入数据张量中对应的数据块的范围;根据所述每层计算层的模型参数对所述每个数据块进行计算,得到所述每个数据块对应的子结果张量;根据所述每个数据块对应的子结果张量,确定所述输入数据张量对应的计算结果张量。2.根据权利要求1所述方法,其特征在于,所述计算层为卷积层或者反卷积层,所述卷积层用于对所述输入数据张量进行卷积操作,所述反卷积层用于对所述输入数据张量进行反卷积操作;所述模型参数包括卷积操作或反卷积操作的步长、卷积核大小以及填充块数量。3.根据权利要求2所述方法,其特征在于,基于每个子结果张量的大小以及所述每层计算层的模型参数,确定每个子结果张量在所述输入数据张量中对应的数据块的范围,包括:根据每个子结果张量的大小以及所述每层计算层的模型参数,确定所述每个数据块的大小;根据每个子结果张量的大小以及所述每层计算层的模型参数,确定相邻数据块之间重叠区域的大小;根据所述每个数据块的大小以及所述相邻数据块之间重叠区域的大小,确定每个子结果张量在输入数据张量中对应的数据块的范围。4.根据权利要求3所述方法,其特征在于,根据每个子结果张量的大小以及所述每层计算层的模型参数,确定相邻数据块之间重叠区域的大小,包括:根据所述每个子结果张量在不同维度方向上的前一个子结果张量的大小以及每层计算层的模型参数,确定当前子结果张量对应的数据块与在不同维度方向上的前一子结果张量对应的数据块之间...

【专利技术属性】
技术研发人员:许礼武余宗桥黄敦博
申请(专利权)人:安谋科技中国有限公司
类型:发明
国别省市:

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

1