CN110298437B - 神经网络的分割计算方法、装置、存储介质及移动终端 - Google Patents
神经网络的分割计算方法、装置、存储介质及移动终端 Download PDFInfo
- Publication number
- CN110298437B CN110298437B CN201910580197.3A CN201910580197A CN110298437B CN 110298437 B CN110298437 B CN 110298437B CN 201910580197 A CN201910580197 A CN 201910580197A CN 110298437 B CN110298437 B CN 110298437B
- Authority
- CN
- China
- Prior art keywords
- sub
- neural network
- networks
- network
- processing unit
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Image Analysis (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例公开了一种神经网络的分割计算方法、装置、存储介质及移动终端,本申请实施例获取目标神经网络模型的网络结构,以及对应的配置参数,配置参数中包含目标神经网络模型的网络层在多个预设处理单元上的第一运算时长;根据网络结构,将目标神经网络模型划分为能够并行和/或串行运算的多个子网络,子网络包括属于同一网络支路的网络层;根据配置参数,计算子网络在预设处理单元上运算时需要的第二运算时长;根据子网络在预设处理单元上运算时需要的第二运算时长,为子网络分配对应的预设处理单元,以使目标神经网络模型具有最小总运算时长,使得模型以尽可能快的速度进行运算,提升神经网络模型的计算效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种神经网络的分割计算方法、装置、存储介质及移动终端。
背景技术
随着深度学习算法和大数据的不断发展,AI(Artificial Intelligence,人工智能)已近逐渐渗透到各行各业,展示了其强大的优势。AI依赖于大数据、大模型以及深度学习算法,除此以外,AI算法的实现还依赖于计算平台的硬件,比如内存、CPU、GPU等硬件。
如果要将深度学习、神经网络等相关算法部署到手机等移动端平台,则需要适用于移动终端平台的深度学习框架,对于移动终端平台的深度学习框架来说,如何提高神经网络模型在移动终端上的计算效率是亟需解决的技术问题。
发明内容
本申请实施例提供一种神经网络的分割计算方法、装置、存储介质及移动终端,能够提高神经网络模型的计算效率。
第一方面,本申请实施例提供一种神经网络的分割计算方法,包括:
获取目标神经网络模型的网络结构,以及对应的配置参数,其中,所述配置参数中包含所述目标神经网络模型的网络层在多个预设处理单元上的第一运算时长;
根据所述网络结构,将所述目标神经网络模型划分为能够并行和/或串行运算的多个子网络,其中,所述子网络包括属于同一网络支路的网络层;
根据所述配置参数,计算所述子网络在所述预设处理单元上运算时需要的第二运算时长;
根据所述子网络在所述预设处理单元上运算时需要的第二运算时长,为所述子网络分配对应的预设处理单元,以使所述目标神经网络模型具有最小总运算时长。
第二方面,本申请实施例提供一种神经网络的分割计算装置,包括:
获取模块,用于获取目标神经网络模型的网络结构,以及对应的配置参数,其中,所述配置参数中包含所述目标神经网络模型的网络层在多个预设处理单元上的第一运算时长;
分割模块,用于根据所述网络结构,将所述目标神经网络模型划分为能够并行和/或串行运算的多个子网络,其中,所述子网络包括属于同一网络支路的网络层;
计算模块,用于根据所述配置参数,计算所述子网络在所述预设处理单元上运算时需要的第二运算时长;
分配模块,用于根据所述子网络在所述预设处理单元上运算时需要的第二运算时长,为所述子网络分配对应的预设处理单元,以使所述目标神经网络模型具有最小总运算时长。
第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如本申请任一实施例提供的神经网络的分割计算方法。
第四方面,本申请实施例提供一种移动终端,包括处理器和存储器,所述存储器有计算机程序,所述处理器通过调用所述计算机程序,用于执行如本申请任一实施例提供的神经网络的分割计算方法。
本申请实施例提供的技术方案,获取目标神经网络模型的网络结构,以及该模型对应的配置参数,该配置参数中包含有该目标神经网络模型的网络层在多个预设处理单元上的第一运算时长,根据网络结构将目标神经网络模型划分为能够并行和/或串行运算的多个子网络,一个子网络包括属于同一网络支路的网络层。根据配置参数,计算子网络在预设处理单元上运算时需要的第二运算时长,然后根据子网络在预设处理单元上运算时需要的第二运算时长,为子网络分配对应的预设处理单元,以使目标神经网络模型具有最小总运算时长。通过本方案,在使用目标神经网络模型进行运算之前,可以根据网络层在计算时需要的第一运算时长,计算出模型中各个子网络计算需要的第二运算时长,从而将能够将并行和/或串行运算的多个子网络分配到多个预设处理单元上运算,使得模型以尽可能快的速度进行运算,提升神经网络模型的计算效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的神经网络的分割计算方法的第一种流程示意图。
图2为本申请实施例提供的神经网络的分割计算方法的第一种神经网络的结构示意图。
图3为本申请实施例提供的神经网络的分割计算方法的第二种神经网络的结构示意图。
图4为本申请实施例提供的神经网络的分割计算方法中神经网路分割示意图。
图5为本申请实施例提供的神经网络的分割计算方法的第二种流程示意图。
图6为本申请实施例提供的神经网络的分割计算装置的结构示意图。
图7为本申请实施例提供的移动终端的第一种结构示意图。
图8为本申请实施例提供的移动终端的第二种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例提供一种神经网络的分割计算方法,该神经网络的分割计算方法的执行主体可以是本申请实施例提供的神经网络的分割计算装置,或者集成了该神经网络的分割计算装置的移动终端,其中该神经网络的分割计算装置可以采用硬件或者软件的方式实现。其中,移动终端可以是智能手机、平板电脑、掌上电脑、笔记本电脑、或者台式电脑等设备。
请参阅图1,图1为本申请实施例提供的神经网络的分割计算方法的第一种流程示意图。本申请实施例提供的神经网络的分割计算方法的具体流程可以如下:
101、获取目标神经网络模型的网络结构,以及对应的配置参数,其中,所述配置参数中包含所述目标神经网络模型的网络层在多个预设处理单元上的第一运算时长。
神经网络(Neural Networks,NN)是由大量的、简单的神经元广泛地互相连接而形成的复杂网络系统。例如,卷积神经网络(Convolutional neural networks,简称CNN)、循环神经网络(Recurrent neural networks,简称RNN)、特征金字塔网络(Feature PyramidNetworks,简称FPN)、MobilenetSSD等等。神经网络一般包括多个相互连接的网络层,例如,包括输入层、输出层、以及输入层和输出层之间的多个中间层。通常根据实际应用需要,设置神经网络的层数,以及各个网络层中的参数。并使用样本数据训练神经网络,得到确定模型参数后的神经网络模型。
由于移动终端的硬件、内存等的局限性,一般会将经过训练的神经网络模型部署在移动终端上,可以直接根据需要进行应用,在应用过程中不需要再对模型进行训练并更新参数,也就是说,部署在移动终端上的神经网络模型具有固定的模型参数。
可以根据不同的应用场景的需要,在移动终端上部署多个神经网络模型。同时,移动终端还会根据需要设置多个处理单元,例如,CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)、DSP(Digital Signal Processor,数字信号处理器)、NPU(Neural-network Processing Unit,神经网络处理器)等。其中,每一个处理单元都可以进行神经网络模型的运算,例如,可以在上述任意一个处理单元上运算神经网络模型的全部网络层或者部分网络层。
但是,不同的处理单元具有不同的运算能力,同一个神经网络模型在不同的处理单元上运算时需要的运算时长是不同的。并且,随着移动终端硬件的发展,同一网络层在不同的处理单元上运算时需要的运算时长也是不同的。
例如,对于在一个神经网络模型中的一个卷积层Ci,其卷积核的大小为3×3,并且该卷积层的深度为96。假设移动终端有三个处理单元,分别为CPU、GPU、DSP。该卷积层在这三个处理单元上运算时,需要的运算时长是不同的。例如,运算时长分别为Convolution_i_CPU_200us、Convolution_i_GPU_80us,以及Convolution_i_DSP_50us。从上述数据可以看出,该卷积层Ci在DSP上的运算时长最短、运算速度最快。又例如,该神经网络模型中的一个池化层Ci+1在这三个处理单元上运算时,需要的运算时长分别为pooling_i+1_CPU_100us、pooling_i+1_GPU_60us,以及pooling_i+1_DSP_80us。从上述数据可以看出,该卷积层Ci在GPU上的运算时长最短、运算速度最快。
基于上述原理,可以预先统计神经网络模型中每个网络层在CPU、GPU、DSP、NPU上运算时分别需要的运算时长,根据统计出的运算时长生成配置文件,将该配置文件与该神经网络模型关联。
在该神经网络模型在移动终端上运算之前,可以获取上述配置文件,并根据配置文件中的配置参数,即神经网络模型中各网络层的运算时长,对神经网络模型的网络层进行预设处理单元的分配。其中,移动终端上能够支持神经网络模型的运算的处理单元都可以作为预设处理单元。
其中,当移动终端上有多个神经网络模型时,可以在移动终端处于空闲时,逐一对各个神经网络模型进行处理单元的分配。
例如,从多个神经网络模型中选择一个神经网络模型作为目标神经网络模型,获取与该目标神经网络模型关联的配置文件,从配置文件中获取配置参数,配置参数包含该目标神经网络模型中各个网络层的第一运算时长。
同时,获取该目标神经网络模型的网络结构。
102、根据所述网络结构,将所述目标神经网络模型划分为能够并行和/或串行运算的多个子网络,其中,所述子网络包括属于同一网络支路的网络层。
在获取到网络结构后,电子设备对网络结构进行分析,以将目标神经网络模型划分为多个能够并行和/或串行运算的多个子网络。
对于一些结构简单的神经网络来说,可能从输入层开始,直至输出层,是多个网络层依次连接,只有一个网络支路,不存在其他的网络支路。对于这样的网络结构,可以将神经网络模型分割为多个串行运算的多个子网络。请参阅图2,图2为本申请实施例提供的神经网络的分割计算方法的第一种神经网络的结构示意图。在划分该神经网络模型时,可以根据预设子网络容量将其划分为多个子网络,例如,预设子网络容量为10,即一个子网络中最多允许包含10个网络层,则每10个网络层划分为一个子网络,将最后剩余的数量少于10的多个网络层作为一个子网络。
或者,在其他实施例中的,“根据所述网络结构,将所述目标神经网络模型划分为多个能够并行和/或串行运算的多个子网络”之前,还包括:
判断所述网络结构中是否存在支路;
若存在支路,则根据所述网络结构,将所述目标神经网络模型划分为多个能够并行和/或串行运算的多个子网络;
若不存在支路,则根据所述配置参数,计算所述目标神经网络模型在各个预设处理单元上的第三运算时长;
将最小的第三运算时长对应的预设处理单元,与所述目标神经网络模型关联。
在该实施例中,将没有支路的神经网络模型作为一个整体,不进行网络分割,计算该神经网络模型在各个预设处理单元上的总运算时长,选择总运算时长最小的预设处理单元,分配给该神经网络模型。
而对于一些结构复杂的神经网络来说,可能在输入层与输出层之间存在并行的多个网络支路的情况。请参阅图3,图3为本申请实施例提供的神经网络的分割计算方法的第二种神经网络的结构示意图。该神经网络在第6个网络层之后,存在三个网络支路,分别为第一网络支路、第二网络支路和第三网络支路,并且这三个网络支路在倒数第6个网络层处汇合。
其中,在每一个网络支路中,网络层的运算结果只会在其所在的网络支路上使用,不需要传输到其他网络支路上。因此,可以将每一个支路作为一个子网络。请参阅图4,图4为本申请实施例提供的神经网络的分割计算方法中神经网路分割示意图。可以将网络发生分支之前的多个网络层作为一个子网络,将三个网络分支分别作为三个子网络,将分支合并之后的多个网络层作为一个子网络。如图4所示,按照这样的方式,可以将目标神经网络模型划分为5个子网络:第一子网络、第二子网络、第三子网络、第四子网络和第五子网络。其中,一个子网络在运算过程中只会在一个预设处理单元上运算,不会在多个预设处理单元之间切换。
103、根据所述配置参数,计算所述子网络在所述预设处理单元上运算时需要的第二运算时长。
接下来,以子网络为单位,计算每个子网路分别在各个预设处理单元上的第二运算时长。
请参阅图4,以第一子网络为例,该子网络在CPU上的第二运算时长TCPU1为其包含的六个网络层分别在CPU上的第一运算时长之和;该子网络在GPU上的第二运算时长TGPU1为其包含的六个网络层分别在GPU上的第一运算时长之和;该子网络在DSP上的第二运算时长TDSP1为其包含的六个网络层分别在DSP上的第一运算时长之和。按照同样的方式可以计算得到第二子网络、第三子网络、第四子网络和第五子网络在各个预设处理单元上运算时需要的第二运算时长。
上述五个子网络在CPU上的第二运算时长分别为:TCPU1、TCPU2、TCPU3、TCPU4、TCPU5。上述五个子网络在GPU上的第二运算时长分别为:TGPU1、TGPU2、TGPU3、TGPU4、TGPU5。上述五个子网络在DSP上的第二运算时长分别为:TDSP1、TDSP2、TDSP3、TDSP4、TDSP5。
104、根据所述子网络在所述预设处理单元上运算时需要的第二运算时长,为所述子网络分配对应的预设处理单元,以使所述目标神经网络模型具有最小总运算时长。
得到上述第二运算时长后,可以根据第二运算时长的大小为各个子网络分配预设处理单元。
可以根据子网络的并行和/或串行连接方式,确定出所有可能的处理单元分配模式,计算每一种处理单元分配模式下,目标神经网络模型的总运算时长。确定目标神经网络模型的总运算时长最小时的处理单元分配模式,作为目标处理单元分配模式,按照该目标处理单元分配模式为子网络分配对应的预设处理单元。
具体实施时,本申请不受所描述的各个步骤的执行顺序的限制,在不产生冲突的情况下,某些步骤还可以采用其它顺序进行或者同时进行。
由上可知,本申请实施例提供的神经网络的分割计算方法,获取目标神经网络模型的网络结构,以及该模型对应的配置参数,该配置参数中包含有该目标神经网络模型的网络层在多个预设处理单元上的第一运算时长,根据网络结构将目标神经网络模型划分为能够并行和/或串行运算的多个子网络,一个子网络包括属于同一网络支路的网络层。根据配置参数,计算子网络在预设处理单元上运算时需要的第二运算时长,然后根据子网络在预设处理单元上运算时需要的第二运算时长,为子网络分配对应的预设处理单元,以使目标神经网络模型具有最小总运算时长。通过本方案,在使用目标神经网络模型进行运算之前,可以根据网络层在计算时需要的第一运算时长,计算出模型中各个子网络计算需要的第二运算时长,从而将能够将并行和/或串行运算的多个子网络分配到多个预设处理单元上运算,使得模型以尽可能快的速度进行运算,提升神经网络模型的计算效率。
请参阅图5所示,图5为本申请实施例提供的神经网络的分割计算方法的第二种流程示意图。
在一些实施例中,“根据所述子网络在所述预设处理单元上运算时需要的第二运算时长,为所述子网络分配对应的预设处理单元,以使所述目标神经网络模型具有最小总运算时长”可以包括:
1041、根据所述多个子网络的连接关系,为所述多个子网络分配预设处理单元,得到多个处理单元分配模式;
1042、根据子网络分别在所述多个预设处理单元上运算时需要的第二运算时长,计算在各个所述处理单元分配模式下,所述目标神经网络模型的总运算时长;
1043、将具有最小总运算时长的处理单元分配模式,作为目标处理单元分配模式;
1044、根据所述目标处理单元分配模式为各个子网络分配预设处理单元,其中,当有至少两个子网络属于并列网络支路时,所述至少两个子网络具有不同的预设处理单元。
例如,请参阅图4,对于不具有其他并行子网络的第一子网络来说,可以选择min(TCPU1、TGPU1、TDSP1)对应的预设处理单元,分配给第一子网络。比如,在目标神经网络模型的配置文件中,为第一子网络添加为其分配的预设处理单元的标识。第二子网络可以按照同样的方式分配预设处理单元。其中,min()为取最小值运算。
对于并行运算的第二子网络、第三子网络、第四子网络来说,由于他们可以同时运算,互不影响,可以分配到不同的预设处理单元上。将三个预设处理单元分配给三个子网络,存在以下6中可能的处理单元分配模式。
第二子网络在CPU上运算、第三子网络在GPU上运算、第四子网络在DSP上运算;第二子网络在CPU上运算、第三子网络在DSP上运算、第四子网络在GPU上运算;第二子网络在GPU上运算、第三子网络在CPU上运算、第四子网络在DSP上运算;第二子网络在GPU上运算、第三子网络在DSP上运算、第四子网络在CPU上运算;第二子网络在DSP上运算、第三子网络在GPU上运算、第四子网络在CPU上运算;第二子网络在DSP上运算、第三子网络在CPU上运算、第四子网络在GPU上运算。
此外,当多个子网络并行运算时,只有三个子网络全部计算完才能进入下一网络层运算。因此,上述6种处理单元分配模式下,第二子网络、第三子网络、第四子网络全部运算完需要的运算时长分别为:max(TCPU2、TGPU3、TDSP4);max(TCPU2、TDSP3、TGPU4);max(TGPU2、TCPU3、TDSP4);max(TGPU2、TDSP3、TCPU4);max(TDSP2、TGPU3、TCPU4);max(TDSP2、TCPU3、TGPU4)。其中,max()为取最大值运算。当max()取最小值时,根据T的下标决定第二子网络、第三子网络、第四子网络分配到那个预设处理单元上。例如,假设max(TGPU2、TCPU3、TDSP4)最小,则将第二子网络分配到GPU上运算,将第三子网络分配到CPU上运算,将第四子网络分配到DSP上运算。
基于此,目标神经网络模型具有最小总运算时长,该最小总运算时长=min(TCPU1、TGPU1、TDSP1)+max(TGPU2、TCPU3、TDSP4)+min(TCPU5、TGPU5、TDSP5)。假设min(TCPU1、TGPU1、TDSP1)=TCPU1,min(TCPU5、TGPU5、TDSP5)=TGPU5,则目标神经网络模型的各个子网络的运算顺序为:先在CPU上运算第一子网络,然后同时在GPU上运算第二子网络、在CPU上运算第三子网络、在DSP上运算第四子网络,然后等第二子网络、第三子网络、第四子网络都运算完成后,在GPU上运算四五子网络。
可以理解的是,第五子网络的输入数据为第二子网络、第三子网络、第四子网络的输出数据,当第二子网络、第三子网络、第四子网络运算完成后,假设第五子网络分配在CPU上运行,则需要将第二子网络、第四子网络的输出数据分别从GPU、DSP上拷贝到CPU上,输入第五子网络进行运算。
确定每个子网络对应的预设处理单元后,在目标神经网络模型的配置文件中,为各个子网络添加为其分配的预设处理单元的标识。
此外,该实施例中,刚好三个预设处理单元对应三个网络支路。如果是移动终端上只有两个预设处理单元,则将三个网路支路的两个网络支路分配到一个预设处理单元上。其中,三个网路支路需要的总运算时长的计算方式是类似的,先规划出所有可能的处理单元分类模式,再计算各个模式下,三个网路支路需要的总运算时长,选择总运算时长最小的处理单元分类模式,进行预设处理单元的分配。其他的预设处理单元与并行的子网络数量不一致的情况,都可以按照同样的原理进行分配。
在一些实施例中,“根据所述子网络在所述预设处理单元上运算时需要的第二运算时长,为所述子网络分配对应的预设处理单元,以使所述目标神经网络模型具有最小总运算时长”之后,该方法还可以包括:当运行所述目标神经网络模型时,根据所述网络结构确定所述多个子网络的运算顺序;根据所述多个子网络的执行顺序,在为所述子网络分配的预设处理单元上运行所述子网络。
在运行目标神经网络模型时,可以从配置文件中获取各个子网络对应的预设处理单元的标识,以确定为各个子网络分配的预设处理单元,在为子网络分配的预设处理单元上对子网络进行运算。
在一些实施例中,获取目标神经网络模型的网络结构,以及对应的配置参数之前,还包括:获取输入数据,并将所述输入数据代入所述目标神经网络模型,在预设处理单元上进行运算;在所述目标神经网络模型的运算过程中,记录网络层在所述预设处理单元上的第一运算时长;根据每一所述网络层在所述多个预设处理单元上的所述第一运算时长,生成所述配置参数。
该实施例中,无需提前在移动终端的操作系统中配置固定的第一运算时长。而是在移动终端上的多个预设处理单元上,分别运行一次目标神经网络模型,记录各个网络层的第一运算时长,生成配置参数。在另外一些实施例中,还可以在操作系统中预先设置好配置参数。
在一些实施例中,获取输入数据,并将所述输入数据代入所述目标神经网络模型,在预设处理单元上进行运算之前,还包括:当检测到操作系统发生更新时,根据所述目标神经网络模型定义的数据类型,生成所述输入数据。该实施例中,每进行一次系统更新,则对配置参数进行一次更新。其中,可以根据目标神经网络模型要求的输入数据类型,随机生成输入数据,将随机生成的输入数据输入到目标神经网络模型进行运算。
在一实施例中还提供一种神经网络的分割计算装置。请参阅图6,图6为本申请实施例提供的神经网络的分割计算装置200的结构示意图。其中该神经网络的分割计算装置200应用于移动终端,该神经网络的分割计算装置200包括获取模块201、分割模块202、计算模块203以及分配模块204,如下:
获取模块201,用于获取目标神经网络模型的网络结构,以及对应的配置参数,其中,所述配置参数中包含所述目标神经网络模型的网络层在多个预设处理单元上的第一运算时长;
分割模块202,用于根据所述网络结构,将所述目标神经网络模型划分为能够并行和/或串行运算的多个子网络,其中,所述子网络包括属于同一网络支路的网络层;
计算模块203,用于根据所述配置参数,计算所述子网络在所述预设处理单元上运算时需要的第二运算时长;
分配模块204,用于根据所述子网络在所述预设处理单元上运算时需要的第二运算时长,为所述子网络分配对应的预设处理单元,以使所述目标神经网络模型具有最小总运算时长。
在一些实施例中,分配模块204还用于:
根据所述多个子网络的连接关系,为所述多个子网络分配预设处理单元,得到多个处理单元分配模式;
根据子网络分别在所述多个预设处理单元上运算时需要的第二运算时长,计算在各个所述处理单元分配模式下,所述目标神经网络模型的总运算时长;
将具有最小总运算时长的处理单元分配模式,作为目标处理单元分配模式;
根据所述目标处理单元分配模式为各个子网络分配预设处理单元,其中,当有至少两个子网络属于并列的网络支路时,将所述多个预设处理单元分配给所述至少两个子网络。
在一些实施例中,神经网络的分割计算装置还包括:
运算模块,用于当基于所述目标神经网络模型进行运算时,确定所述多个子网络的运算顺序;
以及,根据所述多个子网络的运算顺序,在为所述子网络分配的预设处理单元上对所述子网络进行运算,以完成所述目标神经网络模型的运算。
在一些实施例中,神经网络的分割计算装置还包括:
参数设置模块,用于:获取输入数据,并将所述输入数据代入所述目标神经网络模型,在预设处理单元上进行运算;
在所述目标神经网络模型的运算过程中,记录网络层在所述预设处理单元上的第一运算时长;
以及,根据每一所述网络层在所述多个预设处理单元上的所述第一运算时长,生成所述配置参数。
在一些实施例中,所述参数设置模块还用于:
当检测到操作系统发生更新时,根据所述目标神经网络模型定义的数据类型,生成所述输入数据。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
应当说明的是,本申请实施例提供的神经网络的分割计算装置与上文实施例中的神经网络的分割计算方法属于同一构思,在神经网络的分割计算装置上可以运行神经网络的分割计算方法实施例中提供的任一方法,其具体实现过程详见神经网络的分割计算方法实施例,此处不再赘述。
由上可知,本申请实施例提出的神经网络的分割计算装置,获取模块201获取目标神经网络模型的网络结构,以及该模型对应的配置参数,该配置参数中包含有该目标神经网络模型的网络层在多个预设处理单元上的第一运算时长,分割模块202根据网络结构将目标神经网络模型划分为能够并行和/或串行运算的多个子网络,一个子网络包括属于同一网络支路的网络层。计算模块203根据配置参数,计算子网络在预设处理单元上运算时需要的第二运算时长,然后根据分配模块204子网络在预设处理单元上运算时需要的第二运算时长,为子网络分配对应的预设处理单元,以使目标神经网络模型具有最小总运算时长。通过本方案,在使用目标神经网络模型进行运算之前,可以根据网络层在计算时需要的第一运算时长,计算出模型中各个子网络计算需要的第二运算时长,从而将能够将并行和/或串行运算的多个子网络分配到多个预设处理单元上运算,使得模型以尽可能快的速度进行运算,提升神经网络模型的计算效率。
本申请实施例还提供一种移动终端。所述移动终端可以是智能手机、平板电脑等设备。请参阅图7,图7为本申请实施例提供的移动终端的第一种结构示意图。移动终端300包括中央处理器301和存储器302。其中,中央处理器301与存储器302电性连接。移动终端还包括与中央处理器301和存储器302连接的图形处理器311,与中央处理器301、存储器302和图形处理器311连接的数字信号处理器321,以及与中央处理器301、存储器302、图形处理器311和数字信号处理器321连接的神经网络处理器331。
中央处理器301是移动终端300的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或调用存储在存储器302内的计算机程序,以及调用存储在存储器302内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。
存储器302可用于存储计算机程序和数据。存储器302存储的计算机程序中包含有可在处理器中执行的指令。计算机程序可以组成各种功能模块。中央处理器301通过调用存储在存储器302的计算机程序,从而执行各种功能应用以及数据处理。
图形处理器311、数字信号处理器321和神经网络处理器331可用于处理数据和运算,例如基于神经网络模型进行运算。
在本实施例中,移动终端300中的中央处理器301会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器302中,并由中央处理器301来运行存储在存储器302中的计算机程序,从而实现各种功能:
获取目标神经网络模型的网络结构,以及对应的配置参数,其中,所述配置参数中包含所述目标神经网络模型的网络层在多个预设处理单元上的第一运算时长;
根据所述网络结构,将所述目标神经网络模型划分为能够并行和/或串行运算的多个子网络,其中,所述子网络包括属于同一网络支路的网络层;
根据所述配置参数,计算所述子网络在所述预设处理单元上运算时需要的第二运算时长;
根据所述子网络在所述预设处理单元上运算时需要的第二运算时长,为所述子网络分配对应的预设处理单元,以使所述目标神经网络模型具有最小总运算时长。
在一些实施例中,请参阅图8,图8为本申请实施例提供的移动终端的第二种结构示意图。移动终端300还包括:射频电路303、显示屏304、控制电路305、输入单元306、音频电路307、传感器308以及电源309。其中,中央处理器301分别与射频电路303、显示屏304、控制电路305、输入单元306、音频电路307、传感器308以及电源309电性连接。
射频电路303用于收发射频信号,以通过无线通信与网络设备或其他移动终端进行通信。
显示屏304可用于显示由用户输入的信息或提供给用户的信息以及移动终端的各种图形用户接口,这些图形用户接口可以由图像、文本、图标、视频和其任意组合来构成。
控制电路305与显示屏304电性连接,用于控制显示屏304显示信息。
输入单元306可用于接收输入的数字、字符信息或用户特征信息(例如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。其中,输入单元306可以包括指纹识别模组。
音频电路307可通过扬声器、传声器提供用户与移动终端之间的音频接口。其中,音频电路307包括麦克风。所述麦克风与所述中央处理器301电性连接。所述麦克风用于接收用户输入的语音信息。
传感器308用于采集外部环境信息。传感器308可以包括环境亮度传感器、加速度传感器、陀螺仪等传感器中的一种或多种。
电源309用于给移动终端300的各个部件供电。在一些实施例中,电源309可以通过电源管理系统与中央处理器301逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管图8中未示出,移动终端300还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,移动终端300中的中央处理器301会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器302中,并由中央处理器301来运行存储在存储器302中的计算机程序,从而实现各种功能:
获取目标神经网络模型的网络结构,以及对应的配置参数,其中,所述配置参数中包含所述目标神经网络模型的网络层在多个预设处理单元上的第一运算时长;
根据所述网络结构,将所述目标神经网络模型划分为能够并行和/或串行运算的多个子网络,其中,所述子网络包括属于同一网络支路的网络层;
根据所述配置参数,计算所述子网络在所述预设处理单元上运算时需要的第二运算时长;
根据所述子网络在所述预设处理单元上运算时需要的第二运算时长,为所述子网络分配对应的预设处理单元,以使所述目标神经网络模型具有最小总运算时长。
在一些实施例中,当根据所述子网络在所述预设处理单元上运算时需要的第二运算时长,为所述子网络分配对应的预设处理单元,以使所述目标神经网络模型具有最小总运算时长时,中央处理器301执行:
根据所述多个子网络的连接关系,为所述多个子网络分配预设处理单元,得到多个处理单元分配模式;
根据子网络分别在所述多个预设处理单元上运算时需要的第二运算时长,计算在各个所述处理单元分配模式下,所述目标神经网络模型的总运算时长;
将具有最小总运算时长的处理单元分配模式,作为目标处理单元分配模式;
根据所述目标处理单元分配模式为各个子网络分配预设处理单元,其中,当有至少两个子网络属于并列的网络支路时,将所述多个预设处理单元分配给所述至少两个子网络。
在一些实施例中,根据所述子网络在所述预设处理单元上运算时需要的第二运算时长,为所述子网络分配对应的预设处理单元,以使所述目标神经网络模型具有最小总运算时长之后,中央处理器301执行:
当基于所述目标神经网络模型进行运算时,确定所述多个子网络的运算顺序;
根据所述多个子网络的运算顺序,在为所述子网络分配的预设处理单元上对所述子网络进行运算,以完成所述目标神经网络模型的运算。
在一些实施例中,获取目标神经网络模型的网络结构,以及对应的配置参数之前,中央处理器301执行:
获取输入数据,并将所述输入数据代入所述目标神经网络模型,在预设处理单元上进行运算;
在所述目标神经网络模型的运算过程中,记录网络层在所述预设处理单元上的第一运算时长;
根据每一所述网络层在所述多个预设处理单元上的所述第一运算时长,生成所述配置参数。
在一些实施例中,获取输入数据,并将所述输入数据代入所述目标神经网络模型,在预设处理单元上进行运算之前,中央处理器301执行:
当检测到操作系统发生更新时,根据所述目标神经网络模型定义的数据类型,生成所述输入数据。
由上可知,本申请实施例提供了一种移动终端,所述移动终端获取目标神经网络模型的网络结构,以及该模型对应的配置参数,该配置参数中包含有该目标神经网络模型的网络层在多个预设处理单元上的第一运算时长,根据网络结构将目标神经网络模型划分为能够并行和/或串行运算的多个子网络,一个子网络包括属于同一网络支路的网络层。根据配置参数,计算子网络在预设处理单元上运算时需要的第二运算时长,然后根据子网络在预设处理单元上运算时需要的第二运算时长,为子网络分配对应的预设处理单元,以使目标神经网络模型具有最小总运算时长。通过本方案,在使用目标神经网络模型进行运算之前,可以根据网络层在计算时需要的第一运算时长,计算出模型中各个子网络计算需要的第二运算时长,从而将能够将并行和/或串行运算的多个子网络分配到多个预设处理单元上运算,使得模型以尽可能快的速度进行运算,提升神经网络模型的计算效率。
本申请实施例还提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,所述计算机执行上述任一实施例所述的神经网络的分割计算方法。
需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可以存储于计算机可读存储介质中,所述存储介质可以包括但不限于:只读存储器(ROM,Read OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
此外,本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
以上对本申请实施例所提供的神经网络的分割计算方法、装置、存储介质及移动终端进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种神经网络的分割计算方法,其特征在于,包括:
获取目标神经网络模型的网络结构,以及对应的配置参数,其中,所述配置参数中包含所述目标神经网络模型的每一网络层分别在多个预设处理单元上的第一运算时长;
根据所述网络结构,将所述目标神经网络模型划分为能够并行和/或串行运算的多个子网络,其中,所述子网络包括属于同一网络支路的网络层;
根据所述配置参数,计算每一所述子网络分别在所述多个预设处理单元上运算时需要的第二运算时长;
根据所述多个子网络的连接关系,为所述多个子网络分配预设处理单元,得到多个处理单元分配模式;
根据子网络分别在所述多个预设处理单元上运算时需要的第二运算时长,计算在各个所述处理单元分配模式下,所述目标神经网络模型的总运算时长;
将具有最小总运算时长的处理单元分配模式,作为目标处理单元分配模式;
根据所述目标处理单元分配模式为各个子网络分配预设处理单元,其中,当有至少两个子网络属于并列的网络支路时,将所述多个预设处理单元分配给所述至少两个子网络。
2.如权利要求1所述的神经网络的分割计算方法,其特征在于,所述根据所述目标处理单元分配模式为各个子网络分配预设处理单元之后,还包括:
当基于所述目标神经网络模型进行运算时,确定所述多个子网络的运算顺序;
根据所述多个子网络的运算顺序,在为所述子网络分配的预设处理单元上对所述子网络进行运算,以完成所述目标神经网络模型的运算。
3.如权利要求1至2任一项所述的神经网络的分割计算方法,其特征在于,所述获取目标神经网络模型的网络结构,以及对应的配置参数之前,还包括:
获取输入数据,并将所述输入数据代入所述目标神经网络模型,在预设处理单元上进行运算;
在所述目标神经网络模型的运算过程中,记录网络层在所述预设处理单元上的第一运算时长;
根据每一所述网络层在所述多个预设处理单元上的所述第一运算时长,生成所述配置参数。
4.如权利要求3所述的神经网络的分割计算方法,其特征在于,所述获取输入数据,并将所述输入数据代入所述目标神经网络模型,在预设处理单元上进行运算之前,还包括:
当检测到操作系统发生更新时,根据所述目标神经网络模型定义的数据类型,生成所述输入数据。
5.一种神经网络的分割计算装置,其特征在于,包括:
获取模块,用于获取目标神经网络模型的网络结构,以及对应的配置参数,其中,所述配置参数中包含所述目标神经网络模型的每一网络层分别在多个预设处理单元上的第一运算时长;
分割模块,用于根据所述网络结构,将所述目标神经网络模型划分为能够并行和/或串行运算的多个子网络,其中,所述子网络包括属于同一网络支路的网络层;
计算模块,用于根据所述配置参数,计算每一所述子网络分别在所述多个预设处理单元上运算时需要的第二运算时长;
分配模块,用于根据所述多个子网络的连接关系,为所述多个子网络分配预设处理单元,得到多个处理单元分配模式;
根据子网络分别在所述多个预设处理单元上运算时需要的第二运算时长,计算在各个所述处理单元分配模式下,所述目标神经网络模型的总运算时长;
将具有最小总运算时长的处理单元分配模式,作为目标处理单元分配模式;
根据所述目标处理单元分配模式为各个子网络分配预设处理单元,其中,当有至少两个子网络属于并列的网络支路时,将所述多个预设处理单元分配给所述至少两个子网络。
6.如权利要求5所述的神经网络的分割计算装置,其特征在于,所述装置还包括:
运算模块,用于当基于所述目标神经网络模型进行运算时,确定所述多个子网络的运算顺序;
以及,根据所述多个子网络的运算顺序,在为所述子网络分配的预设处理单元上对所述子网络进行运算,以完成所述目标神经网络模型的运算。
7.一种存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至4任一项所述的神经网络的分割计算方法。
8.一种移动终端,包括处理器和存储器,所述存储器存储有计算机程序,其特征在于,所述处理器通过调用所述计算机程序,用于执行如权利要求1至4任一项所述的神经网络的分割计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580197.3A CN110298437B (zh) | 2019-06-28 | 2019-06-28 | 神经网络的分割计算方法、装置、存储介质及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910580197.3A CN110298437B (zh) | 2019-06-28 | 2019-06-28 | 神经网络的分割计算方法、装置、存储介质及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110298437A CN110298437A (zh) | 2019-10-01 |
CN110298437B true CN110298437B (zh) | 2021-06-01 |
Family
ID=68029604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910580197.3A Active CN110298437B (zh) | 2019-06-28 | 2019-06-28 | 神经网络的分割计算方法、装置、存储介质及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110298437B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112784954A (zh) * | 2019-11-08 | 2021-05-11 | 华为技术有限公司 | 确定神经网络的方法和装置 |
CN110909886B (zh) * | 2019-11-20 | 2022-11-04 | 北京小米移动软件有限公司 | 一种机器学习网络运行方法、装置及介质 |
CN111126594B (zh) * | 2019-11-25 | 2023-08-04 | 北京邮电大学 | 基于边缘计算的神经网络模型动态切分方法及装置 |
CN111260038B (zh) * | 2019-12-16 | 2023-06-13 | 深圳云天励飞技术股份有限公司 | 卷积神经网络的实现方法、装置、电子设备及存储介质 |
CN111340237B (zh) * | 2020-03-05 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 数据处理和模型运行方法、装置和计算机设备 |
CN111522837B (zh) * | 2020-04-23 | 2023-06-23 | 北京百度网讯科技有限公司 | 用于确定深度神经网络的耗时的方法和装置 |
CN113705766A (zh) * | 2020-05-22 | 2021-11-26 | 成都鼎桥通信技术有限公司 | 一种神经网络模型的实现方法 |
CN111782403B (zh) * | 2020-07-17 | 2022-04-19 | Oppo广东移动通信有限公司 | 数据处理方法、装置以及电子设备 |
CN111782401B (zh) * | 2020-07-17 | 2024-07-23 | Oppo广东移动通信有限公司 | 数据处理方法、装置以及电子设备 |
CN112036559A (zh) * | 2020-08-26 | 2020-12-04 | 北京灵汐科技有限公司 | 神经网络的结构划分方法、装置、计算机设备及存储介质 |
CN112016665B (zh) * | 2020-10-20 | 2021-04-06 | 深圳云天励飞技术股份有限公司 | 计算神经网络在处理器上运行时间的方法及装置 |
CN112381214A (zh) * | 2020-12-03 | 2021-02-19 | 北京声智科技有限公司 | 网络模型生成方法、装置及电子设备 |
CN112686378A (zh) * | 2020-12-23 | 2021-04-20 | 展讯通信(上海)有限公司 | 神经网络的计算部署方法及装置、存储介质、计算机设备 |
CN112650590B (zh) * | 2020-12-29 | 2024-03-15 | 北京奇艺世纪科技有限公司 | 任务的处理方法、装置及系统、分配方法和装置 |
CN112884127A (zh) * | 2021-03-01 | 2021-06-01 | 厦门美图之家科技有限公司 | 多处理器并行神经网络加速方法、装置、设备和存储介质 |
CN113240084B (zh) * | 2021-05-11 | 2024-02-02 | 北京搜狗科技发展有限公司 | 一种数据处理方法、装置、电子设备及可读介质 |
CN113220457B (zh) * | 2021-05-24 | 2024-03-22 | 深圳市智芯华玺信息技术有限公司 | 模型部署方法、模型部署装置、终端设备及可读存储介质 |
CN113609310B (zh) * | 2021-08-25 | 2023-08-08 | 上海交通大学 | 单机大规模知识图谱嵌入系统及方法 |
CN113919499A (zh) * | 2021-11-24 | 2022-01-11 | 威盛电子股份有限公司 | 模型训练方法与模型训练系统 |
CN114610457B (zh) * | 2022-03-08 | 2024-10-11 | 北京地平线机器人技术研发有限公司 | 用于多处理单元的数据协同处理方法及装置 |
CN116451742A (zh) * | 2023-03-23 | 2023-07-18 | 华为技术有限公司 | 神经网络模型的处理方法、电子设备及可读存储介质 |
CN116204324A (zh) * | 2023-03-29 | 2023-06-02 | 之江实验室 | 一种任务执行的方法、装置、存储介质及电子设备 |
CN117435350B (zh) * | 2023-12-19 | 2024-04-09 | 腾讯科技(深圳)有限公司 | 算法模型的运行方法、装置、终端以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876702A (zh) * | 2018-06-21 | 2018-11-23 | 北京邮电大学 | 一种加速分布式深度神经网络的训练方法及装置 |
CN109213601A (zh) * | 2018-09-12 | 2019-01-15 | 华东师范大学 | 一种基于cpu-gpu的负载均衡方法及设备 |
CN109522185A (zh) * | 2018-11-19 | 2019-03-26 | 江苏镭博智能科技有限公司 | 一种模型分割提高运算速度的方法 |
CN109902819A (zh) * | 2019-02-12 | 2019-06-18 | Oppo广东移动通信有限公司 | 神经网络计算方法、装置、移动终端及存储介质 |
CN109919315A (zh) * | 2019-03-13 | 2019-06-21 | 科大讯飞股份有限公司 | 一种神经网络的前向推理方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109905880B (zh) * | 2019-03-22 | 2020-05-29 | 苏州浪潮智能科技有限公司 | 一种网络划分方法、系统及电子设备和存储介质 |
-
2019
- 2019-06-28 CN CN201910580197.3A patent/CN110298437B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876702A (zh) * | 2018-06-21 | 2018-11-23 | 北京邮电大学 | 一种加速分布式深度神经网络的训练方法及装置 |
CN109213601A (zh) * | 2018-09-12 | 2019-01-15 | 华东师范大学 | 一种基于cpu-gpu的负载均衡方法及设备 |
CN109522185A (zh) * | 2018-11-19 | 2019-03-26 | 江苏镭博智能科技有限公司 | 一种模型分割提高运算速度的方法 |
CN109902819A (zh) * | 2019-02-12 | 2019-06-18 | Oppo广东移动通信有限公司 | 神经网络计算方法、装置、移动终端及存储介质 |
CN109919315A (zh) * | 2019-03-13 | 2019-06-21 | 科大讯飞股份有限公司 | 一种神经网络的前向推理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110298437A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298437B (zh) | 神经网络的分割计算方法、装置、存储介质及移动终端 | |
US11593644B2 (en) | Method and apparatus for determining memory requirement in a network | |
JP7053891B2 (ja) | オンチップコードのブレークポイントによるデバッグ方法、オンチッププロセッサ及びブレークポイントによるチップデバッグシステム | |
TWI798618B (zh) | 記憶體分配方法、裝置、及電子設備 | |
CN110674936A (zh) | 一种神经网络处理方法、装置、计算机设备及存储介质 | |
CN113110938B (zh) | 一种资源分配方法、装置、计算机设备及存储介质 | |
CN110162338B (zh) | 运算方法、装置及相关产品 | |
CN107766891B (zh) | 用户性别识别方法、装置、存储介质及电子设备 | |
CN111984400A (zh) | 神经网络的内存分配方法及装置 | |
CN111078587B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
US20230244953A1 (en) | Artificial intelligence model distributed processing system, and method for operating same | |
US20220100763A1 (en) | Optimizing job runtimes via prediction-based token allocation | |
KR20200023239A (ko) | 복수의 프로세서를 이용하여 신경망 모델을 처리하는 전자 장치 및 그 동작 방법 | |
CN111475299B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN111338745A (zh) | 一种虚拟机的部署方法、装置及智能设备 | |
CN116795524A (zh) | 任务处理方法、装置、计算机设备、存储介质及程序产品 | |
CN106303722B (zh) | 一种动画播放的方法及装置 | |
WO2019079994A1 (zh) | 核心调度方法和终端 | |
CN115098107B (zh) | 神经网络任务的代码生成方法和装置 | |
CN108681480B (zh) | 后台应用程序管控方法、装置、存储介质及电子设备 | |
CN110874343A (zh) | 基于深度学习芯片进行语音处理的方法和深度学习芯片 | |
US20230153565A1 (en) | Method and system of dnn modularization for optimal loading | |
CN107797831B (zh) | 后台应用清理方法、装置、存储介质及电子设备 | |
CN113568737B (zh) | 硬件资源分配方法及装置 | |
CN118132279B (zh) | 任务处理方法、装置、电子设备和计算机可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |