CN109740725A - 神经网络模型运行方法及装置、以及存储介质 - Google Patents

神经网络模型运行方法及装置、以及存储介质 Download PDF

Info

Publication number
CN109740725A
CN109740725A CN201910073661.XA CN201910073661A CN109740725A CN 109740725 A CN109740725 A CN 109740725A CN 201910073661 A CN201910073661 A CN 201910073661A CN 109740725 A CN109740725 A CN 109740725A
Authority
CN
China
Prior art keywords
neural network
mode
forward calculation
network model
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910073661.XA
Other languages
English (en)
Inventor
孙智
陀健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201910073661.XA priority Critical patent/CN109740725A/zh
Publication of CN109740725A publication Critical patent/CN109740725A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种神经网络模型运行方法及装置、以及存储介质。其中,该方法包括:根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式,其中,前向计算框架设置有至少一种计算模式,用于运行神经网络模型;根据目标计算模式在前向计算框架中运行待运行神经网络模型。本发明解决了由于相关技术中只包含前向计算功能的计算框架硬件兼容性差,计算速度慢,而导致神经网络训练模型运行效率低的技术问题。

Description

神经网络模型运行方法及装置、以及存储介质
技术领域
本发明涉及神经网络领域,具体而言,涉及一种神经网络模型运行方法及装置、以及存储介质。
背景技术
现在的深度学习计算框架有两类,一类是同时包括反向传播和前向计算功能的计算框架,目前此类框架数量少,复杂度高,主要有Tensorflow、Caffe、MxNet、PyTorch等。另一类是只包含前向计算功能的计算框架,不包括反向传播功能,无法用来训练模型,主要是用于实际产品中部署模型并提供相应的前向计算功能。
同时具有反向传播和前向计算功能的框架如Tensorflow、Caffe、MxNet、PyTorch等功能复杂,灵活性很高,可以用于训练网络模型,也可用于部署模型。
只包含前向计算功能的计算框架有NCNN、FeatherCNN、MACE、CoreML等。其中NCNN和FeatherCNN仅支持CPU计算,主要针对移动端CPU进行优化,在PC端速度较慢,MACE支持移动端CPU和GPU、DSP计算,PC端仅支持Linux系统,且无其他优化。
Tensorflow、Caffe、MxNet、PyTorch等框架功能复杂,硬件兼容性差,使用GPU进行计算时只能使用CUDA库,而CUDA库仅支持英伟达一家生产的显卡。部署到客户端时,这些框架体积庞大,占用较大的存储空间,计算速度也较慢。
NCNN和FeatherCNN仅支持CPU计算,主要针对移动端CPU进行优化,在PC端速度较慢,MACE支持移动端CPU和GPU、DSP计算,PC端仅支持Linux系统,且无其他优化。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种神经网络模型运行方法及装置、以及存储介质,以至少解决由于相关技术中只包含前向计算功能的计算框架硬件兼容性差,计算速度慢,而导致神经网络训练模型运行效率低的技术问题。
根据本发明实施例的一个方面,提供了一种神经网络模型运行方法,包括:根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式,其中,所述前向计算框架设置有至少一种计算模式,用于运行神经网络模型;根据所述目标计算模式在所述前向计算框架中运行所述待运行神经网络模型。
进一步地,所述前向计算框架中设置有以下至少一种计算模式:CPU模式、DirectX模式、OpenCL模式。
进一步地,根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式包括:获取所述前向计算框架的软件环境参数以及硬件环境参数;根据所述软件环境参数以及所述硬件环境参数与所述前向计算框架中的计算模式进行匹配;根据匹配结果确定对应的目标计算模式。
进一步地,所述前向计算框架中设置有通用层,其中:所述通用层中包括与所述待运行神经网络模型对应的至少一个计算层,所述至少一个计算层中包括与所述计算模式对应的计算核心,其中,所述计算核心中包括所述计算层对应的计算层参数。
进一步地,根据所述计算模式在所述前向计算框架中运行所述待运行神经网络模型包括:基于所述计算模式根据各个所述计算层之间的关联关系依次调用所述计算层中的计算层参数;根据所述计算层参数对所述待运行神经网络模型的输入数据进行预处理;根据所述待运行神经网络模型的权重参数对经过预处理的输入数据进行计算,得到计算结果;根据所述关联关系将所述计算结果输出至相邻计算层。
进一步地,在所述前向计算框架的访问接口设置有预设计算模式的情况下,在根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式之前,所述方法还包括:根据所述软件环境和硬件环境判断是否符合预设环境条件;在所述软件环境和硬件环境符合所述预设环境条件的情况下,调用预设计算模式。
进一步地,所述前向计算框架还包括内存池管理器,所述内存池管理器用于根据各个所述计算层之间关系对内存进行分配或回收。
根据本发明实施例的另一方面,还提供了一种神经网络模型运行装置,包括:确定单元,用于根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式,其中,所述前向计算框架设置有至少一种计算模式,用于运行神经网络模型;运行单元,用于根据所述目标计算模式在所述前向计算框架中运行所述待运行神经网络模型。
进一步地,所述运行单元包括:获取模块,用于获取所述前向计算框架的软件环境参数以及硬件环境参数;匹配模块,用于根据所述软件环境参数以及所述硬件环境参数与所述前向计算框架中的计算模式进行匹配;确定模块,用于根据匹配结果确定对应的目标计算模式。
根据本发明实施例的另一方面,还提供了一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如上所述的神经网络模型运行方法。
在本发明实施例中,根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式,根据目标计算模式在前向计算框架中运行待运行神经网络模型,从而实现了提高只包含前向计算框架的兼容性以及计算性能的技术效果,进而解决了由于相关技术中只包含前向计算功能的计算框架硬件兼容性差,计算速度慢,而导致神经网络训练模型运行效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的神经网络模型运行方法的示意图;
图2是根据本发明实施例的一种可选的通用层的示意图;
图3是根据本发明实施例的一种可选的前向计算框架架构示意图的示意图;
图4是根据本发明实施例的一种可选的神经网络模型运行装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在介绍本实施例的技术方案之前,首先对本实施例中的前向计算框架进行说明,本实施例中的前向计算框架为仅包含前向计算功能的计算框架,其不具备反向传播功能。本实施例的技术方案针对仅具备前向计算功能的计算框架进行优化,以提高前向计算框架的兼容性和计算速度。
根据本发明实施例,提供了一种神经网络模型运行方法,如图1所示,该方法包括:
S102,根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式,其中,前向计算框架设置有至少一种计算模式,用于运行神经网络模型;
S104,根据目标计算模式在前向计算框架中运行待运行神经网络模型。
本实施例的技术方案的应用场景包括但不限于移动终端(如智能手机)、PC机以及其他设备,不同的设备中的处理能力以及处理部件均不相同,具体基于实际的。适用的计算系统包括但不限于Windows、Linux、Android、iOS等等。
具体的,神经网络模型一般都是预先训练好的,用于在前向计算框架中运行(也可以称之为部署),在运行之前,根据前向计算框架所在设备的软件环境和硬件环境确定待运行神经网络模型的目标计算模式,在确定了与前向计算框架的软件环境和硬件环境匹配的目标计算模式,通过目标计算模式在前向计算框架中运行待运行神经网络模型。
需要说明的是,通过本实施例,根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式,根据目标计算模式在前向计算框架中运行待运行神经网络模型,从而实现了提高只包含前向计算框架的兼容性以及计算性能的技术效果。
可选地,在本实施例中,前向计算框架中设置有以下至少一种计算模式:CPU模式、DirectX模式、OpenCL模式。需要说明的是,在不同的软件环境和硬件环境中,前向计算框架中包含的计算模式种类也会不同,具体的可以根据实际经验进行设置。
可选地,在本实施例中,根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式包括但不限于:获取前向计算框架的软件环境参数以及硬件环境参数;根据软件环境参数以及硬件环境参数与前向计算框架中的计算模式进行匹配;根据匹配结果确定对应的目标计算模式。
在一个例子中,前向计算框架的软件环境为Windows系统,硬件环境为处理器为Intel酷睿i5 8400,其CPU主频为2.8GHz,最大睿频为4GHz,根据该前向计算框架中的硬件环境中i5 8400处理器,确定对应的目标计算模式为CPU计算模式。
在另一个例子中,优选地,软件环境参数以及硬件环境参数可以是软件环境以及硬件环境的评价数值,例如,设置前向计算框架的软件环境参数为:Linux系统的软件环境参数为A,Windows系统的软件环境参数为B,Android系统的软件环境参数为C,iOS系统的软件环境参数为D;而硬件环境参数根据硬件的配置设置参数范围为1~3,数值越大则表示硬件性能越好。获取前向计算框架的软件环境为Linux系统,则该软件环境参数为1,表示Linux系统,而根据其硬件环境得到硬件环境参数为3,即表示硬件性能较好,则可以基于该软件环境参数以及硬件环境参数进行计算模式的匹配,用于获取适合前向计算框架的软件环境和硬件环境的目标计算模式。
在实际的应用场景中,并不限于对前向计算框架的软件环境以及硬件环境量化为软件环境参数以及硬件环境参数,以进行计算模式的匹配。同时也可以如上述例子中基于前向计算框架的软件环境参数和硬件环境参数来确定计算模式。也就是说,在本实施例中,软件环境参数以及硬件环境参数可以是软件环境以及硬件环境的评价数值,用于评价前向计算框架的运行环境优劣,同时也可以是实际的软件配置参数和硬件配置参数,用于根据实际的配置参数进行匹配对应的目标计算模式。
可选的,在本实施例中,前向计算框架中设置有通用层,其中:通用层中包括与待运行神经网络模型对应的至少一个计算层,至少一个计算层中包括与计算模式对应的计算核心,其中,计算核心中包括计算层对应的计算层参数。
如图2所示,为本实施例中提出的一种前向计算框架中通用层架构示意图,在该前向计算框架中设置有访问接口,通用层中抽象有多个计算层,每个计算层中包含与多个计算模式对应的计算层核心,计算层核心是特定计算模式下特定计算操作的具体实现。例如,计算层1是卷积层、计算层2是池化层,计算层3是批归一化层。其中,计算层的分布是根据待运行神经网络模型确定的。
具体的,图2所示的通用层模块抽象了各种类型的计算层(例如卷积层、批归一化层等)的基本计算逻辑。每个计算层主要包括数据准备、数据计算、数据后处理、结果分发这四个部分。其中数据后处理、结果分发在该计算层提供默认的功能实现。实现不同计算操作的计算层(如图2中的计算层1、计算层2等)管理不同计算操作(如卷积、批归一化等)所需的各种参数,对同一种计算操作,CPU模式、DirectX模式、OpenCL模式具有一些共同的参数,如卷积层具有卷积核宽度、高度等参数。特定的计算层核心是特定计算模式下特定计算操作的具体实现,如计算核心1(DirectX)实现了计算层1对应的计算操作的DirectX版本实现。
可选的,在本实施例中,根据计算模式在前向计算框架中运行待运行神经网络模型包括但不限于:基于计算模式根据各个计算层之间的关联关系依次调用计算层中的计算层参数;根据计算层参数对待运行神经网络模型的输入数据进行预处理;根据待运行神经网络模型的权重参数对经过预处理的输入数据进行计算,得到计算结果;根据关联关系将计算结果输出至相邻计算层。
具体的,以卷积层DirectX计算核心的实现为例。模型加载时,卷积层创建一块Buffer(缓存),并将权重参数复制到该Buffer中,当前向计算运行到该计算层时,该计算层先进行数据准备,即根据卷积核的宽度和高度对输入数据进行边缘填充。然后进行数据计算,调用HLSL(高阶着色器语言)编写的卷积着色器进行卷积计算。接下来进行数据后处理,使用通用层提供的默认实现,调用HLSL编写的偏移着色器,对数据计算的结果进行偏移计算。最后进行结果分发,使用前述的通用层的默认实现,将计算结果复制到多个输出目标,输出目标为计算层的输入Buffer的子Buffer。然后进行下一个计算层的计算,当所有计算层完成计算,则从最后的输出Buffer取出结果,完成整个前向计算的过程。
而在另一个例子中,在OpenCL计算模式的计算核心实现中,同样以卷积层OpenCL计算核心为例,首先使用clCreateBuffer创建一块Buffer,将权重参数保存到该Buffer中,当前向计算运行到该计算层时,调用C语言编写的Convolution Kernel进行卷积计算。接下来进行后续处理,使用通用层提供的默认实现,调用Bias Kernel进行偏移计算。在对结果进行分发时,将结果直接写入到下一计算层的输入Buffer的子Buffer,子Buffer通过clCreateSubBuffer创建,本身不占用显存,只是复用下一计算层的输入Buffer所占用的显存。全部计算指令提交到GPU后,使用clFinish阻塞以确保所有计算均已完成,然后从显存中取出结果,完成前向计算。
可选的,在本实施例中,在前向计算框架的访问接口设置有预设计算模式的情况下,在根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式之前,方法还包括但不限于:根据软件环境和硬件环境判断是否符合预设环境条件;在软件环境和硬件环境符合预设环境条件的情况下,调用预设计算模式。
具体的,如图3所示的前向计算框架架构示意图,该前向计算框架中包括访问接口、通用层以及深度学习网络模块,其中,深度学习网络模块主要包括模型管理功能,软件硬件环境检测、初始化、管理与修改等功能,该模块提供了计算设备和模式的切换功能,若外部程序通过访问接口设置了计算模式(如DirectX计算模式),则该模块在模型初始化前会检测软硬件环境是否满足条件,若不满足条件,则会自动切换到CPU的SIMD加速计算模式,若CPU不支持SIMD加速模式所需的指令集,则切换到CPU的普通计算模式,这样保证了计算框架在保证良好的软硬件环境兼容性的同时,自动选择最快的计算模式。
可选的,在本实施例中,前向计算框架还包括内存池管理器,内存池管理器用于根据各个计算层之间关系对内存进行分配或回收。
具体的,如图3所示,以前向框架中的目标计算模式为CPU计算模式为例进行说明,针对CPU计算模式采用SIMD技术,充分利用CPU支持的指令集,加快计算速度。CPU计算模式下,输入数据所需的内存均向内存池管理器申请,当前计算层完成结果分发后,输入数据所占用内存返还给内存池管理器。其中,内存池管理器还提供高效的内存分配/回收机制,相比计算时临时申请和释放内存,使用内存池大大减少了内存申请、释放操作,提高了计算速度。而相比相关技术中针对全部计算层做内存的预分配,使用内存池管理器大大减少了内存占用,同时计算速度没有受到影响。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例,还提供了一种用于实施上述神经网络模型运行方法的神经网络模型运行装置,如图4所示,该装置包括:
1)确定单元40,用于根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式,其中,所述前向计算框架设置有至少一种计算模式,用于运行神经网络模型;
2)运行单元42,用于根据所述目标计算模式在所述前向计算框架中运行所述待运行神经网络模型。
可选地,在本实施例中,所述运行单元42包括:
1)获取模块,用于获取所述前向计算框架的软件环境参数以及硬件环境参数;
2)匹配模块,用于根据所述软件环境参数以及所述硬件环境参数与所述前向计算框架中的计算模式进行匹配;
3)确定模块,用于根据匹配结果确定对应的目标计算模式。
可选地,本实施例中的具体示例可以参考上述实施例1中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种存储介质。可选地,在所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如上所述的神经网络模型运行方法。
可选地,在本实施例中,上述存储介质可以位于前向计算框架所在的终端或设备中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式,其中,所述前向计算框架设置有至少一种计算模式,用于运行神经网络模型;
S2,根据所述目标计算模式在所述前向计算框架中运行所述待运行神经网络模型。
可选地,存储介质还被设置为存储用于执行上述实施例1中的方法中所包括的步骤的程序代码,本实施例中对此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种神经网络模型运行方法,其特征在于,包括:
根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式,其中,所述前向计算框架设置有至少一种计算模式,用于运行神经网络模型;
根据所述目标计算模式在所述前向计算框架中运行所述待运行神经网络模型。
2.根据权利要求1所述的方法,其特征在于,所述前向计算框架中设置有以下至少一种计算模式:
CPU模式、DirectX模式、OpenCL模式。
3.根据权利要求1或2所述的方法,其特征在于,根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式包括:
获取所述前向计算框架的软件环境参数以及硬件环境参数;
根据所述软件环境参数以及所述硬件环境参数与所述前向计算框架中的计算模式进行匹配;
根据匹配结果确定对应的目标计算模式。
4.根据权利要求1所述的方法,其特征在于,所述前向计算框架中设置有通用层,其中:
所述通用层中包括与所述待运行神经网络模型对应的至少一个计算层,所述至少一个计算层中包括与所述计算模式对应的计算核心,其中,所述计算核心中包括所述计算层对应的计算层参数。
5.根据权利要求4所述的方法,其特征在于,根据所述计算模式在所述前向计算框架中运行所述待运行神经网络模型包括:
基于所述计算模式根据各个所述计算层之间的关联关系依次调用所述计算层中的计算层参数;
根据所述计算层参数对所述待运行神经网络模型的输入数据进行预处理;
根据所述待运行神经网络模型的权重参数对经过预处理的输入数据进行计算,得到计算结果;
根据所述关联关系将所述计算结果输出至相邻计算层。
6.根据权利要求1所述的方法,其特征在于,在所述前向计算框架的访问接口设置有预设计算模式的情况下,在根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式之前,所述方法还包括:
根据所述软件环境和硬件环境判断是否符合预设环境条件;
在所述软件环境和硬件环境符合所述预设环境条件的情况下,调用预设计算模式。
7.根据权利要求4所述的方法,其特征在于,所述前向计算框架还包括内存池管理器,所述内存池管理器用于根据各个所述计算层之间关系对内存进行分配或回收。
8.一种神经网络模型运行装置,其特征在于,包括:
确定单元,用于根据前向计算框架的软件环境和硬件环境确定待运行神经网络模型的目标计算模式,其中,所述前向计算框架设置有至少一种计算模式,用于运行神经网络模型;
运行单元,用于根据所述目标计算模式在所述前向计算框架中运行所述待运行神经网络模型。
9.根据权利要求8所述的装置,其特征在于,所述运行单元包括:
获取模块,用于获取所述前向计算框架的软件环境参数以及硬件环境参数;
匹配模块,用于根据所述软件环境参数以及所述硬件环境参数与所述前向计算框架中的计算模式进行匹配;
确定模块,用于根据匹配结果确定对应的目标计算模式。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至7中任一项所述的神经网络模型运行方法。
CN201910073661.XA 2019-01-25 2019-01-25 神经网络模型运行方法及装置、以及存储介质 Pending CN109740725A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910073661.XA CN109740725A (zh) 2019-01-25 2019-01-25 神经网络模型运行方法及装置、以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910073661.XA CN109740725A (zh) 2019-01-25 2019-01-25 神经网络模型运行方法及装置、以及存储介质

