[发明专利]一种深度神经网络的计算执行方法和系统在审
申请号: | 201710567232.9 | 申请日: | 2017-07-12 |
公开(公告)号: | CN107341761A | 公开(公告)日: | 2017-11-10 |
发明(设计)人: | 张靖淇 | 申请(专利权)人: | 成都品果科技有限公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20;G06N3/04;G06T1/60 |
代理公司: | 成都玖和知识产权代理事务所(普通合伙)51238 | 代理人: | 黎祖琴 |
地址: | 610000 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 深度 神经网络 计算 执行 方法 系统 | ||
技术领域
本发明属于神经网络技术领域,特别是涉及一种深度神经网络的计算执行方法和系统。
背景技术
近年来,依托于深度学习技术的进步,越来越多的图像处理难题,能通过深度学习很好的解决,例如:图像识别、分类和描述,精确到像素的图像内容分割(俗称抠图),图像的风格转移等等。但深度神经网络模型在执行时的计算量与内存开销非常巨大,通常只能运行于配备了高性能GPU的服务器之上。为了能让深度学习技术更广泛的应用和落地,让其能在计算资源有限的设备上使用,包括低端计算机,智能手机、智能手表等移动设备。
要达到上述目的,通常要结合两种方法实现,一是精简深度神经网络模型,二是提高深度神经网络模型的执行效率。第一个方向已经有非常多的研究者提出了很多行之有效的解决办法,而第二个方向上,由于各种具体应用场景的复杂性,开发难度等原因,并没有一个高效而通用的解决方案。
发明内容
为了解决上述问题,本发明提出了一种深度神经网络的计算执行方法和系统,提高对深度神经网络模型的执行效率,能极大限度和有效的利用包括GPU与CPU等计算资源。
为达到上述目的,本发明采用的技术方案是:
一种深度神经网络的计算执行方法,包括步骤:
S100构建深度神经网络;
S200初始化深度神经网络;
S300通过计算后端模块执行提交的神经层算法,逐一执行深度神经网络中各神经层模块;
S400通过运行计算后端模块,获取深度神经网络的运算输出结果。
进一步的是,所述构建深度神经网络,包括步骤:
S101通过神经层模块定义出深度神经网络中的所有隐藏层;
S102根据所要实现的内存管理对象,定义各神经层模块所的输入及输出。
进一步的是,所述初始化深度神经网络,包括步骤:
S201把预先训练好的深度神经网络,加载到深度神经网络的模型对象中;
S202初始化计算后端模块;
S203加载算法库:将预先编写的算法库分别加载到计算后端模块中;
S204逐一初始化深度神经网络中所有的神经层:选取所需的计算后端模块初始化神经层;
S205逐一初始化深度神经网络中的缓冲区。
进一步的是,所述神经层模块的运行,包括步骤:
S301参数设置:设置神经层模块的必需参数,加载计算后端模块执行提交的神经层算法,神经层算法所产生的中间结果分配到神经层模块中的中间结果缓冲区;
S302提交:指定神经层模块的输入位置和输出位置,提交到计算后端模块;计算后端模块在适时执行算法,计算输出结果。
进一步的是,所述计算后端模块的运行,包括步骤:
S401初始化:初始化当前系统平台中的所有可用计算资源信息,根据计算资源信息初始化所有运行于该平台的计算后端实现;
S402计算设备选择:向神经层模块提供当前平台上的计算资源信息,并执行相应算法;
S403计算队列创建:在指定的计算设备上创建执行队列;
S404内存分配:在指定的计算设备上创建缓冲区,以及在不同的设备间同步缓冲区内容;
S405算法提取:向神经层模块提供指定设备上的算法实现。
另一方面,本发明还提供了一种深度神经网络的计算执行系统,包括神经网络模块、神经层模块和计算后端模块;
所述神经网络模块,包括各种类型的神经层模块,用于描述和执行深度神经网络;
所述神经层模块,对应深度神经网络中的隐藏层概念,按不同的功能与实现算法,分为多种不同类型的神经层模块;由计算后端模块中的算法实现,为计算后端模块提供参数,供计算后端模块生成中间结果;
所述计算后端模块,包括后端上下文、计算设备描述、执行队列、后端内存管理器和后端算法管理器,用于执行神经层算法并输出结果。
采用本技术方案的有益效果:
1.通过计算后端模块的设置,提供统一而简洁的计算资源管理功能,让神经层的具体实现简洁且统一;
2.能够在不同的平台上使用不同的计算后端,达到优秀的跨平台(跨操作系统,跨GPU/CPU,兼容各种通用计算接口)能力;
3.在同一个神经网络中,不同的神经层可以工作在不同的计算后端中,达到计算资源的最大化利用,即CPU与GPU的混合计算;
4.提供高效的任务执行管理系统,神经层提交到计算后端的执行队列中的各个任务,可以得到最适当规模的并发执行;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都品果科技有限公司,未经成都品果科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710567232.9/2.html,转载请声明来源钻瓜专利网。