CN111582459B - 执行操作的方法、电子设备、装置及存储介质 - Google Patents
执行操作的方法、电子设备、装置及存储介质 Download PDFInfo
- Publication number
- CN111582459B CN111582459B CN202010419847.9A CN202010419847A CN111582459B CN 111582459 B CN111582459 B CN 111582459B CN 202010419847 A CN202010419847 A CN 202010419847A CN 111582459 B CN111582459 B CN 111582459B
- Authority
- CN
- China
- Prior art keywords
- information
- neural network
- operator
- network
- processing chip
- 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
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000013528 artificial neural network Methods 0.000 claims abstract description 166
- 238000012545 processing Methods 0.000 claims abstract description 130
- 230000008569 process Effects 0.000 claims description 30
- 238000010276 construction Methods 0.000 claims description 13
- 238000013135 deep learning Methods 0.000 claims description 11
- 230000006855 networking Effects 0.000 claims description 9
- 238000013473 artificial intelligence Methods 0.000 claims description 8
- 210000004556 brain Anatomy 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000003012 network analysis Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 21
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 210000000225 synapse Anatomy 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- 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
- G06N3/045—Combinations of networks
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种执行操作的方法、电子设备、装置及存储介质,属于计算机技术领域,本申请实施例能够在包括专用处理芯片的电子设备中,指示中央处理器接收第一神经网络待处理的信息,指示专用处理卡芯片根据预先建立的第二神经网络处理目标信息,获得目标结果数据,并将该目标结果数据回传至中央处理器。其中,第二神经网络是根据网络信息建立的神经网络,网络信息是指示第一神经网络的网络结构,克服了本领域中通常通过中央处理器建立并解析神经网络,频繁调用专用处理芯片执行神经网络中的算子计算,带来的时间开销大和计算效率低的问题,在不改变硬件架构的基础上提高了神经网络的处理效能,有效地提升了运算效率。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种执行操作的方法、电子设备、装置及存储介质。
背景技术
随着神经网络的快速发展,基于神经网络的应用也在生活中快速应用和普及。
相关技术中,电子设备可以基于神经网络对应指定的数据进行处理,并据此执行指定的操作。首先,电子设备需要在接收到指定的数据后,在中央处理器(英文:CentralProcessing Unit,缩写:CPU)中对该神经网络进行网络推理。而针对神经网络的算子计算部分,需要在专用处理芯片中执行。由于中央处理器对神经网络中的每一个算子进行一次计算,均需要调用一次专用处理芯片,并将数据在中央处理器和专用处理芯片之间来回转移一次。因此,电子设备在该场景中的时间开销较大,处理效率较低。
发明内容
本申请实施例提供了一种执行操作的方法、电子设备、装置及存储介质。所述技术方案如下:
根据本申请的一方面内容,提供了一种执行操作的方法,应用于电子设备中,所述电子设备包括专用处理芯片,所述方法包括:
指示中央处理器接收目标信息,所述目标信息是第一神经网络待处理的信息;
指示所述专用处理芯片根据预先建立的第二神经网络处理所述目标信息,获取目标结果数据,所述第二神经网络是根据网络信息建立的神经网络,所述网络信息用于指示所述第一神经网络的网络结构;
将所述目标结果数据传回所述中央处理器;
根据所述目标结果数据,执行对应的操作。
根据本申请的另一方面内容,提供了一种执行操作的装置,应用于电子设备中,所述电子设备包括专用处理芯片,所述装置包括:
信息接收模块,用于指示中央处理器接收目标信息,所述目标信息是第一神经网络待处理的信息;
数据获得模块,用于指示所述专用处理芯片根据预先建立的第二神经网络处理所述目标信息,获得目标结果数据,所述第二神经网络是根据网络信息建立的神经网络,所述网络信息用于指示所述第一神经网络的网络结构;
数据传回模块,用于将所述目标结果数据传回所述中央处理器;
操作执行模块,用于根据所述目标结果数据,执行对应的操作。
根据本申请的另一方面内容,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如本申请实施提供的执行操作的方法。
根据本申请的另一方面内容,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请实施提供的执行操作的方法。
本申请实施例提供的技术方案带来的有益效果可以包括:
本申请实施例能够在包括专用处理芯片的电子设备中,指示中央处理器接收第一神经网络待处理的信息,指示专用处理卡芯片根据预先建立的第二神经网络处理目标信息,获得目标结果数据,并将该目标结果数据回传至中央处理器,令电子设备根据目标结果数据执行对应的操作。其中,第二神经网络是根据网络信息建立的神经网络,网络信息是指示第一神经网络的网络结构,克服了本领域中通常通过中央处理器建立并解析神经网络,频繁调用专用处理芯片执行神经网络中的算子计算,带来的时间开销大和计算效率低的问题,在不改变硬件架构的基础上提高了神经网络的处理效能,有效地提升了执行操作前的运算效率。
附图说明
为了更清楚地介绍本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的一种电子设备的结构框图;
图2是本申请一个示例性实施例提供的一种执行操作的方法的流程图;
图3是本申请实施例涉及的一种相关技术中运算方式的示意图;
图4是本申请实施例涉及的一种运算方式的示意图;
图5是本申请另一个示例性实施例提供的一种执行操作的方法流程图;
图6是基于图5所示实施例提供的一种第一神经网络的图形结构;
图7是本申请一个示例性实施例提供的一种执行操作的装置的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在本申请实施例中,涉及深度学习计算框架。深度学习计算框架包括两个主要的模块,分别是网络推理模块和算子实现模块。其中,网络推理模块用于实现网络推理,算子实现模块用于实现算子计算。
相关技术中,电子设备通常在CPU实现网络推理,在GPU侧实现算子计算。在该处理方式中,CPU每计算一个算子,均需要调用一次GPU,同时使得数据在CPU的内存和GPU的内存之间频繁搬移和拷贝,使得通过神经网络处理数据的效率较差,时间开销较高。
示意性的,一个深度学习神经网络计算过程中,时间消耗较多的阶段是算子实现模块执行的算子计算过程。在一种可能的方式中,一个深度学习网络可能由几十层或几百层算子组成。基于该应用场景,本申请实施例设计有一种提高算子计算效率的方法。
概括而言,本申请实施例提出一种深度学习计算框架,该深度学习计算框架能够在CPU与专用处理芯片之间进行异构计算时,减小CPU与专用处理芯片之间的频繁调用次数以及内存搬移次数。本申请能够在CPU侧解析第一神经网络的网络模型,然后不断向专用处理芯片侧传递算子信息。整个网络解析完成之后,专用处理芯片侧将成功构建出第二神经网络。其中,专用处理芯片侧还可以将第二神经网络中能够相互融合的算子进行融合。然后,在运算过程中,CPU侧仅需发送一条指令,在专用处理芯片侧完成整个第二神经网络的推理,然后把最后的计算结果返回到CPU侧,从而完成整个处理流程。
为了本申请实施例所示方案易于理解,下面对本申请实施例中出现的若干名词进行介绍。
专用处理芯片:用于执行本申请实施例中指示的第二神经网络的构建,以及根据中央处理器转发的目标信息,使用第二神经网络进行网络推理过程。
可选地,专用处理芯片可以是图像处理器(英文:Graphics Processing Unit,缩写:GPU)、数字信号处理器(英文:Digital Signal Processing,缩写:DSP)、神经网络处理器(英文:Neural network Processing Unit,缩写:NPU)、张量处理器(英文:TensorProcessing Unit,缩写:TPU)、深度学习处理器或大脑处理器(英文:Brain ProcessingUnit,缩写:BPU)中的一项或多项。
示意性的,GPU被设计为处理图像领域的运算加速。在实现过程中,GPU需要在CPU的控制调用下进行工作。因此,在实际应用过程中,神经网络在处理数据时,总是通过CPU和GPU结合的异构计算框架进行计算。
例如,若第一神经网络中的算子层级是200层(也即该第一神经网络包括200个算子),则在现有的深度学习计算框架中,CPU对第一神经网络进行解析。在CPU需要对每一个算子进行计算时,调用一次GPU。在该场景中,CPU调用GPU的次数为201次。其中,200次调用用于调用GPU执行算子计算,1次调用用于初始化GPU。
若使用本申请实施例提供的方法,则CPU在接收目标信息后,能够在初始化阶段将第一神经网络的网络信息解析出,以初始化指令的方式发送至GPU。GPU根据该网络信息建立第二神经网络,并在下一次CPU发送包括目标信息的运行指令时,将自动在GPU完成整个目标信息的处理,并将目标结果数据反馈给CPU。在该场景中,CPU全程仅需要发送一次初始化指令和一次运行指令,大幅减少了调用GPU带来的时间开销和内存搬迁。
示意性的,DSP的工作原理是通过接收模拟信号,将模拟信号转换为数字信号,对数字信号进行修改、删除或强化,并在其它系统芯片中把数字数据解译回模拟数据或实际环境格式。
示意性的,NPU在电路层模拟人类神经元和突触,并且用深度学习指令集直接处理大规模的神经元和突触。NPU能够通过突触权重实现存储和计算一体化,从而提高了运行效率。
示意性的,TPU能够提供高吞吐量的低精度计算,用于神经网络的前向运算。在实际应用中,TPU的运行需要按照CPU的控制。
示意性的,BPU能够通过多种架构实现芯片结构。其中,BPU支持的架构包括高斯架构、伯努利架构或贝叶斯架构中至少一种。BPU在当前的应用方式中,需要按照CPU的指令执行。
目标信息:是第一神经网络待处理的信息。例如,该目标信息可以是图像信息,也可以是音频信息。
可选地,当电子设备是终端时,目标信息是终端中的应用层发送的信息。
可选地,当电子设备是服务器时,目标信息是终端转发至服务器中的终端中的应用层发送的信息。
在一种可能的落地实现方案中,例如,当第一神经网络是一个人脸检测网络,则目标信息可以是待检测的图片。
示例性地,本申请实施例所示的执行操作的方法,可以应用在电子设备中,该电子设备具备显示屏且具备运算功能。电子设备可以包括手机、平板电脑、膝上型电脑、台式电脑、电脑一体机、服务器、工作站、电视、机顶盒、智能眼镜、智能手表、数码相机、MP4播放电子设备、MP5播放电子设备、学习机、点读机、电纸书、电子词典或车载电子设备等。
请参见图1,图1是本申请一个示例性实施例提供的一种电子设备的结构框图,如图1所示,该电子设备包括处理器120、存储器140和总线160,所述存储器140中存储有至少一条指令,所述指令由所述处理器120加载并执行以实现如本申请各个方法实施例所述的执行操作的方法。其中,处理器120包括中央处理器121和专用处理芯片122。需要说明的是,中央处理器121中包括内存,专用处理芯片122中同样包括内存。
处理器120可以包括一个或者多个处理核心。处理器120利用各种接口和线路连接整个电子设备100内的各个部分,通过运行或执行存储在存储器140内的指令、程序、代码集或指令集,以及调用存储在存储器140内的数据,执行电子设备100的各种功能和处理数据。可选的,处理器120可以采用数字信号处理器、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器120可集成中央处理器、图像处理器和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器120中,单独通过一块芯片进行实现。
存储器140可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选的,该存储器140包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器140可用于存储指令、程序、代码、代码集或指令集。存储器140可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储下面各个方法实施例中涉及到的数据等。
总线160用于连接电子设备中各个硬件组件,便于各个硬件组件进行数据交互。在本申请实施例中,总线160用于连接处理器120和存储器140,以便上述两个硬件进行数据交换。
请参考图2,图2是本申请一个示例性实施例提供的一种执行操作的方法的流程图。该执行操作的方法可以应用在上述图1所示的电子设备中。在图2中,该执行操作的方法包括:
步骤210,指示中央处理器接收目标信息,目标信息是第一神经网络待处理的信息。
在本申请实施例中,电子设备作为整个方案的执行主体。在一些应用场景中,系统服务或者第三方应用将使用第一神经网络处理目标信息。当上述应用或服务需要使用第一神经网络时,电子设备将能够初始化第一神经网络。其中,电子设备能够指示中央处理器接收目标信息。目标信息可以是应用或服务发送至CPU的信息,该信息是第一神经网络待处理的信息。
例如,当第一神经网络是人脸模型时,目标信息可以是相机应用采集的每一帧图像。
步骤220,指示专用处理芯片根据预先建立的第二神经网络处理目标信息,获取目标结果数据,第二神经网络是网络信息建立的神经网络,网络信息是指示第一神经网络的网络结构。
可选的,本申请实施例中的专用处理芯片将根据预先建立的第二神经网络,处理目标信息。其中,专用处理芯片可以在接收到CPU发出的网络信息时,在专用处理芯片侧建立第二神经网络。
例如,电子设备中内置有5种各不相同的第一神经网络,分别为A神经网络、B神经网络、C神经网络、D神经网络和E神经网络。每种神经网络具有指定的功能,详情请参见表一。
表一
A神经网络 | B神经网络 | C神经网络 | D神经网络 | E神经网络 |
人脸检测 | 车辆号牌识别 | 知识问答 | 商品识图 | 终端模式判定 |
在表一所示的5种不同的第一神经网络中,当电子设备执行相应的功能时,处理器中才会初始化相应的第一神经网络并处理数据。例如,电子设备中以相机应用开启作为A神经网络初始化的触发事件。当电子设备中的相机应用开启时,电子设备指示CPU加载A神经网络的信息。此时,CPU将A神经网络的网络信息发送至专用处理芯片,专用处理芯片将根据网络信息建立A神经网络对应的第二神经网络。
请参见图3,图3是本申请实施例涉及的一种相关技术中运算方式的示意图。在图3中,包括中央处理器121和专用处理芯片122。中央处理器121构建了包括n个算子的第一神经网络,并在调用操作310中对专用处理芯片122进行初始化。在中央处理器121运用第一神经网络处理目标信息时,每一个算子进行运算时,需要调用一次专用处理芯片122。即在算子计算操作320中,中央处理器121调用专用处理芯片122一共n次。在该过程中,电子设备为得到结果数据,共令中央处理器121调用专用处理芯片122(n+1)次。
请参见图4,图4是本申请实施例涉及的一种运算方式的示意图。在图4中,包括中央处理器121和专用处理芯片122。中央处理器121可以执行步骤410和步骤420。在步骤410中,中央处理器121在接收到网络构建指令时,解析第一神经网络,获得网络信息。其中,网络信息用于指示第一神经网络的图形结构信息和权值信息。在步骤420中,中央处理器121向专用处理芯片122发送网络信息。在步骤430中,专用处理芯片122根据网络信息建立第二神经网络。在在步骤440中,中央处理器121处理目标信息时,仅需将目标信息和运行指令一并发送专用处理芯片122,完成一次运行调用。中央处理器121即可获得目标结果数据。在该过程中,电子设备为得到结果数据,共令中央处理器121调用专用处理芯片122的次数是2次。
由上述图3和图4运行情况的对比可知,本申请实施例提供的执行操作的方法,能够有效减少CPU调用专用处理芯片的次数,使得电子设备在运行同样的第一神经网络时,缩短得出目标结果数据的时长。
步骤230,将目标结果数据传回中央处理器。
在本申请实施例中,电子设备能够在专用处理芯片计算得到目标结果数据后,将目标结果数据传回到中央处理器中。
步骤240,根据目标结果数据,执行对应的操作。
在本申请实施例中,电子设备还能够根据目标结果数据,执行对应的应用操作。其中,对应的应用操作既可以是可视的应用操作,也可以是后台不可视的数据处理流程,本申请实施例对此不作限定。
在一种可能的实现方式中,电子设备可以在人脸识别场景中,在图像中显示被识别出来的人脸区域。
在另一种可能的实现方式中,电子设备还可以播放合成后的人工智能语音或显示合成后的人工智能文本。
综上所述,本实施例提供的执行操作的方法,能够在包括专用处理芯片的电子设备中,指示中央处理器接收第一神经网络待处理的信息,指示专用处理卡芯片根据预先建立的第二神经网络处理目标信息,获得目标结果数据,并将该目标结果数据回传至中央处理器。其中,第二神经网络是根据网络信息建立的神经网络,网络信息是指示第一神经网络的网络结构,克服了本领域中通常通过中央处理器建立并解析神经网络,频繁调用专用处理芯片执行神经网络中的算子计算,带来的时间开销大和计算效率低的问题,在不改变硬件架构的基础上提高了神经网络的处理效能,有效地提升了执行操作前的运算效率。
基于上一个实施例所公开的方案,电子设备还能够在专用处理芯片中建立第二神经网络,从而减少CPU与专用处理芯片之间的调用次数,请参考如下实施例。
请参见图5,图5是本申请另一个示例性实施例提供的一种执行操作的方法流程图。该执行操作的方法可以应用在上述图1所示的电子设备中。在图5中,该执行操作的方法包括:
步骤511,当接收到网络构建指令时,解析第一神经网络,获得网络信息,网络信息用于指示第一神经网络的图形结构信息和权值信息。
示意性的,电子设备能够在应用启动时或者功能被调用时,触发网络构建指令。此时,电子设备将指示CPU解析指定的第一神经网络,获得网络信息。其中,由于网络信息包括图形结构信息和权值信息。。
步骤512,指示专用处理芯片根据网络信息建立第二神经网络。
示意性的,电子设备能够指示专用处理芯片根据网络信息,建立第二神经网络。
在本申请实施例中,电子设备还可以通过执行步骤(a1)、步骤(a2)和步骤(a3)来实现指示专用处理芯片根据网络信息建立第二神经网络的流程。介绍如下:
步骤(a1),在专用处理芯片中获取预定存储空间的全局内存。
可选地,电子设备能够在专用处理芯片中获得预定大小的预定存储空间。并且,该预定存储空间是全局内存,从而有利于专用处理芯片中的各个组件顺利访问到网络信息。
步骤(a2),按照专用处理芯片的数据规范,将网络信息存储在全局内存中。
可选地,为了专用处理芯片中的各个组件顺利访问到网络信息,电子设备可以在存储网络信息时,按照专用芯片的数据规范,对该网络信息进行存储。
可选地,数据规范是专用处理芯片中对于第二神经网络的定义。在该定义中,第二神经网络包括算子的定义和张量的定义。详情如下:
其中,NetDef表示整个第二神经网络,该网络由若干个张量和算子组成。针对张量维度dims而言,数据1,224,224,3表示该矩阵维度中的BATCH=1,HEIGHT=224,WIDTH=224,CHANNLE=3。
在本申请实施例中,专用处理芯片将网络信息按照上述第一神经网络中提供的数据规范的格式,重新构建第二神经网络。
在一种第二神经网络的算子串接方式中,电子设备获取所述网络信息中的图形结构信息和权值信息;根据所述图形结构信息,确定各个算子的输入张量和输出张量;根据各个算子的所述输入张量的标识和所述输出张量的标识,将所述第二神经网络中的算子完成串接;根据所述权值信息,确定对应的卷积核,所述卷积核是对应的算子的输入张量。
需要说明的是,图形结构信息可以指示哪一个算子的输入张量是另一个算子的输入张量。电子设备能够根据该图形结构信息,完成各个算子的输入张量和输出张量的位置的确定。
在一种可能的方式中,专用处理芯片还能够在算子具备融合条件时,将第二神经网络中的第一算子和第二算子进行融合。当第一算子和第二算子融合后,电子设备可以将第一算子的输出张量的名称更改为第二算子的输出张量的名称,同时,按照融合后的算子的信息,更新第一算子在第二神经网络中的定义。
另一方面,当第二神经网络中的算子之前不能融合时,专用处理芯片将保留各个算子。
在一种执行方式中,当专用处理芯片构建完成第一算子时,检测第一算子是否具备与第二算子融合的条件,第二算子是第二神经网络中已经完成构建的算子;当第一算子具备与第二算子融合的条件时,将第一算子和第二算子融合;根据融合后的算子,更新全局内存中的网络信息。
步骤(a3),指示专用处理芯片按照网络信息建立第二神经网络。
在另一种可能的实现方式中,电子设备还可以通过执行步骤(b1)、步骤(b2)和步骤(b3)来实现指示专用处理芯片根据网络信息建立第二神经网络的流程。介绍如下:
步骤(b1),获取网络信息中的图形结构信息和权值信息。
步骤(b2),根据图形结构信息,将第二神经网络中的算子完成串接。
步骤(b3),根据权值信息,确定算子之间的权值。
步骤520,接收目标信息。
在本申请实施例中,步骤520的执行过程和步骤210的执行过程相同,此处不再赘述。
步骤531,根据图形结构信息,确定第一神经网络的算子层数。
步骤532,当算子层数大于等于层数阈值时,指示专用处理芯片根据预先建立的第二神经网络处理目标信息,获取目标结果数据。
在本申请实施例中,电子设备能够根据算子层数选择是否开启本申请所示的执行操作的方法。即当算子层数大于等于层数阈值时,启动执行本申请所示的执行操作的方法。示意性的,层数阈值可以是10、15、20或50等,本申请实施例对此不作限定。
步骤541,当目标结果数据是图像识别数据时,在被识别的目标图像中显示被框选的结果区域。
步骤542,当目标结果数据是语音识别数据时,播放合成后的人工智能语音或显示合成后的人工智能文本。
可选的,在一种可能的应用场景中,电子设备能够通过执行步骤(c1)、步骤(c2)、步骤(c3)和步骤(c4)来实现本申请实施例介绍的执行操作的方法,介绍如下:
步骤(c1),电子设备能够在CPU侧解析第一神经网络。第一神经网络输入到电子设备的深度学习计算框架后,先在CPU侧进行模型的解析,解析的内容包括模型的图形结构和模型的权值数据。请参见图6,图6是基于图5所示实施例提供的一种第一神经网络的图形结构。在图6中,第一神经网络600包括算子610、算子620和算子630。其中,算子610包括输入张量611和输出张量612。算子620包括输入张量621和输出张量622。算子630包括输入张量631和输出张量632。其中,第一神经网络600由若干个算子串接而成,每个算子有若干个输入和一个输出。需要说明的是,除了最终输出结果的算子外,其余每一个算子的输出一定是其它指定的算子的输入。第二神经网络的权值数据是第一神经网络完成训练时保存的数据。在一种可能的方式中,该权值数据可以是卷积核。示意性的,权值数据可以作为算子的一个输入。
步骤(c2),CPU侧向专用处理芯片传递网络信息。其中,CPU将已经解析好的第一神经网络的图形结构和权值数据一次性传递到专用处理芯片侧。由于专用处理芯片侧表达第一神经网络的方式不同于CPU的表达方式。在本申请实施例中,专用处理芯片在构建第二神经网络时,每构建一个算子,就需要完成一个算子的融合。换言之,本申请实施例能够按照专用处理芯片的计算框架能够理解的方式,完成算子之间的串接,直至将所有算子完成融合,从而构建出第二神经网络。
步骤(c3),CPU侧向专用处理芯片发送运行指令,令专用处理芯片侧完成网络推理。电子设备在专用处理芯片完成网络构建之后,令CPU向专用处理芯片发送一次运行指令,GPU直接通过第二神经网络计算出目标结果数据。
步骤(c4),专用处理芯片侧将第二神经网络的目标结果数据返回到CPU侧。在本步骤中,专用处理芯片获得目标结果数据后,仅需要传递一次计算结果到CPU侧。
综上所述,本实施例根据在中央处理器解析出第一神经网络的网络信息后,在专用处理芯片侧根据该网络信息构建第二神经网络,构建后的第二神经网络能够被专用处理芯片识别,在构建的过程中,专用处理芯片能够将网络信息放置在预定存储空间的全局内存中,使得本申请实施例能够有效地在专用处理芯片中构建该专用处理芯片能够识别的第二神经网络,提高了电子设备基于神经网络运行的稳定性。
本实施例提供的执行操作的方法,还能够在神经网络层数较多的场景下,有效减少CPU与专用处理芯片之间的频繁调用以及内存搬迁。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图7,图7是本申请一个示例性实施例提供的一种执行操作的装置的结构框图。该执行操作的装置可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。该装置包括:
信息接收模块710,用于指示中央处理器接收目标信息,所述目标信息是第一神经网络待处理的信息;
数据获得模块720,用于指示所述专用处理芯片根据预先建立的第二神经网络处理所述目标信息,获得目标结果数据,所述第二神经网络是根据网络信息建立的神经网络,所述网络信息是指示所述第一神经网络的网络结构;
数据传回模块730,用于将所述目标结果数据传回所述中央处理器。
操作执行模块740,用于根据所述目标结果数据,执行对应的操作。
在一个可选的实施例中,所述装置还包括网络解析模块和建网指示模块。所述网络解析模块,用于当接收到网络构建指令时,解析所述第一神经网络,获得所述网络信息,所述网络信息包括所述第一神经网络的图形结构信息和权值信息;所述建网指示模块,用于指示所述专用处理芯片根据所述网络信息建立所述第二神经网络。
在一个可选的实施例中,所述建网指示模块,用于在所述专用处理芯片中获取预定存储空间的全局内存;按照所述专用处理芯片的数据规范,将所述网络信息存储在所述全局内存中;指示所述专用处理芯片按照所述网络信息建立所述第二神经网络。
在一个可选的实施例中,所述建网指示模块,用于获取所述网络信息中的图形结构信息和权值信息;根据所述图形结构信息,确定各个算子的输入张量和输出张量;根据各个算子的所述输入张量的标识和所述输出张量的标识,将所述第二神经网络中的算子完成串接;根据所述权值信息,确定对应的卷积核,所述卷积核是对应的算子的输入张量。
在一个可选的实施例中,所述建网指示模块,用于当所述专用处理芯片构建完成第一算子时,检测所述第一算子是否具备与第二算子融合的条件,所述第二算子是所述第二神经网络中已经完成构建的算子;当所述第一算子具备与第二算子融合的条件时,将所述第一算子和所述第二算子融合;根据融合后的算子,更新所述全局内存中的网络信息。
在一个可选的实施例中,所述装置还包括层数确定模块。所述层数确定模块,用于根据所述图形结构信息,确定所述第一神经网络的算子层数;所述数据获得模块720,用于当所述算子层数大于等于层数阈值时,指示所述专用处理芯片根据预先建立的所述第二神经网络处理所述目标信息,获得目标结果数据。
在一个可选的实施例中,所述数据传回模块730,用于当所述目标结果数据是图像识别数据时,在被识别的目标图像中显示被框选的结果区域;或,所述数据传回模块730,用于当所述目标结果数据是语音识别数据时,播放合成后的人工智能语音或显示合成后的人工智能文本。
在一个可选的实施例中,所述装置涉及的所述专用处理芯片包括以下至少一项:图像处理器、数字信号处理器、神经网络处理器、张量处理器、深度学习处理器或大脑处理器。
综上所述,本实施例根据在中央处理器解析出第一神经网络的网络信息后,在专用处理芯片侧根据该网络信息构建第二神经网络,构建后的第二神经网络能够被专用处理芯片识别,在构建的过程中,专用处理芯片能够将网络信息放置在预定存储空间的全局内存中,使得本申请实施例能够有效地在专用处理芯片中构建该专用处理芯片能够识别的第二神经网络,提高了电子设备基于神经网络运行的稳定性。
本实施例提供的执行操作的方法,还能够在神经网络层数较多的场景下,有效减少CPU与专用处理芯片之间的频繁调用以及内存搬迁。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的执行操作的方法。
需要说明的是:上述实施例提供的执行操作的装置在执行执行操作的方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部构造划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的执行操作的装置与执行操作的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的能够实现的示例性的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种执行操作的方法,其特征在于,应用于电子设备中,所述电子设备包括专用处理芯片,所述方法包括:
指示中央处理器接收目标信息,所述目标信息是第一神经网络待处理的信息;
当接收到网络构建指令时,解析所述第一神经网络,获得网络信息,所述网络信息包括所述第一神经网络的图形结构信息和权值信息;
指示所述专用处理芯片按照所述网络信息建立第二神经网络;
指示所述专用处理芯片根据预先建立的所述第二神经网络处理所述目标信息,获取目标结果数据;
将所述目标结果数据传回所述中央处理器;
根据所述目标结果数据,执行对应的操作;
其中,所述指示所述专用处理芯片按照所述网络信息建立第二神经网络,包括:
获取所述网络信息中的所述图形结构信息和所述权值信息;
根据所述图形结构信息,确定各个算子的输入张量和输出张量;
根据各个算子的所述输入张量的标识和所述输出张量的标识,将所述第二神经网络中的算子完成串接;
根据所述权值信息,确定对应的卷积核,所述卷积核是对应的算子的输入张量。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述专用处理芯片中获取预定存储空间的全局内存;
按照所述专用处理芯片的数据规范,将所述网络信息存储在所述全局内存中。
3.根据权利要求2所述的方法,其特征在于,所述根据各个算子的所述输入张量的标识和所述输出张量的标识,将所述第二神经网络中的算子完成串接,包括:
当所述专用处理芯片构建完成第一算子时,检测所述第一算子是否具备与第二算子融合的条件,所述第二算子是所述第二神经网络中已经完成构建的算子;
当所述第一算子具备与第二算子融合的条件时,将所述第一算子和所述第二算子融合;
根据融合后的算子,更新所述全局内存中的网络信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述图形结构信息,确定所述第一神经网络的算子层数;
当所述算子层数大于等于层数阈值时,执行所述指示所述专用处理芯片根据所述预先建立的所述第二神经网络处理所述目标信息,获得目标结果数据的步骤。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
当所述目标结果数据是图像识别数据时,在被识别的目标图像中显示被框选的结果区域;
或,
当所述目标结果数据是语音识别数据时,播放合成后的人工智能语音或显示合成后的人工智能文本。
6.根据权利要求1至4任一所述的方法,其特征在于,所述专用处理芯片包括以下至少一项:
图像处理器、数字信号处理器、神经网络处理器、张量处理器、深度学习处理器或大脑处理器。
7.一种执行操作的装置,其特征在于,应用于电子设备中,所述电子设备包括专用处理芯片,所述装置包括:
信息接收模块,用于指示中央处理器接收目标信息,所述目标信息是第一神经网络待处理的信息;
网络解析模块,用于当接收到网络构建指令时,解析所述第一神经网络,获得网络信息,所述网络信息包括所述第一神经网络的图形结构信息和权值信息;
建网指示模块,用于指示所述专用处理芯片按照所述网络信息建立第二神经网络;
数据获得模块,用于指示所述专用处理芯片根据预先建立的所述第二神经网络处理所述目标信息,获得目标结果数据;
数据传回模块,用于将所述目标结果数据传回所述中央处理器;
操作执行模块,用于根据所述目标结果数据,执行对应的操作;
所述建网指示模块,还用于获取所述网络信息中的所述图形结构信息和所述权值信息;
所述建网指示模块,还用于根据所述图形结构信息,确定各个算子的输入张量和输出张量;
所述建网指示模块,还用于根据各个算子的所述输入张量的标识和所述输出张量的标识,将所述第二神经网络中的算子完成串接;
所述建网指示模块,还用于根据所述权值信息,确定对应的卷积核,所述卷积核是对应的算子的输入张量。
8.一种电子设备,其特征在于,所述电子设备包括处理器、和与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行所述程序指令时实现如权利要求1至6任一所述的执行操作的方法。
9.一种计算机可读存储介质,所述存储介质中存储有程序指令,其特征在于,所述程序指令被处理器执行时实现如权利要求1至6任一所述的执行操作的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010419847.9A CN111582459B (zh) | 2020-05-18 | 2020-05-18 | 执行操作的方法、电子设备、装置及存储介质 |
PCT/CN2021/085028 WO2021232958A1 (zh) | 2020-05-18 | 2021-04-01 | 执行操作的方法、电子设备、装置及存储介质 |
TW110116092A TW202145079A (zh) | 2020-05-18 | 2021-05-04 | 執行操作的方法、電子設備、裝置及儲存媒介 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010419847.9A CN111582459B (zh) | 2020-05-18 | 2020-05-18 | 执行操作的方法、电子设备、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111582459A CN111582459A (zh) | 2020-08-25 |
CN111582459B true CN111582459B (zh) | 2023-10-20 |
Family
ID=72126875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010419847.9A Active CN111582459B (zh) | 2020-05-18 | 2020-05-18 | 执行操作的方法、电子设备、装置及存储介质 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN111582459B (zh) |
TW (1) | TW202145079A (zh) |
WO (1) | WO2021232958A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111582459B (zh) * | 2020-05-18 | 2023-10-20 | Oppo广东移动通信有限公司 | 执行操作的方法、电子设备、装置及存储介质 |
CN112465116B (zh) * | 2020-11-25 | 2022-12-09 | 安徽寒武纪信息科技有限公司 | 编译方法、运算方法、电子设备和存储介质 |
CN114819084B (zh) * | 2022-04-26 | 2024-03-01 | 北京百度网讯科技有限公司 | 模型推理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446996A (zh) * | 2018-10-31 | 2019-03-08 | 北京智慧眼科技股份有限公司 | 基于fpga的人脸识别数据处理装置及处理方法 |
CN110489344A (zh) * | 2019-08-02 | 2019-11-22 | Oppo广东移动通信有限公司 | 引擎测试方法及相关产品 |
CN110782029A (zh) * | 2019-10-25 | 2020-02-11 | 北京百度网讯科技有限公司 | 神经网络预测方法、装置、电子设备和自动驾驶系统 |
CN110942138A (zh) * | 2019-11-13 | 2020-03-31 | 华中科技大学 | 一种混合内存环境下深度神经网络的训练方法和系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180075913A (ko) * | 2016-12-27 | 2018-07-05 | 삼성전자주식회사 | 신경망 연산을 이용한 입력 처리 방법 및 이를 위한 장치 |
CN108734288B (zh) * | 2017-04-21 | 2021-01-29 | 上海寒武纪信息科技有限公司 | 一种运算方法及装置 |
CN107766939A (zh) * | 2017-11-07 | 2018-03-06 | 维沃移动通信有限公司 | 一种数据处理方法、装置及移动终端 |
US20190180183A1 (en) * | 2017-12-12 | 2019-06-13 | Amazon Technologies, Inc. | On-chip computational network |
CN108122031B (zh) * | 2017-12-20 | 2020-12-15 | 杭州国芯科技股份有限公司 | 一种低功耗的神经网络加速器装置 |
US11769042B2 (en) * | 2018-02-08 | 2023-09-26 | Western Digital Technologies, Inc. | Reconfigurable systolic neural network engine |
CN111582459B (zh) * | 2020-05-18 | 2023-10-20 | Oppo广东移动通信有限公司 | 执行操作的方法、电子设备、装置及存储介质 |
-
2020
- 2020-05-18 CN CN202010419847.9A patent/CN111582459B/zh active Active
-
2021
- 2021-04-01 WO PCT/CN2021/085028 patent/WO2021232958A1/zh active Application Filing
- 2021-05-04 TW TW110116092A patent/TW202145079A/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446996A (zh) * | 2018-10-31 | 2019-03-08 | 北京智慧眼科技股份有限公司 | 基于fpga的人脸识别数据处理装置及处理方法 |
CN110489344A (zh) * | 2019-08-02 | 2019-11-22 | Oppo广东移动通信有限公司 | 引擎测试方法及相关产品 |
CN110782029A (zh) * | 2019-10-25 | 2020-02-11 | 北京百度网讯科技有限公司 | 神经网络预测方法、装置、电子设备和自动驾驶系统 |
CN110942138A (zh) * | 2019-11-13 | 2020-03-31 | 华中科技大学 | 一种混合内存环境下深度神经网络的训练方法和系统 |
Non-Patent Citations (1)
Title |
---|
杨雪 ; 郑婷婷 ; 戴阳 ; .基于孪生卷积神经网络的图像融合.计算机系统应用.2020,(05),第196-198页. * |
Also Published As
Publication number | Publication date |
---|---|
WO2021232958A1 (zh) | 2021-11-25 |
CN111582459A (zh) | 2020-08-25 |
TW202145079A (zh) | 2021-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11734851B2 (en) | Face key point detection method and apparatus, storage medium, and electronic device | |
CN111582459B (zh) | 执行操作的方法、电子设备、装置及存储介质 | |
US11983926B2 (en) | Video content recognition method and apparatus, storage medium, and computer device | |
CN111275784B (zh) | 生成图像的方法和装置 | |
CN111598168B (zh) | 图像分类方法、装置、计算机设备及介质 | |
CN111210005B (zh) | 设备运行方法、装置、存储介质及电子设备 | |
CN111652887A (zh) | 图像分割模型训练方法、装置、计算机设备及存储介质 | |
US20230067934A1 (en) | Action Recognition Method, Apparatus and Device, Storage Medium and Computer Program Product | |
US20230011823A1 (en) | Method for converting image format, device, and storage medium | |
JP7282474B2 (ja) | 暗号化マスク確定方法、暗号化マスク確定装置、電子機器、記憶媒体およびコンピュータプログラム | |
CN110046571B (zh) | 用于识别年龄的方法和装置 | |
CN114925320B (zh) | 一种数据处理方法及相关装置 | |
CN112037305B (zh) | 对图像中的树状组织进行重建的方法、设备及存储介质 | |
US11532147B2 (en) | Diagnostic tool for deep learning similarity models | |
US20230298324A1 (en) | Image acquisition model training method and apparatus, image detection method and apparatus, and device | |
CN111260756A (zh) | 用于发送信息的方法和装置 | |
CN111339786B (zh) | 语音处理方法、装置、电子设备及存储介质 | |
CN112749364B (zh) | 基于人工智能的网页生成方法、装置、设备及存储介质 | |
CN114970666A (zh) | 一种口语处理方法、装置、电子设备及存储介质 | |
CN110689052B (zh) | 会话消息处理方法、装置、计算机设备和存储介质 | |
CN114186039A (zh) | 一种视觉问答方法、装置及电子设备 | |
CN113139447B (zh) | 特征分析方法、装置、计算机设备和存储介质 | |
CN113610064B (zh) | 笔迹识别方法和装置 | |
CN117632062A (zh) | 一种图像投屏方法、装置、存储介质及电子设备 | |
CN117218111A (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 |