[发明专利]神经网络数据处理方法、装置、设备及存储介质有效
申请号: | 202010679561.4 | 申请日: | 2020-07-15 |
公开(公告)号: | CN111813721B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 伍永情;黄炯凯;蔡权雄;牛昕宇 | 申请(专利权)人: | 深圳鲲云信息科技有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28;G06N3/04 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 潘登 |
地址: | 518048 广东省深圳市福田区福保*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 神经网络 数据处理 方法 装置 设备 存储 介质 | ||
本发明实施例公开了一种神经网络数据处理方法、装置、设备及存储介质,所述方法包括:加载神经网络当前层的第二运算数据;当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。本发明实施例使得神经网络计算引擎的运行与DMA的数据读取并行处理,提高了计算引擎与DMA的并行度,从而减少了计算引擎和数据读取的空闲时间,提高了神经网络运算过程中的数据吞吐率,减少了神经网络运算所需的总体耗时。
技术领域
本发明实施例涉及深度学习技术领域,尤其涉及一种神经网络数据处理方法、装置、设备及存储介质。
背景技术
深度学习的动机在于建立和模拟人脑进行分析学习的神经网络,由于能快速高效处理大量数据,其应用范围已经越来越广泛。
神经网络的运算通常需要大量的数据,在常见的深度学习神经网络推理芯片设计中,数据都存储在片外存储模块中,那么芯片在进行推理运算时,就需要将数据从片外存储模块搬运到片上存储模块中,计算引擎从片上存储模块读取数据进行深度学习运算。
然而在现有的数据处理方案中,数据搬运与数据运算是串行的,当前计算引擎通常要等待神经网络当前层所需的运算数据都从片外存储模块搬运到片上存储模块后才开始运算,神经网络下一层的数据搬运需要等到神经网络当前层的计算引擎运算完毕才开始,也即,当进行数据搬运时,计算引擎处于空闲状态,当计算引擎进行运算时,数据搬运处于空闲状态,这种数据处理方式的数据吞吐率较低,使得神经网络运算所需时间较长。
发明内容
有鉴于此,本发明实施例提供一种神经网络数据处理方法、装置、设备及存储介质,以减少神经网络运算所需整体时长,提高神经网络的运算效率。
第一方面,本发明实施例提供一种神经网络数据处理方法,包括:
加载神经网络当前层的第二运算数据;
当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。
进一步的,加载神经网络当前层的第二运算数据之后,还包括:
根据预先加载的神经网络当前层的第一运算数据和所述神经网络当前层的第二运算数据进行运算,得到神经网络当前层的运算结果数据;
存储所述神经网络当前层的运算结果数据。
进一步的,存储所述神经网络当前层的运算结果数据之后,还包括:
当所述神经网络当前层的运算结果数据存储完毕,将神经网络下一层作为神经网络当前层,返回加载神经网络当前层的第二运算数据的步骤,直至完成神经网络所有层的第二运算数据的加载。
进一步的,所述神经网络当前层的第二运算数据为神经网络当前层的运算图数据。
进一步的,所述神经网络当前层的第一运算数据为神经网络当前层的权值数据和偏置数据。
进一步的,数据加载方式为DMA传输方式。
第二方面,本发明实施例提供一种神经网络数据处理装置,包括:
第二运算数据加载模块,用于加载神经网络当前层的第二运算数据;
第一运算数据加载模块,用于当神经网络当前层的第二运算数据加载完毕,加载神经网络下一层的第一运算数据。
进一步的,还包括:
数据运算模块,用于根据预先加载的神经网络当前层的第一运算数据和所述神经网络当前层的第二运算数据进行运算,得到神经网络当前层的运算结果数据;
数据存储模块,用于存储所述神经网络当前层的运算结果数据。
第三方面,本发明实施例提供一种神经网络数据处理设备,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳鲲云信息科技有限公司,未经深圳鲲云信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010679561.4/2.html,转载请声明来源钻瓜专利网。