Publications (1)

Publication Number Publication Date
CN109740725A true CN109740725A (zh) 2019-05-10

Family

ID=66366063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910073661.XA Pending CN109740725A (zh) 2019-01-25 2019-01-25 神经网络模型运行方法及装置、以及存储介质

Country Status (1)

Country Link
CN (1) CN109740725A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674923A (zh) * 2019-08-15 2020-01-10 山东领能电子科技有限公司 一种多神经网络框架间的快速模型验证方法
CN111144571A (zh) * 2019-12-20 2020-05-12 深圳市金溢科技股份有限公司 一种深度学习推理运算方法及中间件
CN111210005A (zh) * 2019-12-31 2020-05-29 Oppo广东移动通信有限公司 设备运行方法、装置、存储介质及电子设备
CN111752870A (zh) * 2020-05-28 2020-10-09 苏州浪潮智能科技有限公司 一种基于神经网络的服务器接口的兼容方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107544794A (zh) * 2016-06-28 2018-01-05 华为技术有限公司 程序信息的处理方法和装置
CN108256636A (zh) * 2018-03-16 2018-07-06 成都理工大学 一种基于异构计算的卷积神经网络算法设计实现方法
CN108694081A (zh) * 2017-04-09 2018-10-23 英特尔公司 用于机器学习的快速数据操作和有限状态机
CN108710941A (zh) * 2018-04-11 2018-10-26 杭州菲数科技有限公司 用于电子设备的神经网络模型的硬加速方法和装置
CN108764466A (zh) * 2018-03-07 2018-11-06 东南大学 基于现场可编程门阵列的卷积神经网络硬件及其加速方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107544794A (zh) * 2016-06-28 2018-01-05 华为技术有限公司 程序信息的处理方法和装置
CN108694081A (zh) * 2017-04-09 2018-10-23 英特尔公司 用于机器学习的快速数据操作和有限状态机
CN108764466A (zh) * 2018-03-07 2018-11-06 东南大学 基于现场可编程门阵列的卷积神经网络硬件及其加速方法
CN108256636A (zh) * 2018-03-16 2018-07-06 成都理工大学 一种基于异构计算的卷积神经网络算法设计实现方法
CN108710941A (zh) * 2018-04-11 2018-10-26 杭州菲数科技有限公司 用于电子设备的神经网络模型的硬加速方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
B.E. BOSER等: "Hardware requirements for neural network pattern classifiers: a case study and implementation", 《IEEE MICRO》 *
INSIDE_ZHANG: "【matlab】GPU 显卡版本与计算能力(compute capability)兼容性问题", 《HTTPS://BLOG.CSDN.NET/LANCHUNHUI/ARTICLE/DETAILS/64992519》 *
李倩: "一个被称为"模式自适应神经网络"的新神经网络架构", 《HTTP://M.ELECFANS.COM/ARTICLE/689120.HTML》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110674923A (zh) * 2019-08-15 2020-01-10 山东领能电子科技有限公司 一种多神经网络框架间的快速模型验证方法
CN111144571A (zh) * 2019-12-20 2020-05-12 深圳市金溢科技股份有限公司 一种深度学习推理运算方法及中间件
CN111144571B (zh) * 2019-12-20 2023-09-05 深圳市金溢科技股份有限公司 一种深度学习推理运算方法及中间件
CN111210005A (zh) * 2019-12-31 2020-05-29 Oppo广东移动通信有限公司 设备运行方法、装置、存储介质及电子设备
CN111210005B (zh) * 2019-12-31 2023-07-18 Oppo广东移动通信有限公司 设备运行方法、装置、存储介质及电子设备
CN111752870A (zh) * 2020-05-28 2020-10-09 苏州浪潮智能科技有限公司 一种基于神经网络的服务器接口的兼容方法及系统

