[发明专利]一种神经网络的前向推理方法、装置、设备及存储介质有效
申请号: | 201910188467.6 | 申请日: | 2019-03-13 |
公开(公告)号: | CN109919315B | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | 刘凯;吕亚飞;张致江;李必然;刘远东 | 申请(专利权)人: | 科大讯飞股份有限公司 |
主分类号: | G06N5/04 | 分类号: | G06N5/04 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王云晓;王宝筠 |
地址: | 230088 安徽*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 神经网络 推理 方法 装置 设备 存储 介质 | ||
本申请提供了一种神经网络的前向推理方法、装置、设备及存储介质,其中,方法包括:将目标神经网络划分为多个子网络,任一子网络包括目标神经网络的至少一个隐层,在推理平台的硬件设备上创建多个子网络分别对应的推理实例和推理引擎,基于多个子网络分别对应的推理实例和推理引擎,对目标神经网络进行前向推理。由于一个推理引擎只负责神经网络的一部分隐层,同一时刻可以有多个数据输入在不同的推理引擎内并行执行,因此,本申请提供的前向推理方法具有较高的推理效率和数据吞吐量,且推理平台的硬件资源得到充分利用。
技术领域
本申请涉及并行计算技术领域,更具体地说,涉及一种神经网络的前向推理方法、装置、设备及存储介质。
背景技术
神经网络的前向推理指的是,针对待推理神经网络在推理平台上创建推理实例和推理引擎,推理引擎基于神经网络输入层的输入数据和推理实例对神经网络的各层进行运算。
目前的推理方案为:针对待推理神经网络创建一个推理实例,并在该推理实例内创建一个推理引擎,推理引擎接收输入数据,基于推理实例对整个神经网络的各层按顺序进行运算,即,一个输入数据在不同层上的操作严格串行,并且,不同输入之间也严格串行,即后一输入数据必须等前一输入数据的输出结果获取后才能运算。
由上述现有的推理方案可知,随着神经网络层数的加深,完成一条数据的输入到输出的计算时间会越来越长,整体的吞吐量越来越小。同时,随着芯片技术的不断发展,各种适用于神经网络的硬件设备的计算能力均得到极大提升,而现有的推理方案使得硬件设备的利用率很低,严重浪费了硬件资源。
发明内容
有鉴于此,本申请提供了一种神经网络的前向推理方法、装置、设备及可读存储介质,用以解决现有的推理方案耗时长、效率低,且硬件资源利用率低的问题,其技术方案如下:
一种神经网络的前向推理方法,包括:
将目标神经网络划分为多个子网络,其中,任一子网络包括所述目标神经网络的至少一个隐层;
在推理平台的硬件设备上创建所述多个子网络分别对应的推理实例和推理引擎;
基于所述多个子网络分别对应的推理实例和推理引擎,对所述目标神经网络进行前向推理。
可选的,所述将目标神经网络划分为多个子网络,包括:
获取所述推理平台的硬件设备信息以及目标神经网络的计算量和所需的存储空间;
基于所述推理平台的硬件设备信息以及所述目标神经网络的计算量和所需的存储空间,将所述目标神经网络划分为多个子网络。
其中,所述推理平台的硬件设备信息包括以下信息中的一种或多种:
硬件设备的个数、硬件设备的计算能力、硬件设备的存储容量、硬件设备间的传输带宽。
可选的,获取所述目标神经网络的计算量和所需的存储空间,包括:
根据所述目标神经网络的网络参数,构建所述目标神经网络的计算图;
根据所述目标神经网络的计算图,确定所述目标神经网络各层的计算量和所需的存储空间;
通过所述目标神经网络各层的计算量和所需的存储空间,确定整个所述目标神经网络的计算量和所需的存储空间。
可选的,所述基于所述推理平台的硬件设备信息以及所述目标神经网络的计算量和所需的存储空间,将所述目标神经网络划分为多个子网络,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科大讯飞股份有限公司,未经科大讯飞股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910188467.6/2.html,转载请声明来源钻瓜专利网。