CN111967608A - 数据处理方法、装置、设备及存储介质 - Google Patents
数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111967608A CN111967608A CN202010784833.7A CN202010784833A CN111967608A CN 111967608 A CN111967608 A CN 111967608A CN 202010784833 A CN202010784833 A CN 202010784833A CN 111967608 A CN111967608 A CN 111967608A
- Authority
- CN
- China
- Prior art keywords
- precision
- result
- data
- error
- target data
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 91
- 238000012545 processing Methods 0.000 claims abstract description 74
- 238000006243 chemical reaction Methods 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000013139 quantization Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 238000007667 floating Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000008602 contraction Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012958 reprocessing Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 102100030148 Integrator complex subunit 8 Human genes 0.000 description 1
- 101710092891 Integrator complex subunit 8 Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- 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
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Neurology (AREA)
- Nonlinear Science (AREA)
- Image Processing (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种数据处理方法、装置、设备及存储介质。该方法包括:采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,所述第一精度高于所述第二精度;按照所述第二精度处理所述目标数据,得到计算结果;根据所述计算结果与标准结果的误差确定输出数据。通过上述技术方案,在保证精度的情况下,提高数据处理效率。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
随着计算机和大数据技术的发展,智能设备的功能越来越强大,需要处理的数据大规模增加,对芯片的数据处理能力的要求也越来越高。处理芯片可以提供多种数据精度的存储支持,数据精度越高,得到的结果越精确。以深度学习为例,深度学习作为热门的研究方向,在数据挖掘、机器翻译、图像识别、信息推荐等领域都取得了很多成果,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
为保证精度,现有深度学习框架在训练深度神经网络时,往往都会使用浮点类型的数据精度(例如FP32)来表示神经网络中的权值、偏置、激活值等,虽然保证了数据处理的精度较高,但是处理效率偏低。尤其是在网络较深的情况下,网络参数多、计算量大,如果都采用浮点类型的精度来计算,必然会占用过多的资源,耗费过多的时间,数据处理效率低。
发明内容
本发明提供了一种数据处理方法、装置、设备及存储介质,以在保证精度的情况下,提高数据处理效率。
第一方面,本发明实施例提供了一种数据处理方法,包括:
采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,所述第一精度高于所述第二精度;
按照所述第二精度处理所述目标数据,得到计算结果;
根据所述计算结果与标准结果的误差确定输出数据。
第二方面,本发明实施例提供了一种数据处理装置,包括:
精度转换模块,用于采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,所述第一精度高于所述第二精度;
数据处理模块,用于按照所述第二精度处理所述目标数据,得到计算结果;
数据输出模块,用于根据所述计算结果与标准结果的误差确定输出数据。
第三方面,本发明实施例提供了一种设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的数据处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数据处理方法。
本发明实施例提供了一种数据处理方法、装置、服务器及存储介质。该方法包括:采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,所述第一精度高于所述第二精度;按照所述第二精度处理所述目标数据,得到计算结果;根据所述计算结果与标准结果的误差确定输出数据。通过上述技术方案,在保证精度的情况下,提高数据处理效率。
附图说明
图1为一实施例提供的一种数据处理方法的流程图;
图2为一实施例提供的另一种数据处理方法的流程图;
图3为一实施例提供的又一种数据处理方法的流程图;
图4为一实施例提供的一种数据处理过程的示意图;
图5为一实施例提供的一种数据处理装置的结构示意图;
图6为一实施例提供的一种设备的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
需要注意,本发明实施例中提及的“第一”、“第二”等概念仅用于对不同的装置、模块、单元或其他对象进行区分,并非用于限定这些装置、模块、单元或其他对象所执行的功能的顺序或者相互依存关系。
图1为一实施例提供的一种数据处理方法的流程图,本实施例可适用于数据处理的情况。具体的,该数据处理方法可以由数据处理装置执行,该数据处理装置可以通过软件和/或硬件的方式实现,并集成在用于数据处理的设备中,所述设备包括但不限定于:台式计算机、笔记本电脑、智能手机以及平板电脑等。
如图1所示,该方法具体包括如下步骤:
S110、采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,所述第一精度高于所述第二精度。
本实施例中,目标数据可以是计算机中的任意待处理的二进制数据,其精度包括整型(Integer,Int)和浮点(Floating-Point,FP)类型等,例如8位整型(Int8),16位浮点(FP16),32位浮点(FP32)以及64位浮点(FP)。浮点数在计算机中用于近似表示任意实数,由一个整数或定点数(即尾数)乘以某个基数(对于计算机中的二进制数据来说基数通常是2)的整数次幂得到。浮点精细度就是实数的精细程度。
目标数据在生成时是基于第一精度的,例如是FP32,在S110中,采用不同的量化方式可以将目标数据转换为第二精度的,例如,将目标数据量化为INT8的数据,从而减少数据占用的内存和计算资源,提高计算速度。计算机中的值都是用二进制存储的,FP32是用32bit来存储,INT8是用8个bit来存储。
本实施例中,第一精度可以是浮点(FP)精度,或者是整型(INT)精度;第二精度也可以是浮点精度或者整型精度,其中,第一精度高于第二精度。通过将第一精度的目标数据转换为第二精度的目标数据进行处理,以减少计算量、提高计算效率。
S120、按照所述第二精度处理所述目标数据,得到计算结果。
S130、根据所述计算结果与标准结果的误差确定输出数据。
本实施例中,标准结果可以是基于转换前的第一精度对应的处理结果,也可以是基于指定精度对目标数据进行处理的处理结果,或者是数据库中预存的理论结果等。在对目标数据完成精度转换后,将相应的计算结果与标准结果进行比较,可以判断基于转换后的精度进行处理的误差是否在可接受的范围内,如果是,则基于转换后的精度得到的计算结果能够满足需求,可作为输出数据,以供设备进行后续的处理;如果误差较大、不能满足需求,则不采用精度转换后的计算结果,而是将更高精度的(例如基于转换前的精度得到的处理结果)作为输出数据,以供设备进行后续的处理。
本实施例提供的一种数据处理方法,通过降低目标数据的精度,可以提高计算速度,并且将计算结果与标准结果进行比较,考虑了输出数据的误差,从而在保证数据处理精度的同时提高了数据处理效率。
图2为一实施例提供的另一种数据处理方法的流程图。本实施例是在上述实施例的基础上进行优化,对根据计算结果和标准结果的误差确定输出数据的过程进行具体描述。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
具体的,如图2所示,该方法具体包括如下步骤:
S210、采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,所述第一精度高于所述第二精度。
S220、按照第二精度处理所述目标数据,得到计算结果。
S230、计算结果与标准结果的误差小于或等于设定阈值?若是,则执行S240,否则,执行S250。
本实施例中,误差可以是计算结果与标准结果之间的差值,也可以是计算结果与标准结果之间的差值与标准结果的比值。
S240、输出计算结果。
S250、输出标准结果。
本实施例提供的一种数据处理方法,通过预设精度转换模式将目标数据的精度降低至第二精度,在此基础上,如果对应的计算结果与标准结果的误差在设定阈值的范围内,则输出基于第二精度的计算结果,基于第二精度的数据处理过程计算量较小,既能够保证精度,又能够提高计算效率;如果误差超出设定阈值,则输出标准结果,以避免精度过低。
在一实施例中,可选的,如果基于第二精度的计算结果与标准结果的误差大于设定阈值,则采用预设精度转换模式将目标数据由第一精度转换为第三精度,第三精度低于第一精度且高于第二精度,基于第三精度重新处理目标数据并将得到的计算结果与标准结果比较,确定误差,进而确定是否可以将基于第三精度的计算结果作为输出数据。优选的,目标数据由第一精度转换为第三精度所采用的预设精度转换模式,与由第一精度转换为第二精度所采用的预设精度转换模式相同,从而能够保证基于第三精度重新处理目标数据得到的计算结果的精度一定高于基于第二精度得到的计算结果,即,基于第三精度重新处理目标数据,一方面比采用第一精度降低了计算量,另一方面,相比于基于第二精度的不满足需求的误差,基于第三精度得到的计算结果的误差符合要求的概率更大。
图3为一实施例提供的又一种数据处理方法的流程图。本实施例是在上述实施例的基础上进行优化,对根据计算结果和标准结果的误差确定输出数据的过程进行具体描述。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
具体的,如图3所示,该方法具体包括如下步骤:
S310、采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,第一精度高于第二精度。
S320、按照第二精度处理所述目标数据,得到计算结果。
本实施例中,预设精度转换模式至少为两个;相应的,计算结果至少为两个。
S330、确定各计算结果与标准结果的误差中的最小误差。
S340、最小误差小于或等于设定阈值?若是,则执行S350,否则,执行S360。
S350、输出计算结果。
S360、输出标准结果。
本实施例提供的一种数据处理方法,在上述实施例的基础上进行优化,预设精度转换模式包括至少一种,在采用不同的预设精度转换模式将目标数据的精度降低至不同精度后,选取使得计算结果与标准结果的误差最小的一种精度,如果在该精度下的计算结果对应的误差在可接受的误差范围内,则输出基于该精度的计算结果,基于该精度的数据处理过程计算量较小,且对于转换后的不同精度,该精度的计算结果的精度相对最高,从而既能够保证精度,又能够提高计算效率;如果在该精度下的计算结果对应的误差超出设定阈值,则输出标准结果,以保证数据处理的精度。
在一实施例中,所述预设精度转换模式包括以下至少一种:全局线性量化、局部线性量化、非线性量化。
具体的,量化的含义是把第一精度下相近的数值转换为一个数。以第一精度为FP32、第二精度为INT8为例,把神经网络中的以浮点数(FP32)存储的权值和计算中间值用整型(INT8)表示。FP类型利用23bit来表示小数部分,因此使用INT8意味着只能用更稀疏的值和更小的数值范围(-127~128)。
全局线性量化是通过一个收缩因子,将FP32中的最大值映射到INT8的最大值,将FP32中的最小值映射到INT8的最小值,例如,将FP32中的±max映射到INT8的±127,由±max映射到±127的整个区间内采用相同的收缩因子,缩放比例保持一致,从而实现对±max的全局线性量化。这种情况下,如果FP32的值均匀分布在0的两侧,则映射后的INT8中的值也是均匀分布在0的两侧。全局线性量化适用于目标数据在整个取值范围内分布较为均匀的情况。
局部线性量化是通过一个收缩因子,将FP32中一定区间内的最大值和最小值分别映射到INT8的最大值和最小值,而在该区间以外的值可以舍弃,不被映射到INT8中。例如,将FP32中的[T1,T2]映射到INT8的[-127,+127],由[T1,T2]映射到[-127,+127]的相应区间内采用相同的收缩因子,以实现对于[T1,T2]的局部线性量化。局部线性量化适用于目标数据在一定区间内分布较为均匀、而在该区间以外无分布,或者分布很少可以忽略不计的情况,映射后的INT8的数据分布也是均匀分布的。
非线性量化可以通过不同的收缩因子实现。例如,将FP32中的最大值(或者一定区间内的最大值)映射到INT8的最大值,将FP32中的最小值(或者一定区间内的最小值)映射到INT8的最小值,并且对于该映射过程所涉及的区间可以采用不同的收缩因子。非线性量化可以有效处理目标数据分布不均匀的情况。例如,神经网络中,大部分训练好的权重都落在一定区间内,还存在一部分的权重落在该区间以外,因此可以采用非线性量化的方式进行精度转换。例如,FP32的目标数据经过非线性量化后可能主要分布在[0,127]以内,还有一部分数据分布在[-127,0]内,对于在[0,127]以内的数据表示得更密集,而对于[-127,0]内数据相对稀疏,从而增强量化后数据的表示能力,充分利用计算资源,提高模型精度。
图4为一实施例提供的一种数据处理过程的示意图。如图4所示,分别采用全局线性量化、局部线性量化、非线性量化的模式将第一精度(FP16)转换为第二精度(INT8),分别得到计算结果1与标准结果的误差1、计算结果2与标准结果的误差2、计算结果3与标准结果的误差3,其中,最小误差为误差3,则如果误差3小于或等于设定阈值,即可将经过非线性量化的第二精度的计算结果作为输出数据,供设备后续的数据处理。
以卷积神经网络(Convolutional Neural Networks,CNN)模型为例,目前的CNN模型基本都采用FP32的精度,将其转换为INT8的精度可以降低模型的大小,提升CNN模型的训练和计算速度,实现模型轻量化,加速深度学习模型推理,模型存储主要是每个层的权值,量化后模型占用空间小,32比特可以缩减至8比特,并且激活值使用8比特,减小了内存的访问带宽需求。此外,精度降低后,计算误差也在允许范围内,能够满足实际需求。
在一实施例中,可选的,如果最小误差大于设定阈值,说明由于第二精度偏低,不管采用何种精度转换模式对应的误差都较大,这种情况下,可以采用预设精度转换模式将目标数据由第一精度转换为第三精度,第三精度低于第一精度且高于第二精度,基于第三精度重新处理目标数据并将得到的计算结果与标准结果比较,确定最小误差,进而确定是否可以将通过最小误差对应的预设精度转换模式转换精度后的基于第三精度的计算结果作为输出数据。优选的,目标数据由第一精度转换为第三精度所采用的预设精度转换模式,与由第一精度转换为第二精度所采用的预设精度转换模式相同,从而能够保证基于第三精度重新处理目标数据得到的计算结果的精度一定高于基于第二精度得到的计算结果,即,基于第三精度重新处理目标数据,一方面比采用第一精度降低了计算量,另一方面,相比于基于第二精度的不满足需求的误差,基于第三精度得到的计算结果的误差符合要求的概率更大。
在一实施例中,在根据所述计算结果与标准结果的误差确定输出数据之前,还包括:
S100、按照所述第一精度处理所述目标数据,得到所述标准结果;或者,
按照设定精度处理所述目标数据,得到所述标准结果,其中,所述设定精度高于所述第二精度。
本实施例中,标准结果是基于转换前的精度,即第一精度处理得到的,也可以是基于设定精度,例如FP32处理得到的,也可以是理论结果。标准结果用于衡量基于转换后的精度进行处理的误差,从而确定基于第二精度的计算结果是否可用。
在一实施例中,所述目标数据包括至少两组数据;所述采用预设精度转换模式将目标数据由第一精度转换为第二精度,包括:采用预设精度转换模式,分别将每组数据由第一精度转换为第二精度,各组数据的所述第二精度不同。
本实施例中,在一次精度转换的过程中,可以将目标数据转换为混合精度。例如,对于神经网络各层的权重值,可以分别由FP32转换为FP16、INT8等,并判断转换精度后的计算结果与标准结果之间的误差是否在可接受的范围内,以此增强精度转换的灵活性和对不同场景或目标数据的适用性,更能兼顾计算效率和精度。
在一实施例中,还包括:
S101:在接收到原语时,对核的预设精度转换模式进行配置。
数据处理的进程由原语完成,原语是由若干条指令组成的程序段,用于实现对目标数据的处理,在执行过程中不可被中断。核(Core)又称为内核,是设备的处理器最重要的组成部分,处理器对目标数据的接收、计算、存储和处理等都由核控制。本实施例中,在每次处理目标数据的进程启动时会产生相应的原语,在每次接收到原语时,为核配置至少一种预设精度转换模式,从而基于误差最小的一种模式,按照第二精度处理目标数据,以降低计算量,提高计算效率。
图5为一实施例提供的一种数据处理装置的结构示意图。如图5所示,本实施例提供的数据处理装置包括:
精度转换模块410,用于采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,所述第一精度高于所述第二精度;
数据处理模块420,用于按照所述第二精度处理所述目标数据,得到计算结果;
数据输出模块430,用于根据所述计算结果与标准结果的误差确定输出数据。
本实施例提供的一种数据处理装置,通过降低目标数据的精度,可以提高计算速度,并且将计算结果与标准结果进行比较,考虑了输出数据的误差,从而在保证数据处理精度的同时提高了数据处理效率。
在一实施例中,所述数据输出模块430,具体用于:
若所述计算结果与所述标准结果的误差小于或等于设定阈值,则输出所述计算结果;
否则,输出所述标准结果。
在一实施例中,所述预设精度转换模式至少为两个;相应的,所述计算结果至少为两个;所述数据输出模块430,具体用于:
若各所述计算结果与所述标准结果的误差中的最小误差小于或等于设定阈值,则输出所述最小误差对应的计算结果;
否则,输出所述标准结果。
在一实施例中,所述预设精度转换模式包括以下至少一种:
全局线性量化、局部线性量化、非线性量化。
在一实施例中,所述装置还包括:
标准结果计算模块,用于在根据所述计算结果与标准结果的误差确定输出数据之前,按照所述第一精度处理所述目标数据,得到所述标准结果;或者,按照设定精度处理所述目标数据,得到所述标准结果,其中,所述设定精度高于所述第二精度。
在一实施例中,所述目标数据包括至少两组数据;所述数据输出模块430,具体用于:
采用预设精度转换模式,分别将每组数据由第一精度转换为第二精度,各组数据的所述第二精度不同。
在一实施例中,还包括:
配置模块,用于在接收到原语时,对核的预设精度转换模式进行配置。
本实施例提供的数据处理装置可以用于执行上述任意实施例提供的数据处理方法,具备相应的功能和有益效果。
图6为一实施例提供的一种设备的硬件结构示意图。如图6所示,本实施例提供的设备包括但不限定于:计算机、笔记本电脑、智能手机以及平板电脑等。如图6所示,本实施例提供的一种设备,包括:处理器510和存储装置520。该设备中的处理器可以是一个或多个,图6中以一个处理器510为例,所述设备中的处理器510和存储装置520可以通过总线或其他方式连接,图6中以通过总线连接为例。
所述一个或多个程序被所述一个或多个处理器510执行,使得所述一个或多个处理器实现上述实施例中任意所述的数据处理方法。
该设备中的存储装置520作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中数据处理方法对应的程序指令/模块(例如,附图5所示的数据处理装置中的模块,包括:精度转换模块410、数据处理模块420和数据输出模块430)。处理器510通过运行存储在存储装置520中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述方法实施例中的数据处理方法。
存储装置520主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等(如上述实施例中的目标数据、计算结果等)。此外,存储装置520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置520可进一步包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
并且,当上述设备中所包括一个或者多个程序被所述一个或者多个处理器510执行时,进行如下操作:采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,所述第一精度高于所述第二精度;按照所述第二精度处理所述目标数据,得到计算结果;根据所述计算结果与标准结果的误差确定输出数据。
本实施例提出的设备与上述实施例提出的数据处理方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述任意实施例,并且本实施例具备与执行数据处理方法相同的有益效果。
在上述实施例的基础上,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被数据处理装置执行时实现本发明上述任意实施例中的数据处理方法,该方法包括:采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,所述第一精度高于所述第二精度;按照所述第二精度处理所述目标数据,得到计算结果;根据所述计算结果与标准结果的误差确定输出数据。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的数据处理方法操作,还可以执行本发明任意实施例所提供的数据处理方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的数据处理方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,所述第一精度高于所述第二精度;
按照所述第二精度处理所述目标数据,得到计算结果;
根据所述计算结果与标准结果的误差确定输出数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述计算结果与标准结果的误差确定输出数据,包括:
若所述计算结果与所述标准结果的误差小于或等于设定阈值,则输出所述计算结果;
否则,输出所述标准结果。
3.根据权利要求1所述的方法,其特征在于,所述预设精度转换模式至少为两个;相应的,所述计算结果至少为两个;
所述根据所述计算结果与标准结果的误差确定输出数据,包括:
若各所述计算结果与所述标准结果的误差中的最小误差小于或等于设定阈值,则输出所述最小误差对应的计算结果;
否则,输出所述标准结果。
4.根据权利要求1所述的方法,其特征在于,所述预设精度转换模式包括以下至少一种:
全局线性量化、局部线性量化、非线性量化。
5.根据权利要求1所述的方法,其特征在于,在根据所述计算结果与标准结果的误差确定输出数据之前,还包括:
按照所述第一精度处理所述目标数据,得到所述标准结果;或者,
按照设定精度处理所述目标数据,得到所述标准结果,其中,所述设定精度高于所述第二精度。
6.根据权利要求1所述的方法,其特征在于,所述目标数据包括至少两组数据;
所述采用预设精度转换模式将目标数据由第一精度转换为第二精度,包括:
采用预设精度转换模式,分别将每组数据由第一精度转换为第二精度,各组数据的所述第二精度不同。
7.根据权利要求1-6中任一项所述的方法,其特征在于,还包括:
在接收到原语时,对计算核的预设精度转换模式进行配置。
8.一种数据处理装置,其特征在于,包括:
精度转换模块,用于采用预设精度转换模式将目标数据由第一精度转换为第二精度,其中,所述第一精度高于所述第二精度;
数据处理模块,用于按照所述第二精度处理所述目标数据,得到计算结果;
数据输出模块,用于根据所述计算结果与标准结果的误差确定输出数据。
9.一种设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的数据处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010784833.7A CN111967608A (zh) | 2020-08-06 | 2020-08-06 | 数据处理方法、装置、设备及存储介质 |
PCT/CN2021/111208 WO2022028577A1 (zh) | 2020-08-06 | 2021-08-06 | 处理方式确定方法、数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010784833.7A CN111967608A (zh) | 2020-08-06 | 2020-08-06 | 数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111967608A true CN111967608A (zh) | 2020-11-20 |
Family
ID=73364520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010784833.7A Pending CN111967608A (zh) | 2020-08-06 | 2020-08-06 | 数据处理方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111967608A (zh) |
WO (1) | WO2022028577A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112382302A (zh) * | 2020-12-02 | 2021-02-19 | 漳州立达信光电子科技有限公司 | 婴儿哭声识别方法及终端设备 |
WO2022028577A1 (zh) * | 2020-08-06 | 2022-02-10 | 北京灵汐科技有限公司 | 处理方式确定方法、数据处理方法 |
CN114118387A (zh) * | 2022-01-25 | 2022-03-01 | 深圳鲲云信息科技有限公司 | 数据处理方法、数据处理装置及计算机可读存储介质 |
CN116401069A (zh) * | 2023-05-08 | 2023-07-07 | 深圳市欧朗博科技有限公司 | 一种精度可调整及数据自整合的基带芯片架构方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115390654A (zh) * | 2022-08-11 | 2022-11-25 | Oppo广东移动通信有限公司 | 降低功耗的方法、处理器、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180211152A1 (en) * | 2017-01-20 | 2018-07-26 | Nvidia Corporation | Automated methods for conversions to a lower precision data format |
CN110659725A (zh) * | 2019-09-20 | 2020-01-07 | 字节跳动有限公司 | 神经网络模型的压缩与加速方法、数据处理方法及装置 |
CN111160554A (zh) * | 2019-12-27 | 2020-05-15 | 北京市商汤科技开发有限公司 | 信息处理方法及装置、电子设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109993298B (zh) * | 2017-12-29 | 2023-08-08 | 百度在线网络技术(北京)有限公司 | 用于压缩神经网络的方法和装置 |
CN110163368B (zh) * | 2019-04-18 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 基于混合精度的深度学习模型训练方法、装置及系统 |
CN111967608A (zh) * | 2020-08-06 | 2020-11-20 | 北京灵汐科技有限公司 | 数据处理方法、装置、设备及存储介质 |
-
2020
- 2020-08-06 CN CN202010784833.7A patent/CN111967608A/zh active Pending
-
2021
- 2021-08-06 WO PCT/CN2021/111208 patent/WO2022028577A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180211152A1 (en) * | 2017-01-20 | 2018-07-26 | Nvidia Corporation | Automated methods for conversions to a lower precision data format |
CN108337000A (zh) * | 2017-01-20 | 2018-07-27 | 辉达公司 | 用于转换到较低精度数据格式的自动方法 |
CN110659725A (zh) * | 2019-09-20 | 2020-01-07 | 字节跳动有限公司 | 神经网络模型的压缩与加速方法、数据处理方法及装置 |
CN111160554A (zh) * | 2019-12-27 | 2020-05-15 | 北京市商汤科技开发有限公司 | 信息处理方法及装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
罗建书 等: "《高光谱遥感图像数据压缩》", 31 March 2011, 国防工业出版社, pages: 29 - 33 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022028577A1 (zh) * | 2020-08-06 | 2022-02-10 | 北京灵汐科技有限公司 | 处理方式确定方法、数据处理方法 |
CN112382302A (zh) * | 2020-12-02 | 2021-02-19 | 漳州立达信光电子科技有限公司 | 婴儿哭声识别方法及终端设备 |
CN114118387A (zh) * | 2022-01-25 | 2022-03-01 | 深圳鲲云信息科技有限公司 | 数据处理方法、数据处理装置及计算机可读存储介质 |
CN116401069A (zh) * | 2023-05-08 | 2023-07-07 | 深圳市欧朗博科技有限公司 | 一种精度可调整及数据自整合的基带芯片架构方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022028577A1 (zh) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111967608A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN108701250B (zh) | 数据定点化方法和装置 | |
US10929746B2 (en) | Low-power hardware acceleration method and system for convolution neural network computation | |
US11307864B2 (en) | Data processing apparatus and method | |
US11023801B2 (en) | Data processing method and apparatus | |
CN110929865B (zh) | 网络量化方法、业务处理方法及相关产品 | |
CN112287986B (zh) | 一种图像处理方法、装置、设备及可读存储介质 | |
US20220083857A1 (en) | Convolutional neural network operation method and device | |
US11651198B2 (en) | Data processing method and apparatus for neural network | |
CN110647974A (zh) | 深度神经网络中的网络层运算方法及装置 | |
CN107402905B (zh) | 基于神经网络的计算方法及装置 | |
CN111240746A (zh) | 一种浮点数据反量化及量化的方法和设备 | |
JP2022512211A (ja) | 画像処理方法、装置、車載演算プラットフォーム、電子機器及びシステム | |
CN109242091B (zh) | 图像识别方法、装置、设备及可读存储介质 | |
CN112183744A (zh) | 一种神经网络剪枝方法及装置 | |
US20200242467A1 (en) | Calculation method and calculation device for sparse neural network, electronic device, computer readable storage medium, and computer program product | |
González et al. | A Hardware Accelerator for the Inference of a Convolutional Neural network | |
CN112686365A (zh) | 运行神经网络模型的方法、装置和计算机设备 | |
CN115827555A (zh) | 数据处理方法、计算机设备、存储介质和乘法器结构 | |
CN113157453B (zh) | 一种基于任务复杂度的高能效目标检测任务动态调度方法 | |
CN112561050B (zh) | 一种神经网络模型训练方法及装置 | |
US11068784B2 (en) | Generic quantization of artificial neural networks | |
Xing et al. | Allocating DNN layers computation between front-end devices and the cloud server for video big data processing | |
CN114020476B (zh) | 一种作业的处理方法、设备及介质 | |
CN110874813B (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 |