Similar Documents

Publication Publication Date Title
EP3754495B1 (en) Data processing method and related products
CN109740725A (zh) 神经网络模型运行方法及装置、以及存储介质
US11847554B2 (en) Data processing method and related products
CN113377540A (zh) 集群资源调度方法及装置、电子设备和存储介质
CN104850866B (zh) 基于SoC-FPGA的自重构K-means聚类技术实现方法
CN109901878A (zh) 一种类脑计算芯片及计算设备
CN107958285A (zh) 面向嵌入式系统的神经网络的映射方法及装置
CN111371616B (zh) 一种面向numa架构服务器的虚拟网络功能链部署方法和系统
CN109711539A (zh) 运算方法、装置及相关产品
CN108776833B (zh) 一种数据处理方法、系统及计算机可读存储介质
Xu et al. Automatic cross-replica sharding of weight update in data-parallel training
CN114154641A (zh) Ai模型的训练方法、装置、计算设备和存储介质
Vidal et al. Solving optimization problems using a hybrid systolic search on GPU plus CPU
CN106600054A (zh) 基于mic卡的人工鱼群算法并行处理tsp问题的方法及装置
CN108427584A (zh) 快速启动的具有并行计算核的芯片及该芯片的配置方法
US20220114137A1 (en) Methods, apparatus, and articles of manufacture to generate command lists to be offloaded to accelerator circuitry
CN113469326B (zh) 在神经网络模型中执行剪枝优化的集成电路装置及板卡
CN115617502A (zh) 用于数据增强自动模型生成的方法和设备
Ho et al. Towards FPGA-assisted spark: An SVM training acceleration case study
CN112633516A (zh) 性能预测和机器学习编译优化方法及装置
CN112884066A (zh) 数据处理方法及装置
KR20220113873A (ko) 소프트웨어 모듈 개발을 위한 시스템
CN107817969B (zh) 一种程序生成方法、装置及计算机系统
CN110020336A (zh) 遮罩层控制方法及装置
WO2022125133A1 (en) Program execution strategies for heterogeneous computing systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190510