CN114327637A - 数据转换方法、装置、电子设备、介质以及计算机程序产品 - Google Patents
数据转换方法、装置、电子设备、介质以及计算机程序产品 Download PDFInfo
- Publication number
- CN114327637A CN114327637A CN202111598640.3A CN202111598640A CN114327637A CN 114327637 A CN114327637 A CN 114327637A CN 202111598640 A CN202111598640 A CN 202111598640A CN 114327637 A CN114327637 A CN 114327637A
- Authority
- CN
- China
- Prior art keywords
- data
- coefficient
- quantized
- converted
- asymmetric
- 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
Landscapes
- Image Processing (AREA)
Abstract
本申请涉及机器学习技术领域,特别涉及一种数据转换方法、装置、电子设备、介质以及计算机程序产品,该方法包括:第一处理器获取待转换数据的类型转换参数,待转换数据的类型转换参数用于表示待转换数据的量程参数以及待转换数据对应的数据转换结果的量程参数。第一处理器根据待转换数据的类型转换参数,确定第一系数和第二系数。第二处理器基于从第一处理器获取的第一系数和第二系数,以第一系数作为卷积核中的数据以及以第二系数作为偏置项中的数据,对待转换数据进行卷积运算,得到待转换数据对应的数据转换结果,从而实现协处理器能够支持的多种数据类型,还能提高第二处理器整体的数据处理效率。
Description
技术领域
本申请涉及机器学习技术领域,特别涉及一种数据转换方法、装置、电子设备、介质以及计算机程序产品。
背景技术
目前,随着深度学习技术在多个领域的快速应用,出现了大量的基于深度学习的神经网络模型。例如,深度神经网络(Deep Neural Network,DNN)以及卷积神经网络(Convolutional Neural Network,CNN)等神经网络模型。但是,现有的神经网络模型都是存储浮点型数据,一个神经网络模型一般需要几十兆至上百兆的存储资源,导致神经网络模型很难移植到手机等终端设备进行使用。并且一个神经网络模型需要进行大量的乘、加等运算,在一些对实时性要求比较高的应用场景,采用浮点型数据进行计算,很难满足实时性要求。例如自动驾驶场景中,需要多个网络同时进行计算。因此,在神经网络模型被部署于手机等嵌入式电子设备中时,神经网络模型一般只支持整型数的运算。
其中,整型数又包括非对称量化数据和对称量化数据。例如,在实际的应用中,为了进一步降低神经网络处理器的硬件成本,运行神经网络模型的神经网络处理器通常仅支持非对称量化数据运算或对称量化数据运算中的一种。
发明内容
本申请的目的在于提供了一种数据转换方法、装置、电子设备、介质以及计算机程序产品。通过本申请的数据转换方法,在协处理器(第二处理器)仅支持非对称量化数据运算或对称量化数据运算中的一种的情况下,协处理器通过构建二维卷积运算,能够将非对称量化数据转换成对称量化数据,或者对称量化数据转换成非对称量化数据,实现协处理器同时支持非对称量化数据运算和对称量化数据运算。从而实现在保证协处理器硬件成本的情况下,增加协处理器能够支持的数据类型。
并且,相较于在处理器(第一处理器)上将非对称量化数据转换成对称量化数据,或者对称量化数据转换成非对称量化数据,然后处理器将对称量化数据或非对称量化数据发送给协处理器,协处理器通过构建二维卷积运算,将非对称量化数据转换成对称量化数据,或者对称量化数据转换成非对称量化数据,还能避免额外占用处理器资源,提高协处理器整体的数据处理效率。
本申请的第一方面提供了一种数据转换方法,用于电子设备,电子设备包括第一处理器和第二处理器,该方法包括:
第一处理器获取待转换数据的类型转换参数,待转换数据的类型转换参数用于表示待转换数据的量程参数以及待转换数据对应的数据转换结果的量程参数。
第一处理器根据待转换数据的类型转换参数,确定第一系数和第二系数。
第二处理器基于从第一处理器获取的第一系数和第二系数,以第一系数作为卷积核中的数据以及以第二系数作为偏置项中的数据,对待转换数据进行卷积运算,得到待转换数据对应的数据转换结果。
不难理解,待转换数据可以是对称量化数据,则待转换数据对应的数据可以是非对称量化数据。待转换数据也可以是非对称量化数据,则待转换数据对应的数据可以是对称量化数据。在待转换数据为非对称量化数据,并且待转换数据对应的数据转换结果为对称量化数据的情况下,第一系数即为下文中的第一量化系数,第二系数即为下文中的第二量化系数。在待转换数据为对称量化数据,并且待转换数据对应的数据转换结果为非对称量化数据的情况下,第一系数即为下文中的第三量化系数,第二系数即为下文中的第四量化系数。
在上述第一方面的一种可能的实现中,待转换数据的类型转换参数包括以下至少一个:非对称量化系数、非对称量化数据的零点值、对称量化系数。
在上述第一方面的一种可能的实现中,第一处理器根据待转换数据的类型转换参数,确定第一系数和第二系数包括:
在待转换数据为非对称量化数据,并且待转换数据对应的数据转换结果为对称量化数据的情况下,第一系数由以下公式计算得到:
Wf=AS*S
第二系数由以下公式计算得到:
Bf=-ZP*AS*S
其中,AS表示非对称量化系数,S表示对称量化系数,ZP表示非对称量化数据的零点值。
在上述第一方面的一种可能的实现中,第一处理器根据待转换数据的类型转换参数,确定第一系数和第二系数包括:
在待转换数据为对称量化数据,并且待转换数据对应的数据转换结果为非对称量化数据的情况下,第二系数为非对称量化数据的零点值,第一系数由以下公式计算得到:
其中,AS表示非对称量化系数,S表示对称量化系数。
在上述第一方面的一种可能的实现中,卷积核的高度值和宽度值分别为1。
本申请的第二方面提供了一种数据转换装置,该装置包括:
获取模块,用于第一处理器获取待转换数据的类型转换参数,待转换数据的类型转换参数用于表示待转换数据的量程参数以及待转换数据对应的数据转换结果的量程参数。
确定模块,用于第一处理器根据待转换数据的类型转换参数,确定第一系数和第二系数。
卷积模块,用于第二处理器基于从第一处理器获取的第一系数和第二系数,以第一系数作为卷积核中的数据以及以第二系数作为偏置项中的数据,对待转换数据进行卷积运算,得到待转换数据对应的数据转换结果。
在上述第二方面的一种可能的实现中,待转换数据的类型转换参数包括以下至少一个:非对称量化系数、非对称量化数据的零点值、对称量化系数。
第一处理器根据待转换数据的类型转换参数,确定第一系数和第二系数包括:
在待转换数据为非对称量化数据,并且待转换数据对应的数据转换结果为对称量化数据的情况下,第一系数由以下公式计算得到:
Wf=AS*S
第二系数由以下公式计算得到:
Bf=-ZP*AS*S
其中,AS表示非对称量化系数,S表示对称量化系数,ZP表示非对称量化数据的零点值。
在上述第二方面的一种可能的实现中,第一处理器根据待转换数据的类型转换参数,确定第一系数和第二系数包括:
在待转换数据为对称量化数据,并且待转换数据对应的数据转换结果为非对称量化数据的情况下,第二系数为非对称量化数据的零点值,第一系数由以下公式计算得到:
其中,AS表示非对称量化系数,S表示对称量化系数。
在上述第二方面的一种可能的实现中,卷积核的高度值和宽度值分别为1。
本申请的第三方面提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令,以及多个处理器,用于运行存储器中的指令,以执行第一方面的数据转换方法。
本申请的第四方面提供了一种计算机可读存储介质,包括:电子设备的可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行第一方面的数据转换方法。
本申请的第五方面提供了一种计算机程序产品,包括计算机程序产品包括指令,该指令用于实现第一方面的数据转换方法。
附图说明
图1根据本申请的一些实施例,示出了一种卷积神经网络运算的正向计算流程图;
图2根据本申请的一些实施例,示出了一种执行数据转换方法的片上系统(Systemon Chip,SOC)的结构示意图;
图3根据本申请的一些实施例,示出了一种图像包含的非对称量化数据的示意图;
图4根据本申请的一些实施例,示出了一种片上系统的分立元件处理将非对称量化数据转换成对称量化数据的过程示意图;
图5根据本申请的一些实施例,示出了一种图像包含的非对称量化数据转换成对应的对称量化数据示意图;
图6根据本申请的一些实施例,示出了另一种片上系统的分立元件处理将非对称量化数据转换成对称量化数据的过程示意图;
图7根据本申请的一些实施例,示出了另一种片上系统的分立元件将非对称量化数据转换成对称量化数据的交互过程的示意图;
图8A根据本申请的一些实施例,示出了一种卷积层对矩阵进行二维卷积运算,最终得到矩阵的一示意图;
图8B至图8D为根据本申请的实施例,示出了一种矩阵中的非对称量化数据与卷积核K1进行卷积,得到卷积输出矩阵的一示例图;
图9根据本申请的一些实施例,示出了另一种片上系统的分立元件将对称量化数据转换成非对称量化数据的交互过程的示意图;
图10根据本申请的一些实施例,示出了一种数据转换装置示意图;
图11根据本申请的一些实施例,示出了一种包含片上系统的电子设备的框图。
具体实施方式
本申请的说明性实施例包括但不限于一种数据转换方法、装置、电子设备、介质以及计算机程序产品。下面将结合附图对本申请的实施例作进一步地详细描述。
由于本申请涉及非对称量化数据与对称量化数据的相互转换、二维卷积运算以及浮点数据转换成对称量化数据的内容,为了更加清楚的说明本申请实施例的方案,下面对本申请实施例中涉及到的一些内容进行解释。
(1)整型数据
不包含小数部分的数值型数据。整型数据只用来表示整数。其中,整型数据又包括非对称量化数据,和对称量化数据。其中,非对称量化数据为一种零点(zero point,ZP) 不等于0的量化整型数据。对称量化数据为一种零点等于0的量化整型数据。例如,8位对称量化数据int8的数值范围是[-128,127],8位非对称量化数据uint8的数值范围是 [0,255]。
(2)非对称量化数据转换成对称量化数据
由非对称量化数据到对称量化数据的数据转换公式如下:
SD=(ASD-ZP)*AS*S
其中,SD表示对称量化数据,ASD表示非对称量化数据,AS表示非对称量化系数,ZP表示非对称量化数据的零点值,S表示对称量化系数。
(3)卷积神经网络(Convolutional Neural Network,CNN)
卷积神经网络是一种多层的神经网络,每层有多个二维平面组成,而每个平面由多个独立神经元组成,每个平面的多个神经元共享权重,通过权重共享可以降低神经网络中的参数数目。卷积神经网络可以是由神经单元组成的,神经单元可以是指以Fin为输入的运算单元,该运算单元的输出Fout可以通过如下公式表示:
Fout=CONV(Fin,Kernel)stride=1+B
其中,Fin表示输入数据。Kernel表示卷积的卷积核。B表示卷积的偏置项。CONV()为卷积层的卷积运算。stride=1为卷积运算时步长设置为1。
在一些实施例中,卷积神经网络模型的参数可以包括权重(weight)和偏置(bias)项。在卷积神经网络计算过程中,权重(即卷积核)用于做乘法运算(与相应的输入数据相乘),偏置用于做加法运算。图1为卷积神经网络运算的正向计算流程图,如图1所示,Fin表示卷积层的输入数据,Kernel表示卷积核,B表示偏置项,CONV()表示卷积层的卷积运算。Fout′表示卷积层的输入数据和卷积核K1中的数据进行卷积乘积得到的结果。Fout表示卷积层的最终输出结果。图1中,1001表示计算卷积层的输入数据和卷积核的数据的卷积乘积得到Fout′。1002表示在Fout′的基础上与偏置项B中的对应数据相加,得到卷积层的最终输出结果Fout。
(4)数据量化
可以指将大数据类型的数(例如,32位浮点数)转换为较小数据类型的数(例如,8位的对称量化数据或非对称量化数据)。例如,浮点数转换成非对称量化数据的数据量化公式如下:
对称量化数据Q可以通过如下公式计算得到:
其中,b表示对称量化数据Q所占用的比特数。S_range表示浮点数F的量程范围。abs() 表示取绝对值函数。max()表示取最大值函数。F表示浮点数。S表示浮点-对称量化的量程转换系数。
(5)对称量化数据转换成非对称量化数据
由对称量化数据到非对称量化数据的数据转换公式如下:
其中,ASD表示非对称量化数据,SD表示对称量化数据,AS表示非对称量化系数,ZP表示非对称量化数据的零点值,S表示对称量化系数。
下面在详细介绍本申请实施例提供的数据转换方法之前,首先对片上系统的硬件结构进行介绍。
图2所示为一种可以执行数据转换方法的片上系统(System on Chip,SOC)300的结构示意图,包括处理器310(第一处理器)、互连单元330、集成存储器控制器单元350;协处理器320(第二处理器);静态随机存取存储器(Static Random-Access Memory, SRAM)单元360以及直接存储器访问(Direct Memory Access,DMA)控制单元340。
其中,处理器310可以用于执行具体的算数和/或逻辑运算,包括一个或多个处理单元,例如可以包括中央处理器(Central Processing Unit,CPU)、图像处理器(GraphicsProcessing Unit,GPU)、数字信号处理器(Digital Signal Processor,DSP)、微处理器(Micro-programmed Control Unit,MCU)、可编程逻辑器件(Field Programmable GateArray,FPGA)。
协处理器320可以用于执行神经网络的计算过程,包括一个或多个处理单元,例如,可以包括人工智能处理单元(Artificial Intelligence Processing Unit,AIPU)、神经网络处理器(Neural-network Processing Unit,NPU)等的处理模块或处理电路。还可以包括多个适于运行神经网络模型的专用集成电路(Application Specific IntegratedCircuit,ASIC),例如卷积计算单元、向量计算单元等。
SRAM单元360可以用于加载以及缓存数据和/或指令。例如,在一些实施例中,SRAM单元360不仅可以用于加载或者缓存处理器310需要处理的对称量化系数、非对称量化系数以及非对称量化数据的零点值,还可以用于加载或者缓存处理器310生成的第一浮点系数、第二浮点系数、第一量化系数、第二量化系数等。并且,SRAM单元360还可以用于加载或者缓存非对称量化数据。
在一些实施例中,处理器310可以用于从SRAM单元360获取对称量化系数、非对称量化系数以及非对称量化数据的零点值,根据对称量化系数、非对称量化系数以及非对称量化数据的零点值,确定第一浮点系数、第二浮点系数。处理器310还可以用于将第一浮点系数、第二浮点系数转换成第一量化系数、第二量化系数。并将第一量化系数、第二量化系数发送给协处理器320。
在一些实施例中,协处理器320根据接收的第一量化系数与第二量化系数,以第一量化系数为二维卷积运算的卷积核中的数据,以第二量化系数作为二维卷积运算的偏置的数据,对非对称量化数据和卷积核中的第一量化系数进行卷积乘积,并对卷积乘积生成的每个数据与偏置项中的每个第二量化系数求和,生成非对称量化数据对应的对称量化数据。
可以理解的是,如图2所示SOC300的示例性结构并不构成对SOC300的具体限定。在本申请另一些实施例中,SOC300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
可以理解,包含SOC300的电子设备可以是能够执行卷积神经网络运算的任意电子设备,包括但不限于膝上型计算机、台式计算机、平板计算机、手机、服务器、可穿戴设备、头戴式显示器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备、其中嵌入或耦接有一个或多个处理器的电视机,本申请实施例不做限定。
如前所述,为了降低硬件成本,运行神经网络模型的处理器通常仅支持非对称量化数据运算或对称量化数据运算中的一种。例如,协处理器320仅支持对称量化数据的处理。
以协处理器320需要处理图像30包含的非对称量化数据为例,如图3中的(a)所示,图像30为64*64个像素大小的彩色图片。可以用3个64*64大小的矩阵来表示图像30。如图3中的(b)所示,矩阵31-1为图像30的R(red)通道的各像素点的数值形成的矩阵,矩阵31-1具体包括图像30的R通道的64*64个数据。矩阵31-2为图像30的G(green) 通道的各像素点的数值形成的矩阵,矩阵31-2具体包括图像30的G通道的64*64个像素点的数值。矩阵31-3为图像30的B(blue)通道的各像素点的数值形成的矩阵,矩阵31-3 具体包括图像30的B通道的64*64个数据。RGB这三个矩阵称为图像30的3个通道,协处理器320可以运行神经网络模型对图像30包含的数据进行处理,识别出图像30为房子。但是,由于图像30的各个通道所包含的像素点的数值均为非对称量化数据,需要先将图像30包含的非对称量化数据转换成对称量化数据,协处理器320才可以对图像30进行处理。
为了保证输入到协处理器320的图像30所包含的数据为对称量化数据,处理器310可以先将图像30所包含的非对称量化数据转换成对称量化数据,然后再将转换后的对称量化数据输入到协处理器320,协处理器320可以运行神经网络模型对图像30包含的对称量化数据进行处理,识别出图像30为房子。
具体地,下面以图像30包含非对称量化数据为例,说明协处理器320在仅支持对称量化数据的处理的情况下,SOC300的各分立元件协同将图像30包含的非对称量化数据转换成对称量化数据的过程。
基于图2所示的片上系统300的结构,图4示出了一种片上系统300的分立元件处理将非对称量化数据转换成对称量化数据的过程示意图。具体地,如图4所示,处理器310 可以获取待处理的图像30的非对称量化数据。处理器310还获取对称量化系数、非对称量化系数以及非对称量化数据的零点(zero point)值。处理器310可以根据对称量化系数、非对称量化系数以及非对称量化数据的零点值,生成图像30的非对称量化数据对应的对称量化数据。然后,处理器310将图像30的对称量化数据发送给协处理器320。
在一些实施例中,根据对称量化系数、非对称量化系数以及非对称量化数据的零点值,图像30中的非对称量化数据对应的对称量化数据SD可以通过公式(1)表示:
SD=(ASD-ZP)*AS*S (1)
公式(1)中,ASD表示图像30中的非对称量化数据,AS表示非对称量化系数,ZP表示非对称量化数据的零点值,S表示对称量化系数。
为了便于说明,假设矩阵40为图像30中的矩阵31-1的子矩阵,以矩阵40为例简要说明图像30中的非对称量化数据转换成对应的对称量化数据的过程。
如图5所示,矩阵40包括3*3个非对称量化数据。矩阵40的第一行非对称量化数据分别为0、1、2。矩阵40的第二行非对称量化数据分别为3、4、1。矩阵40的第三行非对称量化数据分别为5、2、5。例如,非对称量化数据的零点值ZP为3,非对称量化系数 AS的取值为0.4,对称量化系数S的取值为3.3。通过公式(1)计算出矩阵40中的每个非对称量化数据对应的对称量化数据,即矩阵41中的对称量化数据。例如,如图5所示,矩阵40中的非对称量化数据0对应矩阵41中的对称量化数据-3。
由图4至图5的描述可知,可以通过处理器310执行公式(1)的运算,将图像30中的非对称量化数据转换成对应的对称量化数据,然后,处理器310将图像30的对称量化数据发送给协处理器320,保证了协处理器320顺利识别出图像30中的房子。
但是,在协处理器320需要处理大量的视频流的图像的情况,协处理器320每处理一帧图像,处理器310都需要预先从SRAM单元360获取该帧待处理图像的非对称量化数据,并执行公式(1)的运算,将该帧待处理图像的非对称量化数据转换成对应的对称量化数据。处理器310再将转换后的该帧待处理图像的对称量化数据发送给协处理器320。可以理解,在此过程中,处理器310需要频繁从SRAM单元360读取待处理图像的非对称量化数据,频繁向协处理器320发送待处理图像的对称量化数据,这些都需要处理器310执行系统调度和内存的拷贝,额外占用处理器310资源。
因此,为了避免额外占用处理器310资源,本申请提供了另一种数据转换方法。图6示出了另一种片上系统300的分立元件处理将非对称量化数据转换成对称量化数据的过程示意图。通过将公式(1)中的运算因子AS*S作为卷积核,运算因子-ZP*AS*S作为偏置项,图像30的非对称量化数据作为待卷积数据,在协处理器320上构建二维卷积运算,卷积运算数据的结果即为图像30的非对称量化数据对应的对称量化数据。
具体地,如图6所示,由于协处理器320仅支持对称量化数据运算,因此,处理器310可以根据获取的对称量化系数、非对称量化系数以及非对称量化数据的零点值,确定第一量化系数、第二量化系数。其中,第一量化系数即为公式(1)中的运算因子AS*S,第二量化系数即为公式(1)中的运算因子-ZP*AS*S。协处理器320根据获取第一量化系数、第二量化系数以及图像30的非对称量化数据,构建二维卷积运算,生成图像30的非对称量化数据对应的对称量化数据。
结合图6,图7示出了另一种片上系统300的分立元件将非对称量化数据转换成对称量化数据的交互过程的示意图。如图7所示,具体包括:
S701:处理器310获取非对称量化数据的类型转换参数。
在一些实施例中,非对称量化数据的类型转换参数用于表示非对称量化数据的量程参数以及非对称量化数据对应的对称量化数据的量程参数。非对称量化数据的类型转换参数包括以下至少一个:非对称量化系数、非对称量化数据的零点值、对称量化系数。
S702:处理器310根据非对称量化数据的类型转换参数,确定第一浮点系数、第二浮点系数。
在一些实施例中,处理器310可以根据对称量化系数、非对称量化系数,确定第一浮点系数,第一浮点系数Wf可以通过公式(2)表示:
Wf=AS*S (2)
公式(2)中,AS表示非对称量化系数,S表示对称量化系数。
不难看出,公式(2)的第一浮点系数Wf即为公式(2)中的非对称量化系数AS与对称量化系数S的乘积。由于对称量化系数S与非对称量化系数AS均为浮点数,因此,第一浮点系数Wf也为浮点数。
在一些实施例中,处理器310可以根据对称量化系数、非对称量化系数以及非对称量化数据的零点,确定第二浮点系数,第二浮点系数Bf可以通过公式(3)表示:
Bf=-ZP*AS*S (3)
公式(3)中,AS表示非对称量化系数,S表示对称量化系数,ZP表示非对称量化数据的零点值。
不难看出,公式(3)的第二浮点系数Bf即为公式(1)中的非对称量化系数、对称量化系数以及非对称量化数据的零点值的乘积的相反数。由于对称量化系数S与非对称量化系数AS均为浮点数,因此,第二浮点系数Bf也为浮点数。
S703:处理器310将第一浮点系数、第二浮点系数转换成第一量化系数、第二量化系数。
由于第一浮点系数和第二浮点系数均为浮点数,因此,处理器310需要先将第一浮点系数转换成对应的对称量化数据(即第一量化系数)、第二浮点系数转换成对应的对称量化数据(即第二量化系数),才能输入到协处理器320,然后,协处理器320以第一浮点系数对应的对称量化数据(即第一量化系数)作为卷积核的数据,以第二浮点系数对应的对称量化数据(即第二量化系数)作为偏置项中的数据。根据卷积核的数据和偏置项中的数据,对输入到协处理器320的图像30的非对称量化数据进行卷积运算,卷积输出的结果即为图像30的非对称量化数据对应的对称量化数据。
在一些实施例中,处理器310可以根据第一浮点系数的浮点-对称量化的量程转换系数,将第一浮点系数的浮点数转换成对应的对称量化数,第一浮点系数的浮点数对应的对称量化数又称第一量化系数。
在一些实施例中,处理器310根据第一浮点系数的浮点-对称量化的量程转换系数以及第一浮点系数,得到第一量化系数。具体的,第一量化系数Wq可以通过如下公式(4) 计算得到:
公式(4)中,Wf表示第一浮点系数。Ws表示第一浮点系数的浮点-对称量化的量程转换系数。
其中,处理器310可以根据第一浮点系数Wf的量程范围、第一量化系数Wq所占用的比特数,得到第一浮点系数的浮点-对称量化的量程转换系数。具体的,第一浮点系数的浮点-对称量化的量程转换系数Ws可以通过如下公式(5)计算得到:
公式(5)中,b表示第一量化系数Wq所占用的比特数。Wf_range表示第一浮点系数Wf的量程范围。abs()表示取绝对值函数。max()表示取最大值函数。
在一些实施例中,处理器310可以根据第二浮点系数的浮点-对称量化的量程转换系数,将第二浮点系数的浮点数转换成对应的对称量化数,第二浮点系数的浮点数对应的对称量化数又称第二量化系数。
例如,处理器310根据第二浮点系数的浮点-对称量化的量程转换系数以及第二浮点系数,得到第二量化系数。具体的,第二量化系数Bq可以通过如下公式(6)计算得到:
公式(6)中,Bf表示第二浮点系数。Bs表示第二浮点系数的浮点-对称量化的量程转换系数。
其中,处理器310可以根据第一浮点系数的浮点-对称量化的量程转换系数Ws、图像 30的非对称量化数据的量程转换系数Xs,第二浮点系数的浮点-对称量化的量程转换系数 Bs可以通过如下公式(7)计算得到:
Bs=Ws*Xs (7)
公式(7)中Ws表示第一浮点系数的浮点-对称量化的量程转换系数。Xs表示图像30的非对称量化数据的量程转换系数。
S704:处理器310向协处理器320发送第一量化系数、第二量化系数。
S705:协处理器320获取图像30的非对称量化数据。
可以理解,上述描述的数据转换过程的执行顺序并不仅限于步骤S701至步骤S705的执行顺序。在本申请的其他实施例中,协处理器320也可以先获取图像30的非对称量化数据,然后处理器310再获取对称量化系数、非对称量化系数以及非对称量化数据的零点值,根据获取对称量化系数、非对称量化系数以及非对称量化数据的零点值,确定第一量化系数、第二量化系数。例如,先执行步骤S705,再执行步骤S701至S704。根据实际的应用,本申请对图7中的数据转换过程的执行顺序不做具体限定。
S706:协处理器320根据第一量化系数、第二量化系数以及图像30的非对称量化数据,构建二维卷积运算,生成图像30的非对称量化数据对应的对称量化数据。
在一些实施例中,协处理器320根据接收的第一量化系数与第二量化系数,以第一量化系数为二维卷积运算的卷积核中的数据,以第二量化系数作为二维卷积运算的偏置的数据,对图像30中的非对称量化数据和卷积核中的第一量化系数进行卷积乘积,并对卷积乘积生成的每个数据与偏置项中的每个第二量化系数求和,生成图像30中的非对称量化数据对应的对称量化数据。
如前所述,矩阵40为图像30中的矩阵31-1的子矩阵,下文以矩阵40为例,说明图像30 中的非对称量化数据通过二维卷积运算,转换成对应的对称量化数据的过程。
图8A示出了卷积层对矩阵40进行二维卷积运算,最终得到矩阵41的一示意图。如图8A 所示,卷积核K1为1×1的二维矩阵,卷积核K1中的数据即为第一量化系数。可以理解,为了保证卷积层输出的卷积输出矩阵中的每个对称量化数据与待转换矩阵中的每个非对称量化数据一一对应,偏置项矩阵B1与矩阵40的维度相同,均为3×3的二维矩阵,并且,偏置项矩阵B1包括3×3个第二量化系数。
如图8A所示,矩阵40包括3×3个非对称量化数据,矩阵40中的第一行非对称量化数据分别为0、1、2。矩阵40中的第二行非对称量化数据分别为3、4、1。矩阵40中的第三行非对称量化数据分别为5、2、5。
假设步骤S703计算得到的第一量化系数的值为1、第二量化系数的值为-3。如图8A所示,卷积核K1包括一个第一量化系数1。偏置项矩阵B1包括3×3个第二量化系数-3。
具体的,如图8A所示,矩阵40与卷积核K1进行卷积乘积,生成矩阵42,矩阵42中的第一行非对称量化数据分别为0、1、2。矩阵42中的第二行非对称量化数据分别为3、4、1。矩阵42中的第三行非对称量化数据分别为5、2、5。矩阵42中的数据与偏置项矩阵B1中的数据对应相加,生成矩阵41中的对称量化数据。矩阵41中的第一行非对称量化数据分别为 -3、-2、-1。矩阵41中的第二行非对称量化数据分别为0、1、-2。矩阵41中的第三行非对称量化数据分别为2、-1、2。可以理解,矩阵41中的对称量化数据即为矩阵40中非对称量化数据对应的对称量化数据。例如,矩阵40中的第一行第一列非对称量化数据0对应的对称量化数据即为矩阵41中的第一行第一列对称量化数据-3,矩阵40中的第一行第二列非对称量化数据1对应的对称量化数据即为矩阵41中的第一行第二列对称量化数据-2,以此类推,矩阵40中的第三行第三列非对称量化数据5对应的对称量化数据即为矩阵41中的第三行第三列对称量化数据2。
其中,卷积核K1对矩阵40进行卷积运算,得到矩阵42中的数据的过程,具体如下:
如图8B至图8D所示,对于大小为3×3的矩阵40,以其左上方的第一个数据0为起点,步长为1,填充为0,按照1×1的滑动窗口在3×3的矩阵40上滑动。例如,如图8B所示,首先在宽度方向从左往右滑动,依次得到矩阵42的第一行数据,分别是0、1、2。如图8C所示,然后从矩阵40的第二行的第一个非对称量化数据3开始,在宽度方向从左往右滑动,依次得到矩阵42的第二行数据,分别是3、4、1。如图8D所示,然后从矩阵40的第三行的第一个非对称量化数据5开始,在宽度方向从左往右滑动,依次得到矩阵42的第二行数据,分别是5、2、5。
不难看出,上述二维卷积运算,实际上是分别采用矩阵40中的每个非对称量化数据和大小为1*1的二维卷积核K1中的数据进行相乘,最终得到大小为3*3的二维矩阵42。
由图8A至图8D可知,协处理器320通过构建二维卷积运算,将第一量化系数作为卷积核的数据,将第二量化系数作为偏置项B1中的数据,通过卷积核K1中的第一量化系数与矩阵40(图像30中的非对称量化数据)进行卷积乘积,并对卷积乘积生成的每个数据与偏置项B1中的第二量化系数求和,生成非对称量化数据对应的对称量化数据。从而实现在协处理器320硬件不支持非对称量化数据运算的情况,在协处理器320内将非对称量化数据转换成对称量化数据。
可以理解,本申请的数据转换的交互过程并不仅限于图7中步骤S701至步骤S706的执行顺序,在实际的应用中,步骤S701至步骤S706的执行顺序也可以进行调整。此外,步骤 S701至步骤S706中的一个或多个交互过程可以被重新排序,省略或添加。
由上述描述可知,图4中的处理器310通过处理器310执行公式(1)的运算,将图像30 中的非对称量化数据转换成对应的对称量化数据,然后,处理器310将图像30的对称量化数据发送给协处理器320。图6或图7中的协处理器320通过构建二维卷积运算,也能实现将图像30中的非对称量化数据转换成对应的对称量化数据。
并且,不难理解,相较于图4中数据转换过程,图6或图7中的数据转换过程,协处理器320只需要从处理器310中获取一次第一量化系数和第二量化系数,即处理器310只需要执行一次步骤S701至步骤S703。然后协处理器320以第一量化系数作为卷积核中的数据,以第二量化系数作为偏置项中的数据,就可以处理大量的视频流的图像。不需要每处理一帧图像的数据,就需要处理器310对该帧图像的数据进行数据转换,额外占用处理器310大量运算资源。而且,在协处理器320内将非对称量化数据转换成对称量化数据,也能提高协处理器320整体的数据处理效率。
在其他一些实施例中,本申请的数据转换方法也适用于对称量化数据转换成非对称量化数据。例如,处理器310可以根据获取的对称量化系数、非对称量化系数以及非对称量化数据的零点值,确定第三量化系数、第四量化系数。并将确定的第三量化系数、第四量化系数发送给协处理器320。其中,第三量化系数即为对称量化数据转换成非对称量化数据的运算公式中的运算因子第四量化系数即为对称量化数据转换成非对称量化数据的运算公式中的运算因子ZP。协处理器320根据获取第三量化系数、第四量化系数以及对称量化数据,构建二维卷积运算,生成对称量化数据对应的非对称量化数据。
图9示出了一种片上系统300的分立元件将对称量化数据转换成非对称量化数据的交互过程的示意图。如图9所示,具体包括:
S901:处理器310获取对称量化数据的类型转换参数。
在一些实施例中,对称量化数据的类型转换参数用于表示对称量化数据的量程参数以及对称量化数据对应的非对称量化数据的量程参数。对称量化数据的类型转换参数包括以下至少一个:非对称量化系数、非对称量化数据的零点值、对称量化系数。
S902:处理器310根据对称量化数据的类型转换参数,确定第三浮点系数、第四量化系数。
在一些实施例中,处理器310可以根据对称量化系数、非对称量化系数,确定第三浮点系数,第四量化系数Wf可以通过公式(8)表示:
公式(8)中,AS表示非对称量化系数,S表示对称量化系数。
在一些实施例中,处理器310可以以非对称量化数据的零点值作为第四量化系数。
S903:处理器310将第三浮点系数转换成第三量化系数。
由于第三浮点系数为浮点数,因此,处理器310需要先将第三浮点系数转换成对应的对称量化数据(即第三量化系数),才能输入到协处理器320,然后,协处理器320以第三浮点系数对应的对称量化数据(即第三量化系数)作为卷积核的数据,以第四量化系数作为偏置项中的数据。根据卷积核的数据和偏置项中的数据,对输入到协处理器320的对称量化数据进行卷积运算,卷积输出的结果即为对称量化数据对应的非对称量化数据。
在一些实施例中,处理器310可以根据第三浮点系数的浮点-对称量化的量程转换系数,将第三浮点系数的浮点数转换成对应的对称量化数,第三浮点系数的浮点数对应的对称量化数又称第三量化系数。
在一些实施例中,处理器310根据第三浮点系数的浮点-对称量化的量程转换系数以及第三浮点系数,第三量化系数Wq可以通过如下公式(4)计算得到:
公式(4)中,Wf′表示第三浮点系数。Ws′表示第三浮点系数的浮点-对称量化的量程转换系数。
其中,处理器310可以根据第三浮点系数Wf′量程范围、第三量化系数Wq′所占用的比特数,第三浮点系数的浮点-对称量化的量程转换系数Ws′可以通过如下公式(5)计算得到:
公式(5)中,b表示第三量化系数Wq′所占用的比特数。Wf′_range表示第三浮点系数Wf′的量程范围。abs()表示取绝对值函数。max()表示取最大值函数。
S904:处理器310向协处理器320发送第三量化系数、第四量化系数。
S905:协处理器320获取对称量化数据。
S906:协处理器320根据第一量化系数、第四量化系数以及对称量化数据,构建二维卷积运算,生成对称量化数据对应的非对称量化数据。具体过程参考步骤S706,在此不做赘述。
可以理解,上述描述的数据转换过程的执行顺序并不仅限于步骤S901至步骤S905的执行顺序。在本申请的其他实施例中,协处理器320也可以先获取对称量化数据,然后处理器310再获取对称量化系数、非对称量化系数以及非对称量化数据的零点值,根据获取对称量化系数、非对称量化系数以及非对称量化数据的零点值,确定第三量化系数、第四量化系数。例如,先执行步骤S905,再执行步骤S901至S904。此外,步骤S901至步骤S906中的一个或多个交互过程也可以被省略或添加。根据实际的应用,本申请对图9中的数据转换过程的执行顺序不做具体限定。
图10根据本申请的一些实施例,示出了一种数据转换装置1000的结构框图。如图10 所示,具体地,包括:
获取模块1,用于第一处理器获取待转换数据的类型转换参数,待转换数据的类型转换参数用于表示待转换数据的量程参数以及待转换数据对应的数据转换结果的量程参数。
确定模块2,用于第一处理器根据待转换数据的类型转换参数,确定第一系数和第二系数。
卷积模块3,用于第二处理器基于从第一处理器获取的第一系数和第二系数,以第一系数作为卷积核中的数据以及以第二系数作为偏置项中的数据,对待转换数据进行卷积运算,得到待转换数据对应的数据转换结果。
在一些实施例中,数据转换装置1000还包括:待转换数据的类型转换参数包括以下至少一个:非对称量化系数,非对称量化数据的零点值,对称量化系数。在待转换数据为非对称量化数据、待转换数据对应的数据转换结果为对称量化数据的情况下,第一系数由以下公式计算得到:
Wf=AS*S
第二系数由以下公式计算得到:
Bf=-ZP*AS*S
其中,AS表示非对称量化系数,S表示对称量化系数,ZP表示非对称量化数据的零点值。
在一些实施例中,数据转换装置1000还包括:待转换数据的类型转换参数包括以下至少一个:非对称量化系数,非对称量化数据的零点值,对称量化系数。在待转换数据为对称量化数据、待转换数据对应的数据转换结果为非对称量化数据的情况下,第二系数为非对称量化数据的零点值,第一系数由以下公式计算得到:
其中,AS表示非对称量化系数,S表示对称量化系数。
在一些实施例中,数据转换装置1000还包括:卷积核的高度值和宽度值分别为1。
图11根据本申请的一些实施例,示出了一种包含片上系统300的电子设备10的框图。图11示意性地示出了根据多个实施例的示例电子设备10。在一个实施例中,电子设备10可以包括一个或多个处理器1004,与处理器1004中的至少一个连接的系统控制逻辑1008,与系统控制逻辑1008连接的系统内存1012,与系统控制逻辑1008连接的非易失性存储器(NVM)1016,以及与系统控制逻辑1008连接的网络接口1020。
在一些实施例中,处理器1004可以包括一个或多个单核或多核处理器。在一些实施例中,处理器1004可以包括通用处理器和专用处理器(例如,图形处理器,应用处理器,基带处理器等)的任意组合。在电子设备10采用eNB(Evolved Node B,增强型基站)或 RAN(Radio Access Network,无线接入网)控制器的实施例中,处理器1004可以被配置为执行各种符合的实施例。
在一些实施例中,系统控制逻辑1008可以包括任意合适的接口控制器,以向处理器 1004中的至少一个和/或与系统控制逻辑1008通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统控制逻辑1008可以包括一个或多个存储器控制器,以提供连接到系统内存1012的接口。系统内存1012可以用于加载以及存储数据和/或指令。在一些实施例中系统1000的内存1012可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM 1016可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM 1016可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器),CD(CompactDisc,光盘)驱动器,DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM 1016可以包括安装电子设备10的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口1020通过网络访问NVM 1016。
特别地,系统内存1012和NVM 1016可以分别包括:指令1024的暂时副本和永久副本。指令1024可以包括:由处理器1004中的至少一个执行时导致电子设备10实施本申请的数据转换方法的指令。在一些实施例中,指令1024、硬件、固件和/或其软件组件可另外地/替代地置于系统控制逻辑1008,网络接口1020和/或处理器1004中。
网络接口1020可以包括收发器,用于为电子设备10提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(如前端模块,天线等)进行通信。在一些实施例中,网络接口1020可以集成于电子设备10的其他组件。例如,网络接口1020可以集成于处理器1004的,系统内存1012,NVM 1016,和具有指令的固件设备(未示出)中的至少一种,当处理器1004中的至少一个执行所述指令时,电子设备10实现本申请的数据转换方法。
网络接口1020可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口1020可以是网络适配器,无线网络适配器,电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器1004中的至少一个可以与用于系统控制逻辑1008的一个或多个控制器的逻辑封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器1004 中的至少一个可以与用于系统控制逻辑1008的一个或多个控制器的逻辑集成在同一管芯上,以形成片上系统(SoC)。
电子设备10可以进一步包括:输入/输出(I/O)设备1032。
本申请公开的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (13)
1.一种数据转换方法,其特征在于,用于电子设备,所述电子设备包括第一处理器和第二处理器,所述方法包括:
所述第一处理器获取待转换数据的类型转换参数,所述待转换数据的类型转换参数用于表示所述待转换数据的量程参数以及所述待转换数据对应的数据转换结果的量程参数;
所述第一处理器根据所述待转换数据的类型转换参数,确定第一系数和第二系数;
所述第二处理器基于从所述第一处理器获取的所述第一系数和所述第二系数,以所述第一系数作为卷积核中的数据以及以所述第二系数作为偏置项中的数据,对待转换数据进行卷积运算,得到所述待转换数据对应的数据转换结果。
2.根据权利要求1所述的方法,其特征在于,所述待转换数据的类型转换参数包括以下至少一个:非对称量化系数、非对称量化数据的零点值、对称量化系数。
3.根据权利要求2所述的方法,其特征在于,所述第一处理器根据所述待转换数据的类型转换参数,确定第一系数和第二系数包括:
在所述待转换数据为非对称量化数据,并且所述待转换数据对应的数据转换结果为对称量化数据的情况下,所述第一系数由以下公式计算得到:
Wf=AS*S
所述第二系数由以下公式计算得到:
Bf=-ZP*AS*S
其中,AS表示所述非对称量化系数,S表示所述对称量化系数,ZP表示所述非对称量化数据的零点值。
5.根据权利要求1所述的方法,其特征在于,所述卷积核的高度值和宽度值分别为1。
6.一种数据转换装置,其特征在于,所述装置包括:
获取模块,用于所述第一处理器获取待转换数据的类型转换参数,所述待转换数据的类型转换参数用于表示所述待转换数据的量程参数以及所述待转换数据对应的数据转换结果的量程参数;
确定模块,用于所述第一处理器根据所述待转换数据的类型转换参数,确定第一系数和第二系数;
卷积模块,用于所述第二处理器基于从所述第一处理器获取的所述第一系数和所述第二系数,以所述第一系数作为卷积核中的数据以及以所述第二系数作为偏置项中的数据,对待转换数据进行卷积运算,得到所述待转换数据对应的数据转换结果。
7.根据权利要求6所述的装置,其特征在于,所述待转换数据的类型转换参数包括以下至少一个:非对称量化系数,非对称量化数据的零点值,对称量化系数。
8.根据权利要求7所述的装置,其特征在于,所述第一处理器根据所述待转换数据的类型转换参数,确定第一系数和第二系数包括:
在所述待转换数据为非对称量化数据、所述待转换数据对应的数据转换结果为对称量化数据的情况下,所述第一系数由以下公式计算得到:
Wf=AS*S
所述第二系数由以下公式计算得到:
Bf=-ZP*AS*S
其中,AS表示非对称量化系数,S表示对称量化系数,ZP表示非对称量化数据的零点值。
10.根据权利要求6所述的装置,其特征在于,所述卷积核的高度值和宽度值分别为1。
11.一种电子设备,其特征在于,包括:
存储器,用于存储由所述电子设备的一个或多个处理器执行的指令,以及
处理器,是所述电子设备的所述一个或多个处理器之一,用于执行权利要求1至5中任一项所述数据转换方法。
12.一种可读介质,其特征在于,电子设备的可读介质上存储有指令,所述指令在执行时使电子设备执行权利要求1至5中任一项所述数据转换方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括指令,所述指令用于实现权利要求1至5任一项所述数据转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111598640.3A CN114327637A (zh) | 2021-12-24 | 2021-12-24 | 数据转换方法、装置、电子设备、介质以及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111598640.3A CN114327637A (zh) | 2021-12-24 | 2021-12-24 | 数据转换方法、装置、电子设备、介质以及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114327637A true CN114327637A (zh) | 2022-04-12 |
Family
ID=81013453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111598640.3A Pending CN114327637A (zh) | 2021-12-24 | 2021-12-24 | 数据转换方法、装置、电子设备、介质以及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327637A (zh) |
-
2021
- 2021-12-24 CN CN202111598640.3A patent/CN114327637A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10860922B2 (en) | Sparse convolutional neural network accelerator | |
US11609968B2 (en) | Image recognition method, apparatus, electronic device and storage medium | |
WO2020073211A1 (zh) | 运算加速器、处理方法及相关设备 | |
US11249721B2 (en) | Multiplication circuit, system on chip, and electronic device | |
WO2020074989A1 (en) | Data representation for dynamic precision in neural network cores | |
CN111656390B (zh) | 用于机器学习的图像变换 | |
Dehnavi et al. | FPGA based real-time on-road stereo vision system | |
KR20190140841A (ko) | 확률 적응적 자원 할당을 통한 신경망 하드웨어 가속 | |
CN110555798A (zh) | 图像变形方法、装置、电子设备及计算机可读存储介质 | |
JP2023541350A (ja) | 表畳み込みおよびアクセラレーション | |
WO2021081854A1 (zh) | 一种卷积运算电路和卷积运算方法 | |
CN114327637A (zh) | 数据转换方法、装置、电子设备、介质以及计算机程序产品 | |
WO2023124371A1 (zh) | 数据处理装置、方法、芯片、计算机设备及存储介质 | |
CN112101511A (zh) | 稀疏卷积神经网络 | |
CN112927200B (zh) | 本征图像分解方法、装置、可读存储介质及电子设备 | |
CN111340182B (zh) | 一种输入特征逼近的低复杂度cnn训练方法与装置 | |
CN110852202A (zh) | 一种视频分割方法及装置、计算设备、存储介质 | |
US11409356B1 (en) | Using data correlation to reduce the power consumption of signal processing systems without affecting the precision of computation | |
CN113542808B (zh) | 视频处理方法、设备、装置以及计算机可读介质 | |
CN116630868B (zh) | 视频分类方法、视频分类装置、介质及电子设备 | |
CN111324860B (zh) | 一种基于随机矩阵逼近的轻量级cnn计算方法与装置 | |
CN102446339B (zh) | 图像处理装置和图像处理方法 | |
JP2024026993A (ja) | 情報処理装置、情報処理方法 | |
Yuan et al. | Image Inpainting with Semantic U-Transformer | |
CN114819097A (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 |