CN114330675A - 一种芯片、加速卡、电子设备和数据处理方法 - Google Patents
一种芯片、加速卡、电子设备和数据处理方法 Download PDFInfo
- Publication number
- CN114330675A CN114330675A CN202111658144.2A CN202111658144A CN114330675A CN 114330675 A CN114330675 A CN 114330675A CN 202111658144 A CN202111658144 A CN 202111658144A CN 114330675 A CN114330675 A CN 114330675A
- Authority
- CN
- China
- Prior art keywords
- sub
- processing
- processing unit
- network
- networks
- 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
Links
Images
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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Credit Cards Or The Like (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开实施例提供一种芯片、加速卡、电子设备以及数据处理方法和装置,通过芯片内的控制单元控制调度神经网络的各子网络到第一处理单元中进行AI推理,在一组子网络的第一处理完成的情况下,控制单元即调度下一组子网络的网络参数到第一处理单元上进行下一阶段的第一处理,从而使神经网络所包括的多组子网络实现流水化处理,进而提升了处理效率。
Description
技术领域
本公开涉及芯片技术领域,尤其涉及一种芯片、加速卡、电子设备和数据处理方法。
背景技术
近年来,神经网络广泛应用于图像处理、故障诊断、视频安防等各种领域中,其中,大部分应用场景下可能需要多个神经网络配合起来才能解决一个复杂问题。然而,在实际应用中,终端在实现时通常需要通过Host CPU将各个神经网络串行调度到GPU或加速卡中,难以实现各个神经网络的流水化处理,处理效率较低。
发明内容
第一方面,本公开实施例提供一种芯片,所述芯片包括:控制单元,用于将神经网络包括的多组子网络中的一组子网络的网络参数调度到第一处理单元上;第一处理单元,用于基于调度到本处理单元的子网络的网络参数对视频中的待处理视频帧进行第一处理,得到第一视频帧;所述控制单元,还用于在所述第一处理完成的情况下,将所述多组子网络中的下一组子网络的网络参数调度到所述第一处理单元上。
在一些实施例中,所述第一处理单元用于在基于当前调度到本处理单元的子网络的网络参数对所述待处理视频帧进行的第一处理完成的情况下,向所述控制单元发送中断信号;所述控制单元用于在接收到所述中断信号的情况下,将所述下一组子网络的网络参数调度到所述第一处理单元上。
在一些实施例中,所述第一处理单元的数量大于1,每个第一处理单元用于基于调度到本处理单元的网络参数对所述待处理视频帧进行所述第一处理;所述控制单元用于将相邻的两组子网络的网络参数调度到不同的第一处理单元上。
在一些实施例中,所述多个第一处理单元中的每个第一处理单元用于:在本处理单元的第一处理完成的情况下,向所述控制单元发送中断信号,以使所述控制单元将所述下一组子网络的网络参数调度到其他第一处理单元上。
在一些实施例中,所述控制单元还用于:向所述第一处理单元发送使能信号,所述第一处理单元在接收到所述使能信号的情况下进行所述第一处理。
在一些实施例中,所述芯片还包括:第二处理单元,用于对所述第一视频帧进行第二处理,得到第二视频帧并输出。
在一些实施例中,所述芯片还包括:第三处理单元,用于对所述待处理视频帧进行第三处理后输出至所述第一处理单元,以使所述第一处理单元对经第三处理后的所述待处理视频帧进行第一处理。
第二方面,本公开实施例提供一种加速卡,所述加速卡包括:内存单元,用于存储神经网络包括的多组子网络中每组子网络的网络参数;以及本公开任一实施例所述的芯片。
第三方面,本公开实施例提供一种电子设备,所述电子设备包括:第二方面所述的加速卡;以及外部处理单元,用于将所述神经网络包括的多组子网络中每组子网络的网络参数输出至所述内存单元。
第四方面,本公开实施例提供一种数据处理方法,所述方法应用于本公开任一实施例所述的芯片中的控制单元;所述方法包括:将神经网络包括的多组子网络中的一组子网络的网络参数调度到第一处理单元上;在所述第一处理完成的情况下,将所述多组子网络中的下一组子网络的网络参数调度到所述第一处理单元上。
在一些实施例中,所述在所述第一处理完成的情况下,将所述多组子网络中的下一组子网络的网络参数调度到所述第一处理单元上,包括:接收所述第一处理单元发送的中断信号,所述第一处理单元在基于当前调度到本处理单元的子网络的网络参数对所述待处理视频帧进行的第一处理完成的情况下发送所述中断信号;响应于所述中断信号,将所述下一组子网络的网络参数调度到所述第一处理单元上。
在一些实施例中,所述第一处理单元的数量大于1,每个第一处理单元用于基于调度到本处理单元的网络参数对所述待处理视频帧进行所述第一处理;相邻的两组子网络的网络参数被调度到不同的第一处理单元上。
在一些实施例中,所述在所述第一处理完成的情况下,将所述多组子网络中的下一组子网络的网络参数调度到所述第一处理单元上,包括:接收所述第一处理单元发送的中断信号,所述第一处理单元在基于当前调度到本处理单元的子网络的网络参数对所述待处理视频帧进行的第一处理完成的情况下发送所述中断信号;响应于所述中断信号,将所述下一组子网络的网络参数调度到除所述第一处理单元以外的第一处理单元上。
在一些实施例中,所述方法还包括:向所述第一处理单元发送使能信号,所述第一处理单元在接收到所述使能信号的情况下进行所述第一处理。
第五方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开任一实施例所述方法中的步骤。
本公开实施例提供一种芯片、加速卡、电子设备和数据处理方法和装置,该芯片通过芯片内的控制单元控制调度神经网络的各子网络到第一处理单元中进行AI运算(包括训练和/或推理),在一组子网络的第一处理完成的情况下,控制单元即调度下一组子网络的网络参数到第一处理单元上进行下一阶段的第一处理,从而使神经网络所包括的多组子网络实现流水化处理,进而提升了处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
附图说明
此处的附图被并入说明书中并构成本公开的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1是本公开实施例的芯片的示意图;
图2是本公开实施例的数据处理流水线的示意图;
图3是本公开另一实施例的数据处理流水线的示意图;
图4是本公开实施例的多个处理单元间的数据流的示意图;
图5是本公开根据一示例性实施例示出的一种加速卡的示意图;
图6是本公开根据一示例性实施例示出的一种电子设备的示意图;
图7是本公开根据一示例性实施例示出的一种数据处理方法的流程图;
图8是本公开根据一示例性实施例示出的一种数据处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。
近年来,神经网络广泛应用于图像处理、故障诊断、视频安防等各种领域中,其中,大部分应用场景下可能需要多个神经网络配合起来才能解决一个复杂问题,如,在执行图像质量评估的任务时,可能需要能够用于提取出图像在不同质量维度的特征的若干个神经网络以及能够用于给图像在不同质量维度的特征进行评分的神经网络组合起来,才能得到表征图像质量的评分值。
在实际应用中,终端在实现时通常需要通过Host CPU将各个神经网络串行调度到GPU或加速卡中,难以实现各个神经网络的流水化处理。以利用多个神经网络对待处理视频进行视频中人脸识别为例,其往往需要基于视频解码、视频帧分析、人脸局部特征分析等多个步骤提取出视频中的人脸特征,才能实现最终的人脸识别,其中视频帧分析、人脸局部特征分析等多个步骤可以是基于多个神经网络来实现的。在这种场景中,终端一般会借助GPU或加速卡来实现AI训练(即通过样本数据对神经网络进行训练的过程)或AI推理(所谓推理就是按照某种策略从已有事实和知识推出结论的过程,而AI推理就是利用人工智能算法对输入数据进行处理的过程)。相关技术中,各个神经网络的数据一般存于Host主存中,由Host CPU在使用时将各个神经网络串行调度到GPU或加速卡中,如,Host CPU先将待处理的视频帧以及用于检测视频帧中人脸区域的神经网络的网络参数调度给GPU或加速卡中,在GPU或加速卡完成模型推理后,Host CPU再将用于人脸局部特征分析的神经网络的网络参数调度给GPU或加速卡,以此类推。这样,各个神经网络难以实现流水化处理,容易影响处理效率。
基于此,本公开实施例提供一种芯片,用以解决上述问题。如图1所示,是本公开根据一示例性实施例示出的芯片的示意图。所述芯片包括:
控制单元102,用于将神经网络包括的多组子网络中的一组子网络的网络参数调度到第一处理单元上101;
第一处理单元101,用于基于调度到本处理单元的子网络的网络参数对视频中的待处理视频帧进行第一处理,得到第一视频帧;
控制单元102,还用于在所述第一处理完成的情况下,将所述多组子网络中的下一组子网络的网络参数调度到所述第一处理单元上。
上述芯片可以是AI芯片或者图形处理器芯片等数据处理芯片。上述芯片可应用于加速卡中。下面均以AI加速卡为例,AI加速卡是一种专门设计的用来加速AI算法执行的处理器产品,该AI加速卡可以是包括用于进行AI运算的芯片、通信接口等硬件模块的电路板,该用于进行AI运算的芯片可以是GPU(Graphics Processing Unit,图形处理器)、FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)、ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)中的任意一种,也可以是其他类型的芯片,本公开对此不作限制。AI加速卡可以插设在插槽中并通过通信接口,例如PCIe(PeripheralComponent Interconnect Express,高速串行计算机扩展总线标准)接口与Host CPU进行通信,当然,在其他实施例中,AI加速卡也可以通过其他类型的接口,如QPI(Quick PathInterconnect,快速通道互联)接口,作为与Host CPU之间的交互通道。
AI加速卡中可以包括内存单元,用于存储神经网络包括的多组子网络中每组子网络的网络参数。上述内存单元是集成在AI加速卡上的存储器,是AI加速卡的内存的组成部分,该内存单元可以是DRAM(Dynamic Random Access Memory,动态随机存取存储器)或SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器),也可以是其他类型的存储器,本公开对此不作限制。每组子网络可以是一个独立的神经网络,也可以包括该神经网络的一个或多个网络层。各子网络的网络参数可以包括算子(例如,加法算子、乘法算子等)和算子进行运算所需的参数。一组子网络可以通过其对应的网络参数,将输入映射成输出。一组子网络可以实现一种功能,其中,一组子网络中至少包括一个子网络,在神经网络包括多组子网络的情况下,各组子网络中包括的子网络的数量可以相同,也可以不同。不同的子网络可以实现不同的功能,例如,一组用于执行视频中人脸识别任务的神经网络可以包括用于进行人脸检测的子网络以及用于进行人脸局部特征分析的子网络等。需要说明的是,一个子网络的类型可以是CNN(Convolutional Neural Network,卷积神经网络)、RNN(Recurrent Neural Network,循环神经网络)、LSTM(Long Short-TermMemory,长短期记忆网络)等的任意一种,不同子网络的类型可以相同,也可以不同,本公开对此不作限制。
在一些例子中,上述内存单元可以设置有多个分区,不同子网络的网络参数存储在不同分区中。也就是说,该内存单元的存储空间可以采用层次化的分区结构,以实现对各子网络的网络参数的分区存储管理。进一步地,为了方便对指定子网络的网络参数的读取,可以创建分区表,该分区表可以记录每个分区的起始地址、大小、对应的子网络的标识等信息,这样其他单元可以通过查找该分区表来确定指定子网络的存储地址,进而根据该存储地址读取到该指定子网络的网络参数;或者,可以为不同子网络设置不同的分区标识,内存单元根据子网络的分区标识确定分区路径,并将该子网络的网络参数存储在该分区路径对应的分区中,相对应地,其他单元也可以根据指定子网络的分区标识从内存单元中查找到该指定子网络的网络参数。当然,在其他实施例中,也可以根据具体场景的需要设置其他的存储管理方式。
上述第一处理单元101是AI加速卡中执行AI运算任务的功能模块,可以将第一处理单元称为运算单元(Computing Unit,CU)。第一处理单元中可以包括执行加法运算的子单元、执行乘法运算的子单元、执行卷积乘运算的子单元等多个子单元,这些子单元可以称为可重构簇,这些可重构簇可以组合起来,通过重构的方式形成不同的运算通路去执行不同的任务。该第一处理单元基于网络参数对待处理视频帧进行第一处理可以是指该第一处理单元利用对应的子网络对待处理视频帧进行相应的处理。该第一处理的具体内容可以根据子网络所实现的功能来确定,例如,其中一组子网络可以用于对待处理视频帧进行特征提取,以得到待处理视频帧对应的特征图;另一组子网络可以用于基于特征图对待处理视频帧中的目标对象进行目标检测,得到待处理视频帧对应的目标检测结果;再一组子网络可以用于基于待处理视频帧对应的目标检测结果对待处理视频帧中的目标对象进行识别,得到待处理视频帧中的目标对象的类别。需要说明的是,本实施例中,第一处理单元所执行的AI运算任务可以是AI训练,也可以是AI推理,为了简洁,后续内容以AI推理进行描述。
在本实施例中,第一处理单元基于子网络的网络参数对待处理视频帧进行第一处理的操作是在控制单元的控制调度下执行的,通过控制单元的控制调度,第一处理单元可以有序地采用合适的子网络对视频帧进行处理。可选地,该控制单元可以是MCU(Microcontroller Unit,微控制单元),也就是说,不同于相关技术中单纯作为slave设备的AI加速卡,本实施例通过在AI加速卡中增设MCU,用以替代Host CPU来对各子网络进行控制调度。当然,在其他实施例中,该控制单元也可以是arm、risc-v、PowerPC等架构的处理器芯片。在一些例子中,该控制单元可以是通过向第一处理单元发送使能信号的方式,对下载到第一处理单元中的子网络进行控制调度。该使能信号类似一个触发信号,通过这一信号可以触发第一处理单元执行读取网络参数,进而基于读取的网络参数对待处理视频帧进行第一处理的操作。可选地,该控制单元可以是在使能第一处理单元后,为该第一处理单元配置需要读取的网络参数的存储地址,以使该第一处理单元到该存储地址下读取相应的数据。
为了保证控制单元对多组子网络的合理调度,在一些例子中,该第一处理单元可以用于在基于当前调度到本处理单元的子网络的网络参数对该待处理视频帧进行的第一处理完成的情况下,向控制单元发送中断信号;该控制单元用于在接收到该中断信号的情况下,将下一组子网络的网络参数调度到该第一处理单元上。也就是说,第一处理单元在基于一组子网络对待处理视频帧的处理完成的情况下,可以通过向控制单元发送中断信号的方式通知控制单元,以使控制单元调度下一组子网络的网络参数,这样,第一处理单元可以基于下一组子网络的网络参数对待处理视频帧进行处理。如此,AI加速卡可以在完成第一组子网络的AI推理后,立即启用第二组子网络的AI推理,依次类推,一直到完成最后一组子网络的AI推理,从而实现各组子网络的流水化处理,提升处理效率。
芯片中所包括的第一处理单元的数量可以为N,其中,N可以为1,也就是说,可以由一个CU完成神经网络所包括的所有子网络的AI推理;或者,N可以大于等于2,也就是说,可以由多个CU完成多组子网络的AI推理。在芯片包括多个第一处理单元的情况下,每个第一处理单元可以用于基于调度到本处理单元的网络参数对待处理视频帧进行第一处理,控制单元可以用于将相邻的两组子网络的网络参数调度到不同的第一处理单元上。同样地,每个第一处理单元可以在本处理单元的第一处理完成的情况下,向控制单元发送中断信号,以使该控制单元将下一组子网络的网络参数调度到其他第一处理单元上。这样,其他第一处理单元可以基于下一组子网络的网络参数来对本处理单元处理完成的视频帧继续处理。如此,可以实现各子网络的有序调度。在一些例子中,N的数值可以与神经网络所包括的子网络的数量相对应。例如,假若神经网络包括2组子网络,AI加速卡也可以包括2个第一处理单元,每个第一处理单元基于一组子网络的网络参数来对待处理视频帧进行处理,不同的第一处理单元对应不同子网络。这样,在第一个第一处理单元基于第一组子网络处理完一组视频帧的情况下,可以将这一组视频帧传递给第二个第一处理单元,由第二个第一处理单元基于第二组子网络处理这一组视频帧,此时第一个第一处理单元开始基于第一组子网络处理下一组视频帧,从而实现多组视频帧的流水化处理。
参见图2,在第一处理单元的数量以及子网络的组数均为2的情况下,可以由HostCPU通过PCIe接口将待处理的视频码流传输至AI加速卡的内存单元,视频通过视频解码单元(video codec)进行解码后得到待处理视频帧,MCU可以将待处理视频帧调度到第一个第一处理单元(CU1)上,同时,MCU还可以将第一组子网络(model1)的网络参数调度到CU1上,以使CU1基于model1对待处理视频帧进行处理。CU1得到的处理结果可以输出给第二个第一处理单元(CU2),同时,MCU还可以将第二组子网络(model2)的网络参数调度到CU2上,以使CU2基于model2对CU1输出的处理结果进行处理,得到最终的输出结果。在上述实施例中,通过CU1和CU2实现了model1和model2的流水化处理。
另外,在子网络的组数大于第一处理单元的数量的情况下,可以先依次调度其中一部分子网络的网络参数到第一处理单元中,在其中的某个或某些第一处理单元完成第一处理的情况下,将剩余的子网络的网络参数调度到完成第一处理的第一处理单元上。在一些实施例中,可以设定一次处理的视频帧数量n,在一个第一处理单元对n个视频帧处理完成的情况下,确定该第一处理单元完成所述第一处理。在一个第一处理单元基于一组子网络处理完设定的视频帧数量的情况下,可以调度另一组子网络的网络参数到该第一处理单元中。
如图3所示,是本公开实施例示出的一种调度子网络到CU以处理视频帧的流程的示意图,其中,AI加速卡中有3个CU,分别为CU1、CU2和CU3,而神经网络包括了6个子网络,分别为子网络1、子网络2、子网络3、子网络4、子网络5和子网络6(图中依次记为M1、M2、M3、M4、M5和M6),假设每个子网络为一组;由图2可知,各CU处理包括视频中的一组待处理视频帧的步骤可以表示为:
第一阶段:将子网络1调度到CU1,CU1基于子网络1处理视频帧1,此时CU2和CU3处于空闲状态(图2中,“M1:V1”表示基于子网络1处理视频帧1,“空”表示处于空闲状态,即未进行任何处理);
第二阶段:CU1对视频帧1处理完成后将视频帧1传递给CU2,将子网络2调度到CU2,此时CU1基于子网络1处理视频帧2,CU2基于子网络2处理视频帧1,CU3处于空闲状态;
第三阶段:CU2对视频帧1处理完成后将视频帧1传递给CU3,将子网络3调度到CU3,CU1对视频帧2处理完成后将视频帧2传递给CU2,此时,CU1基于子网络1处理视频帧3,CU2基于子网络2处理视频帧2,CU3基于子网络3处理视频帧1;
第四阶段:CU3对视频帧1处理完成后将视频帧1传递给CU1,将子网络4调度到CU1,CU2对视频帧2处理完成后将视频帧2传递给CU3,CU1对视频帧3处理完成后将视频帧3传递给CU2,此时,CU1基于子网络4处理视频帧1,CU2基于子网络2处理视频帧3,CU3基于子网络3处理视频帧2;
第五阶段:CU3对视频帧2处理完成后将视频帧2传递给CU1,CU2对视频帧3处理完成后将视频帧3传递给CU3,CU1对视频帧1处理完成后将视频帧1传递给CU2,将子网络5调度到CU2,此时,CU1基于子网络4处理视频帧2,CU2基于子网络5处理视频帧1,CU3基于子网络3处理视频帧3;
第六阶段:CU3对视频帧3处理完成后将视频帧3传递给CU1,CU2对视频帧1处理完成后将视频帧1传递给CU3,将子网络6调度到CU3,CU1对视频帧2处理完成后将视频帧2传递给CU2,此时,CU1基于子网络4处理视频帧3,CU2基于子网络5处理视频帧2,CU3基于子网络6处理视频帧1;
第七阶段:CU3对视频帧1处理完成后,视频帧1完成所有子网络的模型推理,此时将视频帧1存入内存中,CU2对视频帧2处理完成后将视频帧2传递给CU3,CU1对视频帧3处理完成后将视频帧3传递给CU2,重新将子网络1调度到CU1,此时,CU1基于子网络1处理视频帧4,CU2基于子网络5处理视频帧3,CU3基于子网络6处理视频帧2;
第八阶段:依次类推,直至针对所有待处理视频帧完成所有子网络的模型推理。
上述视频帧1、视频帧2和视频帧3均为一组视频帧,每组视频帧中视频帧的数量均为所述设定的视频帧数。各CU在基于当前调度到本CU的子网络完成对设定的视频帧数量的处理时,开始基于下一个调度到本CU的子网络来处理;而且,在设定的一次处理的多个视频帧中有完成所有子网络的模型推理的情况下,若有空闲状态的CU,则由该空闲状态的CU开始处理设定的下一次处理的多个视频帧。由此可以看出,各子网络之间形成pipeline(流水线),实现了对多个视频帧的并行处理,提高了处理效率。
在实际应用中,经常需要对一组子网络处理后的视频帧进行加工处理(称为后处理)。相关技术中,由于GPU或AI加速卡受限于硬件条件不支持通用性的处理操作,因此,这一加工处理一般是由Host CPU来实现的,这就导致Host CPU需要从GPU/AI加速卡的内存中读取出一组子网络处理后的视频帧,经过加工处理再存放至GPU/AI加速卡的内存中,以使GPU/AI加速卡基于下一组子网络对加工处理后的视频帧进行处理。这样就不同子网络之间难以流水化处理,影响各子网络之间的流水化处理。基于此,在一些例子中,本公开的芯片还可以包括第二处理单元,该第二处理单元用于对第一视频帧进行第二处理,得到第二视频帧,并将该第二视频帧输出至内存单元进行存储。所述的第二处理即上述后处理,可以包括裁剪处理、锐化处理、旋转处理、缩放处理、透明处理等加工处理中的至少一种。也就是说,本公开通过在AI加速卡中增设第二处理单元,替代Host CPU来执行模型后处理任务,这样可以实现更好的流水化。
在一个可选的实施例中,上述第二处理单元可以用于对第一视频帧进行图像分割,得到包括该第一视频帧中的目标对象的图像,并将该图像输出至内存单元。所述的目标对象可以是一个完整的物体,如人、篮球、树等,也可以是物体的一个局部部位,如人脸、人眼、树枝等。可选地,该目标对象可以根据下一组子网络的处理对象来进行确定。例如,在下一组子网络是用于人脸局部特征分析的神经网络的情况下,目标对象可以是人脸,则第二处理单元可以对第一视频帧进行图像分割,裁剪得到包括该第一视频帧中的人脸区域的图像,并将其该图像输出至内存单元,以便于下一组子网络的处理使用。
相对应地,在实际应用中,经常需要对解码得到的视频帧进行数据预处理后,再输入神经网络进行AI推理。而同样地,相关技术中,这一数据预处理一般是由Host CPU来实现的。为了更好地实现各子网络的流水化作业,在一些例子中,本公开的芯片可以包括第三处理单元,该第三处理单元用于对待处理视频帧进行第三处理后输出至第一处理单元,以使该第一处理单元对经第三处理后的待处理视频帧进行第一处理。所述第三处理也可以称为前处理或预处理,可以包括调整亮度、调整对比度、调整尺寸大小、图像分割、归一化等图像数据预处理中的至少一种。也就是说,本公开通过在AI加速卡中增设第三处理单元,替代Host CPU来执行模型前处理任务,这样可以使得“模型前处理-模型推理-模型后处理”在AI加速卡内部执行,实现更好的流水化,同时,可以减少占用Host CPU资源,减少Host CPU对AI加速卡的内存的访问频率。
参见图4,在包括前处理和后处理的实施例中,本公开实施例的芯片可以实现前处理、模型处理以及后处理的流水化过程。在一些实施例中,视频解码后得到的视频帧pic1可以输出到CU1,依次进行前处理、基于第一组子网络进行的模型处理以及后处理,CU1中的后处理单元输出的视频帧pic2可以进一步输出至CU2的前处理单元。同样地,CU2可以依次进行前处理、基于第二组子网络进行的模型处理以及后处理,并输出处理结果。以此类推,直到得到最终的输出结果。应当说明的是,一个CU中的后处理单元输出的视频帧可以作为下一个CU中的前处理单元处理的待处理视频帧。
除了模型前后处理任务以外,本公开的芯片还可以在视频解码方面减少对HostCPU资源的占用。在一些例子中,本公开的芯片还可以包括视频解码单元,该视频解码单元可以用于在控制单元的控制下,对视频进行视频解码,得到待处理视频帧,并将该待处理视频帧输出至内存单元。该视频解码单元可以包括视频编解码器,即能够对视频进行压缩或者解压缩的程序或者设备。通过这一设置,Host CPU只需要将待处理的视频传输到AI加速卡的内存中,AI加速卡内的控制单元就可以控制视频解码单元对该视频进行解码处理,并将解码得到的待处理视频帧输出至内存单元中,以便后续第一处理单元、第二处理单元以及第三处理单元等的处理。如此,实现将视频解码的业务下沉到AI加速卡端,减少了HostCPU和AI加速卡的内存之间的访问频率。需要说明的是,在一个可选的实施例中,该视频解码单元可以在视频解码完成的情况下,向控制单元发送第一中断信号,以使控制单元响应于该第一中断信号将网络参数调度到第一处理单元。也就是说,该视频解码单元可以以中断信号的形式,将视频解码完成的消息通知给控制单元,如此,提升AI加速卡内部的处理效率。
在一些例子中,控制单元可以是在AI加速卡启动后,立即控制视频解码单元开始进行视频解码;而在另一些例子中,控制单元也可以是在响应于接收到外部处理单元发送的控制指令的情况下,控制视频解码单元开始进行视频解码。这里的外部处理单元可以Host CPU。在其他实施例中,该外部处理单元也可以是除AI加速卡以外的其他Device(设备)端,如AI加速卡所在的终端所连接的外部设备。外部处理单元向控制单元发送控制指令,以触发控制单元控制视频解码单元开始进行视频解码,这样,可以在需要的时候启用AI加速卡的视频解码功能,进而触发后续AI加速卡的AI推理功能。此处需要说明的是,本公开中用Host CPU指代Host端的主处理器,在实际应用中,该主处理器也可以是除CPU以外其他类型的处理器,如MPU(Microprocessor Unit,微处理器)等,本公开对此不作限制。
本公开实施例所提供的芯片应用于加速卡,该加速卡的内存单元存储神经网络包括的多组子网络中每组子网络的网络参数,该芯片通过芯片内的控制单元控制调度神经网络的各子网络到第一处理单元中进行AI推理,这样,实现将控制调度各子网络的任务下沉到加速卡端,各子网络间的数据传递不再需要依赖Host CPU的控制调度,神经网络所包括的多组子网络实现流水化处理,进而提升了处理效率。
在一些实际应用场景中,本公开实施例的神经网络可以是用于进行人脸检测的神经网络,该神经网络可以包括用于进行目标跟踪的子网络和用于对人脸图像进行属性分析的子网络。当然,除了上述应用场景之外,本公开实施例的方案还可以用于其他应用场景,此处不再一一列举。
为了对本公开实施例的芯片做更为详细的说明,接下来介绍一具体实施例:
本实施例的芯片应用于AI加速卡,该AI加速卡插设在终端的主板插槽中。本实施例的场景是该终端利用神经网络技术对接收到的视频进行人脸识别的场景,该场景中,需要经视频解码、人脸区域识别、人脸局部特征分析等多个步骤提取特征才能实现最终的人脸识别,其中涉及N(N为大于1的正整数)组子网络,以这N组子网络包括子网络1和子网络2,每个子网络为一组为例,子网络1是用于人脸区域识别的神经网络,子网络2是用于人脸局部特征分析的神经网络。
相关技术中,AI加速卡一般是作为纯slave设备,用于辅助Host CPU的工作,终端执行AI推理的过程包括:
Host CPU对视频进行解码,得到帧数据;
Host CPU将帧数据以及子网络1下载到AI加速卡的内存里;
AI加速卡通过子网络1对帧数据进行模型推理,并将结果存放在内存中;
Host CPU从AI加速卡的内存中读取子网络1输出的结果;
Host CPU对子网络1输出的结果进行加工处理;
Host CPU将加工处理后的数据和子网络2下载到AI加速卡的内存里;
AI加速卡通过子网络2对处理后的数据进行模型推理,并将结果存放在内存中;
Host CPU读取AI加速卡的内存中存放的推理结果。
上述流程存在大量的Host与加速卡间的内存访问动作,需要占用较多的Host CPU资源,不同子网络无法流水化处理,AI推理的效率较低。
而本实施例中,在AI加速卡内部做了改进,改进后的AI加速卡包括MCU(即上述控制组单元)、DRAM(即上述内存单元)、Video Codec(即上述视频解码单元)、PCIe以及若干个CU(可以包括上述第一处理单元);其中,DRAM是AI加速卡的内存,用于存储神经网络的网络参数以及处理前后的视频帧;MCU用于调度模型的网络参数到CU中,以及对Video Codec和JPEG Codec进行控制调度;每个CU用于基于神经网络对视频帧进行模型推理,CU中还包括前处理单元和后处理单元,前处理单元用于负责模型的前处理任务,后处理单元用于负责模型的后处理任务;Video Codec是视频编解码器,用于对视频进行解码;PCIe是AI加速卡与Host CPU之间的交互通路,用于实现AI加速卡与Host CPU之间的命令下发、数据传输等,视频码流也可通过该PCIe传输到AI加速卡的内存中;另外,在AI加速卡内,上述的各模块通过NoC(Network On Chip,片上网络)等互联总线和内存实现互联。
本实施例中,终端执行AI推理的过程包括:
Host CPU将待处理视频、子网络1的网络参数和子网络2的参数传输至AI加速卡的内存中;
AI加速卡内的MCU控制Video Codec对内存中的视频进行解码,并控制前处理单元对解码后的视频帧进行数据预处理(例如,调整尺寸大小、图像分割和数据归一化)后,将得到的帧大图存放到内存中;
AI加速卡内的MCU控制CU读取解码得到的帧大图并传输到子网络1,再使能子网络1开始进行第一阶段的模型推理,得到的结果数据传输到后处理单元;
AI加速卡内的MCU控制后处理单元将子网络1的输出数据进行图像分割,得到符合要求的帧小图(如,去掉背景特征,并保留人脸局部特征等),并将帧小图存放到内存中;
AI加速卡内的MCU控制CU读取帧小图并传输到子网络2,再使能子网络2开始进行第二阶段的模型推理,得到的结果数据传输到后处理单元;
子网络2的后处理单元进行后处理,并得到最终的处理结果。
需要说明的是,本实施例中以子网络1和子网络2为例,但在实际应用中,子网络的组数可以大于等于3,即可以有多组神经网络,而针对子网络2之后的子网络的模型推理过程与子网络2的模型推理过程类似,本实施例在此不再赘述;而且,本实施例中,不同的CU负责不同的子网络,其构成一条硬件流水线作业,由MCU负责流水线工作的控制调度。
本实施例的方案至少具有以下优点:
(1)将视频解码、图像编码、模型前后处理等业务下沉到AI加速卡端,Host CPU只需将相关模型和视频码流传输给AI加速卡即可,极大地减轻了Host CPU的工作负担;
(2)将所有的模型一次性下载到AI加速卡端,通过AI加速卡内的MCU控制调度,实现了多模型间的pipeline,而且,“模型前处理-模型推理-模型后处理”在AI加速卡内部执行,实现了更好的pipeline处理;并且,不同的视频帧可以在多个CU之间实现流水化处理;
(3)模型间的数据传递不再需要依赖Host CPU控制调度,减少了Host CPU对AI加速卡的内存访问频率,因而进一步提升了处理效率。
经试验发现,经本实施例的方案得到的终端显示结果,相较于相关技术方案得到的终端显示结果而言,有效避免了掉帧的情况,终端显示的画面更加流畅。
与前述的芯片的实施例相对应,本公开还提供了AI加速卡及其对应的设备的实施例。如图5所示,是本公开根据一示例性实施例示出的一种加速卡的示意图,所述加速卡包括:
内存单元501,用于存储神经网络的网络参数;以及
芯片502。
上述芯片502可以采用前述任一实施例所述的芯片。
如图6所示,是本公开根据一示例性实施例示出的一种电子设备的示意图,所述电子设备包括加速卡601以及外部处理单元602,其中,所述加速卡601可以采用前述任一实施例中的加速卡;所述外部处理单元602可以是前述实施例中的Host CPU,用于将所述神经网络的网络参数输出至所述内存单元。
上述加速卡以及电子设备中各个组件的功能和作用的实现过程具体详见上述芯片中对应组件的实现过程,在此不再赘述。需要说明的是,上述芯片所对应的其他改进内容同样适用于加速卡以及电子设备。
参见图7,本公开实施例还提供一种数据处理方法,所述方法应用于本公开任一实施例所述的芯片中的控制单元;所述方法包括:
步骤701:将神经网络包括的多组子网络中的一组子网络的网络参数调度到第一处理单元上;
步骤702:在所述第一处理完成的情况下,将所述多组子网络中的下一组子网络的网络参数调度到所述第一处理单元上。
在一些实施例中,所述在所述第一处理完成的情况下,将所述多组子网络中的下一组子网络的网络参数调度到所述第一处理单元上,包括:接收所述第一处理单元发送的中断信号,所述第一处理单元在基于当前调度到本处理单元的子网络的网络参数对所述待处理视频帧进行的第一处理完成的情况下发送所述中断信号;响应于所述中断信号,将所述下一组子网络的网络参数调度到所述第一处理单元上。
在一些实施例中,所述第一处理单元的数量大于1,每个第一处理单元用于基于调度到本处理单元的网络参数对所述待处理视频帧进行所述第一处理;相邻的两组子网络的网络参数被调度到不同的第一处理单元上。
在一些实施例中,所述在所述第一处理完成的情况下,将所述多组子网络中的下一组子网络的网络参数调度到所述第一处理单元上,包括:接收所述第一处理单元发送的中断信号,所述第一处理单元在基于当前调度到本处理单元的子网络的网络参数对所述待处理视频帧进行的第一处理完成的情况下发送所述中断信号;响应于所述中断信号,将所述下一组子网络的网络参数调度到除所述第一处理单元以外的第一处理单元上。
在一些实施例中,所述方法还包括:向所述第一处理单元发送使能信号,所述第一处理单元在接收到所述使能信号的情况下进行所述第一处理。
上述方法实施例中控制单元执行的步骤详见前述芯片实施例中控制单元所执行的功能,此处不再赘述。
参见图8,本公开实施例还提供一种数据处理装置,所述装置应用于本公开任一实施例所述的芯片中的控制单元;所述装置包括:
第一调度模块801,用于将神经网络包括的多组子网络中的一组子网络的网络参数调度到第一处理单元上;
第二调度模块802,用于在所述第一处理完成的情况下,将所述多组子网络中的下一组子网络的网络参数调度到所述第一处理单元上。
在一些实施例中,所述第二调度模块用于:接收所述第一处理单元发送的中断信号,所述第一处理单元在基于当前调度到本处理单元的子网络的网络参数对所述待处理视频帧进行的第一处理完成的情况下发送所述中断信号;响应于所述中断信号,将所述下一组子网络的网络参数调度到所述第一处理单元上。
在一些实施例中,所述第一处理单元的数量大于1,每个第一处理单元用于基于调度到本处理单元的网络参数对所述待处理视频帧进行所述第一处理;相邻的两组子网络的网络参数被调度到不同的第一处理单元上。
在一些实施例中,所述第二调度模块用于:接收所述第一处理单元发送的中断信号,所述第一处理单元在基于当前调度到本处理单元的子网络的网络参数对所述待处理视频帧进行的第一处理完成的情况下发送所述中断信号;响应于所述中断信号,将所述下一组子网络的网络参数调度到除所述第一处理单元以外的第一处理单元上。
在一些实施例中,所述装置还包括:发送模块,用于向所述第一处理单元发送使能信号,所述第一处理单元在接收到所述使能信号的情况下进行所述第一处理。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开任一实施例所述方法中的步骤。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本公开实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
以上所描述的各实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本公开实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本公开实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开实施例的保护范围。
Claims (11)
1.一种芯片,其特征在于,所述芯片包括:
控制单元,用于将神经网络包括的多组子网络中的一组子网络的网络参数调度到第一处理单元上;
第一处理单元,用于基于调度到本处理单元的子网络的网络参数对视频中的待处理视频帧进行第一处理,得到第一视频帧;
所述控制单元,还用于在所述第一处理完成的情况下,将所述多组子网络中的下一组子网络的网络参数调度到所述第一处理单元上。
2.根据权利要求1所述的芯片,其特征在于,所述第一处理单元用于在基于当前调度到本处理单元的子网络的网络参数对所述待处理视频帧进行的第一处理完成的情况下,向所述控制单元发送中断信号;
所述控制单元用于在接收到所述中断信号的情况下,将所述下一组子网络的网络参数调度到所述第一处理单元上。
3.根据权利要求1或2所述的芯片,其特征在于,所述第一处理单元的数量大于1,每个第一处理单元用于基于调度到本处理单元的网络参数对所述待处理视频帧进行所述第一处理;
所述控制单元用于将相邻的两组子网络的网络参数调度到不同的第一处理单元上。
4.根据权利要求3所述的芯片,其特征在于,每个第一处理单元用于:
在本处理单元的第一处理完成的情况下,向所述控制单元发送中断信号,以使所述控制单元将所述下一组子网络的网络参数调度到其他第一处理单元上。
5.根据权利要求1至4任一项所述的芯片,其特征在于,所述控制单元还用于:
向所述第一处理单元发送使能信号,所述第一处理单元在接收到所述使能信号的情况下进行所述第一处理。
6.根据权利要求1至5任一项所述的芯片,其特征在于,所述芯片还包括:
第二处理单元,用于对所述第一视频帧进行第二处理,得到第二视频帧并输出。
7.根据权利要求1至6任一项所述的芯片,其特征在于,所述芯片还包括:
第三处理单元,用于对所述待处理视频帧进行第三处理后输出至所述第一处理单元,以使所述第一处理单元对经第三处理后的所述待处理视频帧进行第一处理。
8.一种加速卡,其特征在于,所述加速卡包括:
内存单元,用于存储神经网络包括的多组子网络中每组子网络的网络参数;以及
权利要求1至7任一项所述的芯片。
9.一种电子设备,其特征在于,所述电子设备包括:
权利要求8所述的加速卡;以及
外部处理单元,用于将所述神经网络包括的多组子网络中每组子网络的网络参数输出至所述内存单元。
10.一种数据处理方法,其特征在于,所述方法应用于权利要求1至7任意一项所述的芯片中的控制单元;所述方法包括:
将神经网络包括的多组子网络中的一组子网络的网络参数调度到第一处理单元上;
在所述第一处理完成的情况下,将所述多组子网络中的下一组子网络的网络参数调度到所述第一处理单元上。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求10所述方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111658144.2A CN114330675A (zh) | 2021-12-30 | 2021-12-30 | 一种芯片、加速卡、电子设备和数据处理方法 |
PCT/CN2022/124257 WO2023124361A1 (zh) | 2021-12-30 | 2022-10-10 | 芯片、加速卡、电子设备和数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111658144.2A CN114330675A (zh) | 2021-12-30 | 2021-12-30 | 一种芯片、加速卡、电子设备和数据处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114330675A true CN114330675A (zh) | 2022-04-12 |
Family
ID=81018318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111658144.2A Pending CN114330675A (zh) | 2021-12-30 | 2021-12-30 | 一种芯片、加速卡、电子设备和数据处理方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114330675A (zh) |
WO (1) | WO2023124361A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023124361A1 (zh) * | 2021-12-30 | 2023-07-06 | 上海商汤智能科技有限公司 | 芯片、加速卡、电子设备和数据处理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108985451B (zh) * | 2018-06-29 | 2020-08-04 | 百度在线网络技术(北京)有限公司 | 基于ai芯片的数据处理方法及设备 |
US11568219B2 (en) * | 2019-05-17 | 2023-01-31 | Aspiring Sky Co. Limited | Multiple accelerators for neural network |
CN111339027B (zh) * | 2020-02-25 | 2023-11-28 | 中国科学院苏州纳米技术与纳米仿生研究所 | 可重构的人工智能核心与异构多核芯片的自动设计方法 |
CN111626414B (zh) * | 2020-07-30 | 2020-10-27 | 电子科技大学 | 一种动态多精度神经网络加速单元 |
CN112819145A (zh) * | 2021-02-26 | 2021-05-18 | 上海阵量智能科技有限公司 | 芯片、神经网络训练系统、内存管理方法及装置、设备 |
CN114330675A (zh) * | 2021-12-30 | 2022-04-12 | 上海阵量智能科技有限公司 | 一种芯片、加速卡、电子设备和数据处理方法 |
-
2021
- 2021-12-30 CN CN202111658144.2A patent/CN114330675A/zh active Pending
-
2022
- 2022-10-10 WO PCT/CN2022/124257 patent/WO2023124361A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023124361A1 (zh) * | 2021-12-30 | 2023-07-06 | 上海商汤智能科技有限公司 | 芯片、加速卡、电子设备和数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2023124361A1 (zh) | 2023-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019242222A1 (zh) | 用于生成信息的方法和装置 | |
CN107480587B (zh) | 一种模型配置以及图像识别的方法及装置 | |
CN111242217A (zh) | 图像识别模型的训练方法、装置、电子设备及存储介质 | |
CN113704531A (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
WO2023124428A1 (zh) | 芯片、加速卡以及电子设备、数据处理方法 | |
CN113627536B (zh) | 模型训练、视频分类方法,装置,设备以及存储介质 | |
CN112559809A (zh) | 消费者多渠道数据整合方法、系统、设备及存储介质 | |
CN114238904A (zh) | 身份识别方法、双通道超分模型的训练方法及装置 | |
WO2023124361A1 (zh) | 芯片、加速卡、电子设备和数据处理方法 | |
CN114048816B (zh) | 一种图神经网络数据采样方法、装置、设备及存储介质 | |
CN112016548B (zh) | 一种封面图展示方法及相关装置 | |
CN117273069A (zh) | 一种基于神经网络模型的推理方法、装置、设备及介质 | |
US11741349B2 (en) | Performing matrix-vector multiply operations for neural networks on electronic devices | |
CN116385611A (zh) | 数据处理方法、装置和电子设备 | |
CN110795993A (zh) | 一种构建模型的方法、装置、终端设备及介质 | |
CN115984977A (zh) | 活体检测方法和系统 | |
CN114745516A (zh) | 全景视频的生成方法、装置、存储介质及电子设备 | |
CN113992493B (zh) | 视频处理方法、系统、设备及存储介质 | |
CN114119374A (zh) | 图像处理方法、装置、设备以及存储介质 | |
CN115841437A (zh) | 一种图像增强的方法、装置及设备 | |
CN114356512A (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
CN114359811A (zh) | 数据鉴伪方法、装置、电子设备以及存储介质 | |
CN113840169A (zh) | 一种视频处理方法、装置、计算设备和存储介质 | |
US11966789B2 (en) | System and method for queuing node load for malware analysis | |
CN117501278A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40062810 Country of ref document: HK |