CN109697083A - 数据的定点化加速方法、装置、电子设备及存储介质 - Google Patents
数据的定点化加速方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109697083A CN109697083A CN201811614766.3A CN201811614766A CN109697083A CN 109697083 A CN109697083 A CN 109697083A CN 201811614766 A CN201811614766 A CN 201811614766A CN 109697083 A CN109697083 A CN 109697083A
- Authority
- CN
- China
- Prior art keywords
- data
- fixed point
- eigenvalue
- obtains
- parameter
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种数据的定点化加速方法,所述方法包括:获取测试数据以及第一模型参数;将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值;将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值;使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。本发明还提供一种定点化加速装置、电子设备及计算机存储介质。本发明能加速定点化算法模型的计算,加快定点化的迭代周期。
Description
技术领域
本发明涉及智能终端技术领域,尤其涉及一种数据的定点化加速方法、装置、电子设备及存储介质。
背景技术
深度学习神经网络算法需要很高的计算能力和大量的存储空间,这限制了深度学习神经网络算法在嵌入式终端设备上的应用。通过将深度学习神经网络算法定点化,可以减少对存储空间的依赖,使得深度学习神经网络算法能在终端设备上扩展。
深度学习神经网络算法由于其复杂度一般都较高,通常只能使用比较低的量化位宽来保证在终端设备上的运行效率,这样会造成比较大的精度损失。为了减少精度损失,在将深度学习神经网络算法定点化的过程中,需要不断地对参数做定点化的调整,使得尽量地减少精度损失。
每次做定点化的调整,都需要做大量的测试。测试时需要做大量的定点化算法模型推理运算。而一般的定点化算法模型都是在特定的神经网络处理器上运行。在有些情况下,比如神经网络处理器还在设计阶段而无法使用的时候,定点化算法模型就需要在CPU上对定点化的神经网络算法做仿真。
而通常这个仿真是非常慢的,测试定点化算法模型需要花费大量的时间,这使得深度学习神经网络算法定点化的迭代周期较长。
发明内容
鉴于以上内容,有必要提供一种数据的定点化加速方法、装置、电子设备及计算机存储介质,能够加速定点化算法模型的计算,加快定点化的迭代周期。
本发明的第一方面提供一种数据的定点化加速方法,所述方法包括:
获取测试数据以及第一模型参数;
将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值;
将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值;
使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。
在一种可能的实现方式中,所述使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据包括:
使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据;
使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据;
使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据。
在一种可能的实现方式中,所述使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据包括:
确定所述第二特征值的数据位宽;
根据所述数据位宽以及标准位宽,确定需要移位的比特数;
根据所述比特数,确定移位算子的算子参数;
将所述算子参数代入至所述移位算子,并使用代入所述算子参数后的移位算子,对所述第二特征值进行移位操作,获得移位数据。
在一种可能的实现方式中,所述使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据包括:
使用加法算子以及四舍五入算子对所述移位数据进行四舍五入操作,获得四舍五入数据。
在一种可能的实现方式中,所述使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据包括:
使用饱和算子,对所述四舍五入数据进行饱和操作,获得饱和数据;
根据标准位宽,确定定点化动态范围;
判断所述饱和数据是否超出所述定点化动态范围;
若所述饱和数据超出所述定点化动态范围的最大值,将所述最大值确定为输出数据;或
若所述饱和数据超出所述定点化动态范围的最小值,将所述最小值确定为输出数据。
在一种可能的实现方式中,所述方法还包括:
根据所述输出数据,判断所述定点化算法模型的测试是否结束;
若所述定点化算法模型的测试未结束,对所述第一模型参数进行定点化调整。
本发明的第二方面提供一种定点化加速装置,所述装置包括:
获取模块,用于获取测试数据以及第一模型参数;
输入模块,用于将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值;
转换模块,用于将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值;
操作模块,用于使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。
在一种可能的实现方式中,所述操作模块使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据的方式具体为:
使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据;
使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据;
使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据。
本发明的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的数据的定点化加速方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的数据的定点化加速方法。
由以上技术方案,本发明中,可以先获取测试数据以及第一模型参数,将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值;进一步地,将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值,最后,即可使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。可见,本发明中,在将测试数据输入定点化算法模型中获得第一特征值后,可以先将所述第一特征值的数据格式转换成浮点格式,之后,就可以使用GPU加速机制对浮点格式的第二特征值进行定点操作,整个定点操作过程,利用了GPU强大的计算能力,实现了加速,从而能够加速定点化算法模型的计算,加快定点化的迭代周期。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明公开的一种数据的定点化加速方法的较佳实施例的流程图。
图2是本发明公开的一种定点化加速装置的较佳实施例的功能模块图。
图3是本发明实现数据的定点化加速方法的较佳实施例的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的数据的定点化加速方法应用在电子设备中,也可以应用在电子设备和通过网络与所述电子设备进行连接的服务器所构成的硬件环境中,由服务器和电子设备共同执行。网络包括但不限于:广域网、城域网或局域网。
其中,所述电子设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述电子设备还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理PDA、游戏机、交互式网络电视IPTV、智能式穿戴式设备等。其中,所述用户设备及网络设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络VPN等。
其中,服务器可以是指能对网络中其它设备(如电子设备)提供服务的计算机系统。如果一个个人电脑能够对外提供文件传输协议(File Transfer Protocol,简称FTP)服务,也可以叫服务器。从狭义范围上讲,服务器专指某些高性能计算机,能通过网络,对外提供服务,其相对于普通的个人电脑来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘系统、网络等硬件和普通的个人电脑有所不同。
请参见图1,图1是本发明公开的一种数据的定点化加速方法的较佳实施例的流程图。其中,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S11、电子设备获取测试数据以及第一模型参数。
深度学习神经网络算法由于其复杂度一般都较高,通常只能使用比较低的量化位宽来保证在终端设备上的运行效率,这样会造成比较大的精度损失。在将深度学习神经网络算法定点化的过程中,为了尽量地减少精度损失,需要不断地对参数做定点化的调整。在对参数做定点化的调整中,需要对定点化算法模型做大量的测试,而定点化算法模型在测试时需要做大量的推理计算。
本发明实施例中,所述测试数据为需要对定点化算法模型进行测试的数据。举例来说,假如所述定点化算法模型是用来进行人脸分类的,则所述测试数据可以为人脸图片。其中,所述测试数据可以是公开数据集合,也可以是利用爬虫技术在搜索引擎抓取的数据。
其中,所述第一模型参数为需要进行参数定点化调整的定点化算法模型的参数,在对定点化算法模型进行测试时,需要根据输出数据来不断地对所述第一模型参数进行定点化调整,直至输出数据满足要求。
其中,所述测试数据以及所述第一模型参数均为定点格式的数据,所述测试数据的数据位宽为8比特,所述第一模型参数的数据位宽为8比特。
S12、电子设备将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值。
本发明实施例中,电子设备在获取到测试数据以及第一模型参数之后,即可将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,进行卷积操作(即Conv操作)以及偏置操作(即bias操作),获得第一特征值。其中,所述第一特征值为所述定点化算法模型在测试过程中的中间结果,所述第一特征值的数据位宽为32比特,所述第一特征值的数据格式为定点格式。
其中,本发明使用MxNet作为基础深度学习框架,可以利用MxNet框架现有的GPU(Graphic Processing Unit,图形处理器)加速机制来对定点化算法模型的计算进行加速。
其中,定点化算法模型中的卷积操作使用的是MxNet框架中的Convolution算子。
S13、电子设备将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值。
通常,深度学习神经网络算法在训练时是用浮点数进行计算的。深度学习神经网络算法的所有操作,包括卷积、全连接、激活以及池化等等,都是浮点运算,现有的深度学习框架对这些浮点运算在GPU上有并行加速的方法。
本发明实施例中,由于所述第一特征值的数据格式为定点格式,而针对所述第一特征值的定点操作(移位操作、四舍五入操作以及饱和操作)均无法使用GPU机制进行加速,这使得定点化算法模型的推理计算需要花费大量的时间。
为了尽量加快定点化算法模型的推理计算,本发明实施例中,需要将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值,即所述第二特征值的数据格式为浮点格式。其中,所述第二特征值的数据位宽为32比特。
S14、电子设备使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。
具体的,所述使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据包括:
使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据;
使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据;
使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据。
在该可选的实施方式中,定点操作主要包括移位操作、四舍五入操作以及饱和操作,而在每步操作的计算中,均需要使用所述GPU加速机制进行加速,使得整个定点操作的计算时间大大减少。
作为一种可选的实施方式,所述使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据包括:
确定所述第二特征值的数据位宽;
根据所述数据位宽以及标准位宽,确定需要移位的比特数;
根据所述比特数,确定移位算子的算子参数;
将所述算子参数代入至所述移位算子,并使用代入所述算子参数后的移位算子,对所述第二特征值进行移位操作,获得移位数据。
在该可选的实施方式中,所述标准位宽可以根据实际需要来设置,所述标准位宽也即输出数据的数据位宽,通常,标准位宽设置为8比特。
在确定所述第二特征值的数据位宽之后,可以根据所述数据位宽以及标准位宽,确定需要移位的比特数。比如所述第二特征值的数据位宽为32比特,标准位宽为8比特,则可以确定需要移位的比特数为24比特。
在该可选的实施方式中,可以使用MxNet框架中的broadcast_mul算子(即移位算子)来进行移位操作。其中,broadcast_mul算子的算子参数取决于要移位的比特数。如果需要移位n比特,则broadcast_mul的算子参数为2-n,举例来说,假设需要移位的比特数为24比特,则broadcast_mul的算子参数为2-24。
在确定算子参数后,即可将所述算子参数代入至所述移位算子,并使用代入所述算子参数后的移位算子,对所述第二特征值进行移位操作,获得移位数据。其中,所述移位数据即进行移位操作后的结果数据。
作为一种可选的实施方式,所述使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据包括:
使用加法算子以及四舍五入算子对所述移位数据进行四舍五入操作,获得四舍五入数据。
在该可选的实施方式中,可以使用MxNet框架中的加法算子和floor算子(即四舍五入算子)组合,实现四舍五入的操作。具体的,可以先用MxNet框架中的加法算子,然后,使用MxNet框架中的floor算子进行四舍五入操作,获得四舍五入数据。
其中,所述四舍五入数据即进行四舍五入操作后的结果数据。
其中,所述加法算子有两个输入参数,一个输入参数为移位操作后的移位数据,另一个输入参数为常数0.5。
作为一种可选的实施方式,所述使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据包括:
使用饱和算子,对所述四舍五入数据进行饱和操作,获得饱和数据;
根据标准位宽,确定定点化动态范围;
判断所述饱和数据是否超出所述定点化动态范围;
若所述饱和数据超出所述定点化动态范围的最大值,将所述最大值确定为输出数据;或
若所述饱和数据超出所述定点化动态范围的最小值,将所述最小值确定为输出数据。
在该可选的实施方式中,可以使用MxNet中的clip算子(即饱和算子)实现饱和操作。其中,clip算子有两个参数:a_min和a_max。a_min参数为定点化动态范围的最小值;a_max参数为定点化动态范围的最大值。
在该可选的实施方式中,在获得饱和数据之后,还需要判断所述饱和数据是否超出所述定点化动态范围;若所述饱和数据超出所述定点化动态范围的最大值,将所述最大值确定为输出数据;或,若所述饱和数据超出所述定点化动态范围的最小值,将所述最小值确定为输出数据。举例来说,对于标准位宽为8比特的定点化算法模型来说,定点化动态范围为[-128,127],也即clip算子的两个参数a_min和a_max分别为:a_min=-128,a_max=127,如果所述饱和数据大于所述定点化动态范围的最大值,则需要把所述饱和数据替换为所述最大值并作为输出数据进行输出,如果所述饱和数据小于所述定点化动态范围的最小值,则需要把所述饱和数据替换为所述最小值并作为输出数据进行输出。
作为一种可选的实施方式,所述方法还包括:
根据所述输出数据,判断所述定点化算法模型的测试是否结束;
若所述定点化算法模型的测试未结束,对所述第一模型参数进行定点化调整。
在该可选的实施方式中,在获得所述输出数据之后,可以判断所述输出数据是否符合所述定点化算法模型的预设要求,如果所述输出数据符合所述定点化算法模型的预设要求,则可以确定所述定点化算法模型的测试结束,反之,如果所述输出数据不符合所述定点化算法模型的预设要求,表明所述定点化算法模型的第一模型参数不准确,还需要对所述定点化算法模型的第一模型参数进行调整,因而,所述定点化算法模型的测试未结束。在下一个测试周期,还需要对所述第一模型参数进行定点化调整,之后,在进行下一个周期的测试,直至所述定点化算法模型最后的输出数据符合所述定点化算法模型的预设要求。
举例来说,假设所述定点化算法模型是用来进行人脸分类的,如果最后的输出数据对人脸分类正确,则表明所述输出数据符合所述定点化算法模型的预设要求,如果最后的输出数据对人脸分类错误,则表明所述输出数据不符合所述定点化算法模型的预设要求。
在图1所描述的方法流程中,可以先获取测试数据以及第一模型参数,将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值;进一步地,将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值,最后,即可使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。可见,本发明中,在将测试数据输入定点化算法模型中获得第一特征值后,可以先将所述第一特征值的数据格式转换成浮点格式,之后,就可以使用GPU加速机制对浮点格式的第二特征值进行定点操作,整个定点操作过程,利用了GPU强大的计算能力,实现了加速,从而能够加速定点化算法模型的计算,加快定点化的迭代周期。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
请参见图2,图2是本发明公开的一种定点化加速装置的较佳实施例的功能模块图。
在一些实施例中,所述定点化加速装置运行于电子设备中。所述定点化加速装置可以包括多个由程序代码段所组成的功能模块。所述定点化加速装置中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图1所描述的数据的定点化加速方法中的部分或全部步骤。
本实施例中,所述定点化加速装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:获取模块201、输入模块202、转换模块203以及操作模块204。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。
所述定点化加速装置包括:
获取模块201,用于获取测试数据以及第一模型参数;
深度学习神经网络算法由于其复杂度一般都较高,通常只能使用比较低的量化位宽来保证在终端设备上的运行效率,这样会造成比较大的精度损失。在将深度学习神经网络算法定点化的过程中,为了尽量地减少精度损失,需要不断地对参数做定点化的调整。在对参数做定点化的调整中,需要对定点化算法模型做大量的测试,而定点化算法模型在测试时需要做大量的推理计算。
本发明实施例中,所述测试数据为需要对定点化算法模型进行测试的数据。举例来说,假如所述定点化算法模型是用来进行人脸分类的,则所述测试数据可以为人脸图片。其中,所述测试数据可以是公开数据集合,也可以是利用爬虫技术在搜索引擎抓取的数据。
其中,所述第一模型参数为需要进行参数定点化调整的定点化算法模型的参数,在对定点化算法模型进行测试时,需要根据输出数据来不断地对所述第一模型参数进行定点化调整,直至输出数据满足要求。
其中,所述测试数据以及所述第一模型参数均为定点格式的数据,所述测试数据的数据位宽为8比特,所述第一模型参数的数据位宽为8比特。
输入模块202,用于将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值;
本发明实施例中,电子设备在获取到测试数据以及第一模型参数之后,即可将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,进行卷积操作(即Conv操作)以及偏置操作(即bias操作),获得第一特征值。其中,所述第一特征值为所述定点化算法模型在测试过程中的中间结果,所述第一特征值的数据位宽为32比特,所述第一特征值的数据格式为定点格式。
其中,本发明使用MxNet作为基础深度学习框架,可以利用MxNet框架现有的GPU(Graphic Processing Unit,图形处理器)加速机制来对定点化算法模型的计算进行加速。
其中,定点化算法模型中的卷积操作使用的是MxNet框架中的Convolution算子。
转换模块203,用于将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值;
通常,深度学习神经网络算法在训练时是用浮点数进行计算的。深度学习神经网络算法的所有操作,包括卷积、全连接、激活以及池化等等,都是浮点运算,现有的深度学习框架对这些浮点运算在GPU上有并行加速的方法。
本发明实施例中,由于所述第一特征值的数据格式为定点格式,而针对所述第一特征值的定点操作(移位操作、四舍五入操作以及饱和操作)均无法使用GPU机制进行加速,这使得定点化算法模型的推理计算需要花费大量的时间。
为了尽量加快定点化算法模型的推理计算,本发明实施例中,需要将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值,即所述第二特征值的数据格式为浮点格式。其中,所述第二特征值的数据位宽为32比特。
操作模块204,用于使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。
具体的,所述操作模块204使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据的方式具体为:
使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据;
使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据;
使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据。
在该可选的实施方式中,定点操作主要包括移位操作、四舍五入操作以及饱和操作,而在每步操作的计算中,均需要使用所述GPU加速机制进行加速,使得整个定点操作的计算时间大大减少。
作为一种可选的实施方式,所述使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据包括:
确定所述第二特征值的数据位宽;
根据所述数据位宽以及标准位宽,确定需要移位的比特数;
根据所述比特数,确定移位算子的算子参数;
将所述算子参数代入至所述移位算子,并使用代入所述算子参数后的移位算子,对所述第二特征值进行移位操作,获得移位数据。
在该可选的实施方式中,所述标准位宽可以根据实际需要来设置,所述标准位宽也即输出数据的数据位宽,通常,标准位宽设置为8比特。
在确定所述第二特征值的数据位宽之后,可以根据所述数据位宽以及标准位宽,确定需要移位的比特数。比如所述第二特征值的数据位宽为32比特,标准位宽为8比特,则可以确定需要移位的比特数为24比特。
在该可选的实施方式中,可以使用MxNet框架中的broadcast_mul算子(即移位算子)来进行移位操作。其中,broadcast_mul算子的算子参数取决于要移位的比特数。如果需要移位n比特,则broadcast_mul的算子参数为2-n,举例来说,假设需要移位的比特数为24比特,则broadcast_mul的算子参数为2-24。
在确定算子参数后,即可将所述算子参数代入至所述移位算子,并使用代入所述算子参数后的移位算子,对所述第二特征值进行移位操作,获得移位数据。其中,所述移位数据即进行移位操作后的结果数据。
作为一种可选的实施方式,所述使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据包括:
使用加法算子以及四舍五入算子对所述移位数据进行四舍五入操作,获得四舍五入数据。
在该可选的实施方式中,可以使用MxNet框架中的加法算子和floor算子(即四舍五入算子)组合,实现四舍五入的操作。具体的,可以先用MxNet框架中的加法算子,然后,使用MxNet框架中的floor算子进行四舍五入操作,获得四舍五入数据。
其中,所述四舍五入数据即进行四舍五入操作后的结果数据。
其中,所述加法算子有两个输入参数,一个输入参数为移位操作后的移位数据,另一个输入参数为常数0.5。
作为一种可选的实施方式,所述使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据包括:
使用饱和算子,对所述四舍五入数据进行饱和操作,获得饱和数据;
根据标准位宽,确定定点化动态范围;
判断所述饱和数据是否超出所述定点化动态范围;
若所述饱和数据超出所述定点化动态范围的最大值,将所述最大值确定为输出数据;或
若所述饱和数据超出所述定点化动态范围的最小值,将所述最小值确定为输出数据。
在该可选的实施方式中,可以使用MxNet中的clip算子(即饱和算子)实现饱和操作。其中,clip算子有两个参数:a_min和a_max。a_min参数为定点化动态范围的最小值;a_max参数为定点化动态范围的最大值。
在该可选的实施方式中,在获得饱和数据之后,还需要判断所述饱和数据是否超出所述定点化动态范围;若所述饱和数据超出所述定点化动态范围的最大值,将所述最大值确定为输出数据;或,若所述饱和数据超出所述定点化动态范围的最小值,将所述最小值确定为输出数据。举例来说,对于标准位宽为8比特的定点化算法模型来说,定点化动态范围为[-128,127],也即clip算子的两个参数a_min和a_max分别为:a_min=-128,a_max=127,如果所述饱和数据大于所述定点化动态范围的最大值,则需要把所述饱和数据替换为所述最大值并作为输出数据进行输出,如果所述饱和数据小于所述定点化动态范围的最小值,则需要把所述饱和数据替换为所述最小值并作为输出数据进行输出。
作为一种可选的实施方式,所述定点化加速装置还包括:
判断模块,用于根据所述输出数据,判断所述定点化算法模型的测试是否结束;
调整模块,用于若所述定点化算法模型的测试未结束,对所述第一模型参数进行定点化调整。
在该可选的实施方式中,在获得所述输出数据之后,可以判断所述输出数据是否符合所述定点化算法模型的预设要求,如果所述输出数据符合所述定点化算法模型的预设要求,则可以确定所述定点化算法模型的测试结束,反之,如果所述输出数据不符合所述定点化算法模型的预设要求,表明所述定点化算法模型的第一模型参数不准确,还需要对所述定点化算法模型的第一模型参数进行调整,因而,所述定点化算法模型的测试未结束。在下一个测试周期,还需要对所述第一模型参数进行定点化调整,之后,在进行下一个周期的测试,直至所述定点化算法模型最后的输出数据符合所述定点化算法模型的预设要求。
举例来说,假设所述定点化算法模型是用来进行人脸分类的,如果最后的输出数据对人脸分类正确,则表明所述输出数据符合所述定点化算法模型的预设要求,如果最后的输出数据对人脸分类错误,则表明所述输出数据不符合所述定点化算法模型的预设要求。
在图2所描述的定点化加速装置中,可以先获取测试数据以及第一模型参数,将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值;进一步地,将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值,最后,即可使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。可见,本发明中,在将测试数据输入定点化算法模型中获得第一特征值后,可以先将所述第一特征值的数据格式转换成浮点格式,之后,就可以使用GPU加速机制对浮点格式的第二特征值进行定点操作,整个定点操作过程,利用了GPU强大的计算能力,实现了加速,从而能够加速定点化算法模型的计算,加快定点化的迭代周期。
如图3所示,图3是本发明实现数据的定点化加速方法的较佳实施例的电子设备的结构示意图。所述电子设备3包括存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33及至少一条通讯总线34。
本领域技术人员可以理解,图3所示的示意图仅仅是电子设备3的示例,并不构成对电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备3还可以包括输入输出设备、网络接入设备等。
所述电子设备3还包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(InternetProtocol Television,IPTV)、智能式穿戴式设备等。所述电子设备3所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
所述至少一个处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。该处理器32可以是微处理器或者该处理器32也可以是任何常规的处理器等,所述处理器32是所述电子设备3的控制中心,利用各种接口和线路连接整个电子设备3的各个部分。
所述存储器31可用于存储所述计算机程序33和/或模块/单元,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述电子设备3的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备3的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
结合图1,所述电子设备3中的所述存储器31存储多个指令以实现一种数据的定点化加速方法,所述处理器32可执行所述多个指令从而实现:
获取测试数据以及第一模型参数;
将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值;
将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值;
使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。
在一种可选的实施方式中,所述使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据包括:
使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据;
使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据;
使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据。
在一种可选的实施方式中,所述使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据包括:
确定所述第二特征值的数据位宽;
根据所述数据位宽以及标准位宽,确定需要移位的比特数;
根据所述比特数,确定移位算子的算子参数;
将所述算子参数代入至所述移位算子,并使用代入所述算子参数后的移位算子,对所述第二特征值进行移位操作,获得移位数据。
在一种可选的实施方式中,所述使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据包括:
使用加法算子以及四舍五入算子对所述移位数据进行四舍五入操作,获得四舍五入数据。
在一种可选的实施方式中,所述使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据包括:
使用饱和算子,对所述四舍五入数据进行饱和操作,获得饱和数据;
根据标准位宽,确定定点化动态范围;
判断所述饱和数据是否超出所述定点化动态范围;
若所述饱和数据超出所述定点化动态范围的最大值,将所述最大值确定为输出数据;或
若所述饱和数据超出所述定点化动态范围的最小值,将所述最小值确定为输出数据。
在一种可选的实施方式中,所述处理器32可执行所述多个指令从而实现:
根据所述输出数据,判断所述定点化算法模型的测试是否结束;
若所述定点化算法模型的测试未结束,对所述第一模型参数进行定点化调整。
具体地,所述处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在图3所描述的电子设备3中,可以先获取测试数据以及第一模型参数,将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值;进一步地,将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值,最后,即可使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。可见,本发明中,在将测试数据输入定点化算法模型中获得第一特征值后,可以先将所述第一特征值的数据格式转换成浮点格式,之后,就可以使用GPU加速机制对浮点格式的第二特征值进行定点操作,整个定点操作过程,利用了GPU强大的计算能力,实现了加速,从而能够加速定点化算法模型的计算,加快定点化的迭代周期。
所述电子设备3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种数据的定点化加速方法,其特征在于,所述方法包括:
获取测试数据以及第一模型参数;
将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值;
将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值;
使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。
2.根据权利要求1所述的方法,其特征在于,所述使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据包括:
使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据;
使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据;
使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据。
3.根据权利要求2所述的方法,其特征在于,所述使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据包括:
确定所述第二特征值的数据位宽;
根据所述数据位宽以及标准位宽,确定需要移位的比特数;
根据所述比特数,确定移位算子的算子参数;
将所述算子参数代入至所述移位算子,并使用代入所述算子参数后的移位算子,对所述第二特征值进行移位操作,获得移位数据。
4.根据权利要求2所述的方法,其特征在于,所述使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据包括:
使用加法算子以及四舍五入算子对所述移位数据进行四舍五入操作,获得四舍五入数据。
5.根据权利要求2所述的方法,其特征在于,所述使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据包括:
使用饱和算子,对所述四舍五入数据进行饱和操作,获得饱和数据;
根据标准位宽,确定定点化动态范围;
判断所述饱和数据是否超出所述定点化动态范围;
若所述饱和数据超出所述定点化动态范围的最大值,将所述最大值确定为输出数据;或
若所述饱和数据超出所述定点化动态范围的最小值,将所述最小值确定为输出数据。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
根据所述输出数据,判断所述定点化算法模型的测试是否结束;
若所述定点化算法模型的测试未结束,对所述第一模型参数进行定点化调整。
7.一种定点化加速装置,其特征在于,所述装置包括:
获取模块,用于获取测试数据以及第一模型参数;
输入模块,用于将所述测试数据以及所述第一模型参数输入至需要进行参数定点化调整的定点化算法模型中,获得第一特征值;
转换模块,用于将所述第一特征值的数据格式由定点格式转换成浮点格式,获得由所述浮点格式表示的第二特征值;
操作模块,用于使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据。
8.根据权利要求7所述的装置,其特征在于,所述操作模块使用图形处理器GPU加速机制,对所述第二特征值进行定点操作,获得输出数据的方式具体为:
使用所述GPU加速机制,对所述第二特征值进行移位操作,获得移位数据;
使用所述GPU加速机制,对所述移位数据进行四舍五入操作,获得四舍五入数据;
使用所述GPU加速机制,对所述四舍五入数据进行饱和操作,获得输出数据。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至6中任意一项所述的数据的定点化加速方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至6任意一项所述的数据的定点化加速方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614766.3A CN109697083B (zh) | 2018-12-27 | 2018-12-27 | 数据的定点化加速方法、装置、电子设备及存储介质 |
PCT/CN2019/114726 WO2020134547A1 (zh) | 2018-12-27 | 2019-10-31 | 数据的定点化加速方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614766.3A CN109697083B (zh) | 2018-12-27 | 2018-12-27 | 数据的定点化加速方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109697083A true CN109697083A (zh) | 2019-04-30 |
CN109697083B CN109697083B (zh) | 2021-07-06 |
Family
ID=66232978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811614766.3A Active CN109697083B (zh) | 2018-12-27 | 2018-12-27 | 数据的定点化加速方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109697083B (zh) |
WO (1) | WO2020134547A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929862A (zh) * | 2019-11-26 | 2020-03-27 | 陈子祺 | 定点化的神经网络模型量化装置和方法 |
WO2020134547A1 (zh) * | 2018-12-27 | 2020-07-02 | 深圳云天励飞技术有限公司 | 数据的定点化加速方法、装置、电子设备及存储介质 |
CN112148249A (zh) * | 2020-09-18 | 2020-12-29 | 北京百度网讯科技有限公司 | 点积运算实现方法、装置、电子设备及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372493A1 (en) * | 2013-06-14 | 2014-12-18 | Texas Instruments Incorporated | System and method for accelerating evaluation of functions |
CN104461459A (zh) * | 2013-09-23 | 2015-03-25 | 富士通株式会社 | 定点化处理方法及其装置 |
CN105760933A (zh) * | 2016-02-18 | 2016-07-13 | 清华大学 | 卷积神经网络的逐层变精度定点化方法及装置 |
CN105930128A (zh) * | 2016-05-17 | 2016-09-07 | 中国科学院数据与通信保护研究教育中心 | 一种利用浮点数计算指令实现大整数乘法计算加速方法 |
CN107451658A (zh) * | 2017-07-24 | 2017-12-08 | 杭州菲数科技有限公司 | 浮点运算定点化方法及系统 |
CN107679618A (zh) * | 2017-07-28 | 2018-02-09 | 北京深鉴科技有限公司 | 一种静态策略定点化训练方法及装置 |
US20180052660A1 (en) * | 2016-08-22 | 2018-02-22 | Arm Limited | Apparatus and method for fixed point to floating point conversion and negative power of two detector |
CN108009634A (zh) * | 2017-12-21 | 2018-05-08 | 美的集团股份有限公司 | 一种卷积神经网络的优化方法、装置及计算机存储介质 |
CN108053028A (zh) * | 2017-12-21 | 2018-05-18 | 深圳云天励飞技术有限公司 | 数据定点化处理方法、装置、电子设备及计算机存储介质 |
CN108345939A (zh) * | 2017-01-25 | 2018-07-31 | 微软技术许可有限责任公司 | 基于定点运算的神经网络 |
CN108681773A (zh) * | 2018-05-23 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 数据运算的加速方法、装置、终端及可读存储介质 |
CN109063825A (zh) * | 2018-08-01 | 2018-12-21 | 清华大学 | 卷积神经网络加速装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622207B (zh) * | 2011-01-30 | 2015-07-22 | 中兴通讯股份有限公司 | 定点化处理方法及装置 |
CN109697083B (zh) * | 2018-12-27 | 2021-07-06 | 深圳云天励飞技术有限公司 | 数据的定点化加速方法、装置、电子设备及存储介质 |
-
2018
- 2018-12-27 CN CN201811614766.3A patent/CN109697083B/zh active Active
-
2019
- 2019-10-31 WO PCT/CN2019/114726 patent/WO2020134547A1/zh active Application Filing
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372493A1 (en) * | 2013-06-14 | 2014-12-18 | Texas Instruments Incorporated | System and method for accelerating evaluation of functions |
CN104461459A (zh) * | 2013-09-23 | 2015-03-25 | 富士通株式会社 | 定点化处理方法及其装置 |
CN105760933A (zh) * | 2016-02-18 | 2016-07-13 | 清华大学 | 卷积神经网络的逐层变精度定点化方法及装置 |
CN105930128A (zh) * | 2016-05-17 | 2016-09-07 | 中国科学院数据与通信保护研究教育中心 | 一种利用浮点数计算指令实现大整数乘法计算加速方法 |
US20180052660A1 (en) * | 2016-08-22 | 2018-02-22 | Arm Limited | Apparatus and method for fixed point to floating point conversion and negative power of two detector |
CN108345939A (zh) * | 2017-01-25 | 2018-07-31 | 微软技术许可有限责任公司 | 基于定点运算的神经网络 |
CN107451658A (zh) * | 2017-07-24 | 2017-12-08 | 杭州菲数科技有限公司 | 浮点运算定点化方法及系统 |
CN107679618A (zh) * | 2017-07-28 | 2018-02-09 | 北京深鉴科技有限公司 | 一种静态策略定点化训练方法及装置 |
CN108009634A (zh) * | 2017-12-21 | 2018-05-08 | 美的集团股份有限公司 | 一种卷积神经网络的优化方法、装置及计算机存储介质 |
CN108053028A (zh) * | 2017-12-21 | 2018-05-18 | 深圳云天励飞技术有限公司 | 数据定点化处理方法、装置、电子设备及计算机存储介质 |
CN108681773A (zh) * | 2018-05-23 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 数据运算的加速方法、装置、终端及可读存储介质 |
CN109063825A (zh) * | 2018-08-01 | 2018-12-21 | 清华大学 | 卷积神经网络加速装置 |
Non-Patent Citations (1)
Title |
---|
邹晓峰: "YHFT-XDSP高性能浮点ALU的设计优化与验证", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020134547A1 (zh) * | 2018-12-27 | 2020-07-02 | 深圳云天励飞技术有限公司 | 数据的定点化加速方法、装置、电子设备及存储介质 |
CN110929862A (zh) * | 2019-11-26 | 2020-03-27 | 陈子祺 | 定点化的神经网络模型量化装置和方法 |
CN110929862B (zh) * | 2019-11-26 | 2023-08-01 | 陈子祺 | 定点化的神经网络模型量化装置和方法 |
CN112148249A (zh) * | 2020-09-18 | 2020-12-29 | 北京百度网讯科技有限公司 | 点积运算实现方法、装置、电子设备及存储介质 |
CN112148249B (zh) * | 2020-09-18 | 2023-08-18 | 北京百度网讯科技有限公司 | 点积运算实现方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020134547A1 (zh) | 2020-07-02 |
CN109697083B (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022137193A (ja) | 深層学習モデルの分散トレーニング方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
CN111897818B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN111880807A (zh) | 深度学习编译方法、装置、设备及存储介质 | |
CN109697083A (zh) | 数据的定点化加速方法、装置、电子设备及存储介质 | |
CN110889439B (zh) | 一种图像特征提取方法、装置及电子设备和存储介质 | |
CN111708641A (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
CN114862656A (zh) | 基于多gpu的分布式深度学习模型训练代价的获取方法 | |
US8711160B1 (en) | System and method for efficient resource management of a signal flow programmed digital signal processor code | |
US12079600B2 (en) | Visual programming for deep learning | |
CN107315729A (zh) | 用于图表的数据处理方法、介质、装置和计算设备 | |
CN115048254B (zh) | 数据分配策略的仿真测试方法、系统、设备和可读介质 | |
CN115311399A (zh) | 图像渲染方法、装置、电子设备以及存储介质 | |
US20240303413A1 (en) | Document editing method and apparatus, and terminal and non-transitory storage medium | |
WO2024164586A1 (zh) | 虚拟对象的控制方法、装置、设备、存储介质及产品 | |
CN111061743A (zh) | 数据加工方法、装置和电子设备 | |
CN110147350A (zh) | 文件查找方法、装置、电子设备及存储介质 | |
CN111813407B (zh) | 游戏开发方法、游戏运行方法、装置和电子设备 | |
CN115146485B (zh) | 基于gpu加速的射频链路仿真方法 | |
CN106528162A (zh) | 一种目标对象的显示方法、装置及电子设备 | |
JP2022024080A (ja) | ニューラルネットワークの積和演算方法及び装置 | |
CN108573042B (zh) | 报表同步方法、电子设备及计算机可读存储介质 | |
CN115705375A (zh) | 树形组件渲染方法、装置 | |
TW202223920A (zh) | 幹細胞密度確定方法、裝置、電腦裝置及儲存介質 | |
CN105955633A (zh) | 快速查看计算结果的方法、装置及智能终端 | |
CN112101570B (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 |