CN108416426B - 数据处理方法、装置及计算机可读存储介质 - Google Patents
数据处理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108416426B CN108416426B CN201810116738.2A CN201810116738A CN108416426B CN 108416426 B CN108416426 B CN 108416426B CN 201810116738 A CN201810116738 A CN 201810116738A CN 108416426 B CN108416426 B CN 108416426B
- Authority
- CN
- China
- Prior art keywords
- data
- fixed
- point
- bit length
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法,包括:获取数据模型的各个层级的数据集;根据预设置信水平参数确定各个数据集的定点化整数位长度;根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据。本发明还公开了一种数据处理装置、计算机可读存储介质。本发明能够解决现有定点化处理技术获得的定点化数据精度低问题。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据处理方法、装置及计算机可读存储介质。
背景技术
深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
目前,将深度学习模型中数据定点化时一般通过对数据统计数位的权重,根据比例最大的权重数据来确定定点化的边界,在这种方式中,当权重数据的实际比例比较小时,定点化数据的精度低,这种方式无法确保获得高精度的定点化效果。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据处理方法、装置及计算机可读存储介质,旨在解决现有定点化处理技术获得的定点化数据精度低问题。
为实现上述目的,本发明提供一种主题数据处理方法,所述数据处理方法包括:
获取数据模型的各个层级的数据集;
根据预设置信水平参数确定各个数据集的定点化整数位长度;
根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据。
优选地,所述根据预设置信水平参数确定各个数据集的定点化整数位长度的步骤包括:
根据所述预设置信水平参数和各个数据集的数据元素数量确定对应数据集的置信数量,并确定各个数据集中数值在预设整数位长度对应的置信数值范围内的数据元素数量;
根据所述置信数量和数值在对应置信数值范围内的数据元素数量确定对应数据集的定点化整数位长度。
优选地,所述根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据的步骤包括:
根据预设定点化位宽和数据集的定点化整数位长度对各个数据集进行数值范围划分;
确定数据集中的数据所属数值范围,并根据数据所属数值范围进行定点化,获得第一定点化数据。
优选地,所述确定数据集中的数据所属数值范围,并根据数据所属数值范围进行定点化,获得第一定点化数据的步骤包括:
判断所述数据是否大于第一预设值;
当所述数据大于所述第一预设值时,将所述第一预设值作为所述数据的第一定点化数据。
优选地,所述确定数据集中的数据所属数值范围,并根据数据所属数值范围进行定点化,获得第一定点化数据的步骤还包括:
判断所述数据是否小于第二预设值,其中,所述第二预设值小于所述第一预设值;
当所述数据小于所述第二预设值时,将所述第二预设值作为所述数据的第一定点化数据。
优选地,所述确定数据集中的数据所属数值范围,并根据数据所属数值范围进行定点化,获得第一定点化数据的步骤还包括:
判断所述数据是否在所述第一预设值和所述第二预设值组成的闭区间内;
当所述数据在所述闭区间内时,根据预设公式对所述数据进行定点化,获得所述数据的第一定点化数据。
优选地,所述根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据的步骤之后包括:
获取图像数据,将所述图像数据与所述第一定点化数据进行运算,以得到运算结果;
将所述运算结果进行定点化,以得到第二定点化数据,并基于所述第一定点化数据与所述第二定点化数据进行逐层运算。
优选地,所述数据处理方法还包括:
获取验证集数据,利用所述验证集数据进行定点化测试,以确定最优置信水平参数。
为实现上述目的,本发明还提供一种数据处理装置,所述数据处理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如上所述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
本发明提供一种数据处理方法,装置和计算机可读存储介质。在该方法中,获取数据模型的各个层级的数据集;根据预设置信水平参数确定各个数据集的定点化整数位长度;根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据。通过上述方式,根据预设置信水平基于数学统计来确定整数位长度和定点化边界,避免根据权重数据确定定点化边界,确保获得高精度的定点化效果。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置所属终端结构示意图;
图2为本发明数据处理方法第一实施例的流程示意图;
图3为本发明数据处理方法第二实施例的流程示意图;
图4为本发明数据处理方法第三实施例的流程示意图;
图5为本发明数据处理方法第四实施例的流程示意图;
图6为本发明数据处理方法第五实施例的流程示意图;
图7为本发明数据处理方法第六实施例的流程示意图;
图8为本发明数据处理方法第七实施例的流程示意图;
图9为本发明数据处理方法第八实施例的流程示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有的数据处理方法根据比例最大的权重数据来确定定点化的边界,在这种方式中,当权重数据的实际比例比较小时,定点化数据的精度低,这种方式无法确保获得高精度的定点化效果。
为了解决上述技术问题,本发明提供一种数据处理方法,通过在该方法中,先获取数据模型的各个层级的数据集,再根据预设置信水平参数确定各个数据集的定点化整数位长度,然后根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据。从而避免根据权重数据确定定点化边界,确保获得高精度的定点化效果。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理程序。在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据处理程序,并执行以下操作:
获取数据模型的各个层级的数据集;
根据预设置信水平参数确定各个数据集的定点化整数位长度;
根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
根据所述预设置信水平参数和各个数据集的数据元素数量确定对应数据集的置信数量,并确定各个数据集中数值在预设整数位长度对应的置信数值范围内的数据元素数量;
根据所述置信数量和数值在对应置信数值范围内的数据元素数量确定对应数据集的定点化整数位长度。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
根据预设定点化位宽和数据集的定点化整数位长度对各个数据集进行数值范围划分;
确定数据集中的数据所属数值范围,并根据数据所属数值范围进行定点化,获得第一定点化数据。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
判断所述数据是否大于第一预设值;
当所述数据大于所述第一预设值时,将所述第一预设值作为所述数据的第一定点化数据。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
判断所述数据是否小于第二预设值,其中,所述第二预设值小于所述第一预设值;
当所述数据小于所述第二预设值时,将所述第二预设值作为所述数据的第一定点化数据。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
判断所述数据是否在所述第一预设值和所述第二预设值组成的闭区间内;
当所述数据在所述闭区间内时,根据预设公式对所述数据进行定点化,获得所述数据的第一定点化数据。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
获取图像数据,将所述图像数据与所述第一定点化数据进行运算,以得到运算结果;
将所述运算结果进行定点化,以得到第二定点化数据,并基于所述第一定点化数据与所述第二定点化数据进行逐层运算。
进一步地,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:
获取验证集数据,利用所述验证集数据进行定点化测试,以确定最优置信水平参数。
基于上述硬件结构,提出本发明数据处理方法的实施例。
参照图2,图2为本发明数据处理方法第一实施例流程示意图。
本实施应用于数据处理领域,如深度学习网络的数据处理。深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。目前,将深度学习模型中数据定点化时一般通过对数据统计数位的权重,根据比例最大的权重数据来确定定点化的数位,定点化数据的精度差。本实施例提供一种基于数学统计的寻找定点化边界的方法、和把浮点数据转化成有限长度定点数据的方法进行定点化,从而压缩网络大小,加快了运算速度,通过预设置信水平参数确定定点化整数位长度,确保定点化数据满足一定的精度要求。本实施例的实现过程包括以下步骤。
步骤S10,获取数据模型的各个层级的数据集;
数据模型是数据特征的抽象,是数据库管理的教学形式框架,在数据模型中分布着各个层级,例如,第一层、第二层、第三层等,在数据模型中数据一般可以以32位的二进制进行表示,在对数据模型进行定点化时,首先获取数据模型中各个层级的数据集。
步骤S20,根据预设置信水平参数确定各个数据集的定点化整数位长度;
基于上述步骤,在获取数据模型中各层级的数据集后,根据预设置信水平参数确定各个数据集的定点化整数位长度。置信水平为使得数据处理精度达到置信程度的标准。定点化整数长度指的是定点数据中整数部分的位数。预设置信水平参数指的是数据边界的置信水平参数,可以用来衡量某个数据范围是否达到置信水平,从而确定定点化数据的整数部分的位数和小数部分的位数是否设置合理,数据精度是否满足要求,本实施例的置信水平可以是一个百分比的数据,例如95%。在本实施例中,可以根据硬件配置和实际处理需要预先设定定点化所用的位宽和数据边界的置信水平。获取数据模型各个层级的数据集后,在确定一个数据集的整数位长度时,可以根据该数据集中数据元素的总数与预设置信水平参数的乘积确定置信数量,可以根据数据置信水平参数确定使得该数据集中在置信数值范围内的数据元素的数量大于置信数量的最小整数位长度,将该最小整数位长度作为该数据集的定点化整数位长度。具体地,可以预设一整数位长度,例如1,从该整数位长度开始,逐次将整数位长度递增来确定满足要求的定点化长度。在本实施例中,置信数值范围指的是在整数位长度对应定点化数据所能表示的最大值,例如,当整数位长度为IL时,对应置信数值范围可以为[-2IL,2IL],则确定数据集的整数位长度时,根据置信水平参数找到最小的整数位长度,使得该数据集中绝对值小于2IL的数据元素数量大于置信数量。当然,还可以预设若干整数位长度,计算各个整数位长度对应的置信范围和置信范围中的数据元素数量,确定使得元素数量大于置信数量的置信范围对应的最小整数长度,将该最小整数位长度作为对应数据集的整数位长度。此外还可以根据预设置信水平参数确定置信数量,计算数据集数据元素总数与置信数量的差值d,将数据集中数据按照绝对值的大小进行排列,将前d位数据排除后从剩余数据中确定绝对值最大的数据x,确定表示范围包括x的最小整数位长度,并将该最小整数位长度作为数据集的整数位长度。
步骤S30,根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据。
在本实施例中,可以预先设置定点化所用的位宽BitWidth。BitWidth即定点化数据中数据的位数,等于符号位数1、整数位长度IL及小数位长度FL三者之和,即BitWidth=IL+FL+1。基于上述步骤,确定整数位长度IL后,由于BitWidth为预先设定,则可根据FL=BitWidth-IL-1来确定小数位长度。在本实施例中可以将数值划分为三个数值范围(-∞,-2IL)、(2IL-2-FL,+∞)及[-2IL,2IL-2-FL],当数据在(-∞,-2IL)范围内时,将-2IL作为数据的定点化数据,当数据在(2IL-2-FL,+∞)范围内时,将2IL-2-FL作为数据的定点化数据,当数据在[-2IL,2IL-2-FL]范围内时间,可以根据公式:
datafixed=(round(datafloat*2FL))/2FL
来计算定点化数据,其中datafloat为待处理的浮点数,datafixed为对应浮点数进行定点化后得到的定点数,即第一定点数,round表示进行绝对值处理。当然,在本实施例中在确定整数位长度并根据整数位长度确定小数位长度后也可以不进行数值范围的划分,对所有浮点数按照以下公式计算:
datafixed=(round(datafloat*2FL))/2FL
也可以根据实际的数据处理需求划分为其他的数据范围并根据数据所处的范围进行定点化。在本实施例中,可以在每个数值范围设定对应的定点化方式,例如,例如根据预设的定点化公式计算定点化数据或者预设值来作为该范围所有数据的定点化数据,本实施例的第一定点化数据指的是将数据模型中的数据进行定点化后获得的定点化数据。
在本实施例中,获取数据模型的各个层级的数据集;根据预设置信水平参数确定各个数据集的定点化整数位长度;根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据。通过上述方式,根据预设置信水平基于数学统计来确定整数位长度和定点化边界,避免根据权重数据确定定点化边界,确保获得高精度的定点化效果。
进一步地,参照图3,图3为本发明数据处理方法第二实施例流程示意图,基于上述本发明提示的数据处理方法,提出本发明的第二实施例。
在本实施例中,步骤S20包括:
步骤S40,根据所述预设置信水平参数和各个数据集的数据元素数量确定对应数据集的置信数量,并确定各个数据集中数值在预设整数位长度对应的置信数值范围内的数据元素数量;
步骤S50,根据所述置信数量和数值在对应置信数值范围内的数据元素数量确定对应数据集的定点化整数位长度。
基于上述实施例,在本实施例中,预设置信水平参数为用来衡量边界的置信水平的标准,为一个百分比,将每个数据集的数据元素总数和置信水平参数相乘得到的乘积为每个数据集的置信数量,为边界对应的数值范围内的数据元素数量达到置信水平的标准。在获取数据模型中各层级的数据集后,根据预设置信水平参数确定各个数据集的定点化整数位长度。定点化整数长度指的是定点数据中整数部分的位数。预设置信水平参数指的是数据边界的置信水平参数,可以用来衡量某个数据范围是否达到置信水平,从而确定定点化数据的整数部分的位数和小数部分的位数是否设置合理,数据精度是否满足要求,本实施例的置信水平可以是一个百分比的数据,例如95%。在本实施例中,可以根据硬件配置和实际处理需要预先设定定点化所用的位宽和数据边界的置信水平。获取数据模型各个层级的数据集后,在确定一个数据集的整数位长度时,可以根据该数据集中数据元素的总数与预设置信水平参数的乘积确定置信数量,可以根据数据置信水平参数确定使得该数据集中在置信数值范围内的数据元素的数量大于置信数量的最小整数位长度,将该最小整数位长度作为该数据集的定点化整数位长度。具体地,可以预设一整数位长度,例如1,从该整数位长度开始,逐次将整数位长度递增来确定满足要求的定点化长度。在本实施例中,置信数值范围指的是在整数位长度对应定点化数据所能表示的最大值,例如,当整数位长度为IL时,对应置信数值范围可以为[-2IL,2IL],则确定数据集的整数位长度时,根据置信水平参数找到最小的整数位长度,使得该数据集中绝对值小于2IL的数据元素数量大于置信数量。当然,还可以预设若干整数位长度,计算各个整数位长度对应的置信范围和置信范围中的数据元素数量,确定使得元素数量大于置信数量的置信范围对应的最小整数长度,将该最小整数位长度作为对应数据集的整数位长度。
在本实施例中,根据所述预设置信水平参数和各个数据集的数据元素数量确定对应数据集的置信数量,并确定各个数据集中数值在预设整数位长度对应的置信数值范围内的数据元素数量;根据所述置信数量和数值在对应置信数值范围内的数据元素数量确定对应数据集的定点化整数位长度。通过上述方式,实现根据预设置信水平参数确定最优的定点化整数位长度,确保较高精度的定点化效果。
进一步地,基于上述本发明提示的数据处理方法,参照图4,提出本发明的第三实施例。
基于上述所示的实施例,在本实施例中,步骤S30包括:
步骤S60,根据预设定点化位宽和数据集的定点化整数位长度对各个数据集进行数值范围划分;
步骤S70,确定数据集中的数据所属数值范围,并根据数据所属数值范围进行定点化,获得第一定点化数据。
基于上述实施例,在本实施例中,可以预先设置定点化所用的位宽BitWidth。BitWidth即定点化数据中数据的位数,等于符号位数1、整数位长度IL及小数位长度FL三者之和,即BitWidth=IL+FL+1。本实施例的预设定点化位宽指的是先设置定点化所用的位宽BitWidth。基于上述步骤,确定整数位长度IL后,由于BitWidth为预先设定,则可根据FL=BitWidth-IL-1来确定小数位长度。在本实施例中可以将数值划分为三个数值范围(-∞,-2IL)、(2IL-2-FL,+∞)及[-2IL,2IL-2-FL],当数据在(-∞,-2IL)范围内时,将-2IL作为数据的定点化数据,当数据在(2IL-2-FL,+∞)范围内时,将2IL-2-FL作为数据的定点化数据,当数据在[-2IL,2IL-2-FL]范围内时间,可以根据公式:
datafixed=(round(datafloat*2FL))/2FL
来计算定点化数据,其中datafloat为浮点数,datafixed为对应的定点数。当然,也可以根据实际的数据处理需求划分为其他的数据范围并根据数据所处的范围进行定点化。在本实施例中,可以在每个数值范围设定对应的定点化方式,例如,例如根据预设的定点化公式计算定点化数据或者预设值来作为该范围所有数据的定点化数据,本实施例的第一定点化数据指的是将数据模型中的数据进行定点化后获得的定点化数据。
在本实施例中,根据预设定点化位宽和数据集的定点化整数位长度对各个数据集进行数值范围划分;确定数据集中的数据所属数值范围,并根据数据所属数值范围进行定点化,获得第一定点化数据。通过上述方式,对数据集进行数值范围划分,根据数据所处的范围来进行不同方式的定点化处理,可以根据需要平衡运算速度和数据处理精度。
进一步地,参照图5,提出本发明数据处理方法的第四实施例。在本实施例中,步骤S70包括:
步骤S80,判断所述数据是否大于第一预设值;
步骤S90,当所述数据大于所述第一预设值时,将所述第一预设值作为所述数据的第一定点化数据。
在数据处理过程中,在大于某一值或者小于某一值的范围内分布的数据较少或者数据变化不大,可以将该数值的边界值作为对应范围内的定点化数值,这种处理方式对处理简便且对整体数据精度的影响较小。在本实施例中,可以预先设置一数值,即所述第一预设值,将第一预设值作为数据集中大于该值的数据的定点化数据。基于上述实施例,数据集的置信数值范围可以为[-2IL,2IL],可以将第一预设值设置为2IL-2-FL,当数据集中的数据大于2IL-2-FL,将2IL-2-FL,将2IL-2-FL作为该数据的定点化数据,即datafixed=2IL-2-FL,其中datafixed为将待处理数据进行定点化处理后得到的第一定点化数据。对于小于或等于第一预设值的数据,可以根据其他方式进行定点化,例如根据预设定点化公式或者特定定点化值确定定点化数据。
在本实施例中,判断所述数据是否大于第一预设值;当所述数据大于所述第一预设值时,将所述第一预设值作为所述数据的第一定点化数据。通过上述方式,可以快速得到大于第一预设值数据的定点化数据,减少运算量,提高运算速度。
进一步地,参照图6,提出本发明数据处理方法的第五实施例。在本实施例中,步骤S70还包括:
步骤S100,判断所述数据是否小于第二预设值,其中,所述第二预设值小于所述第一预设值;
步骤S110,当所述数据小于所述第二预设值时,将所述第二预设值作为所述数据的第一定点化数据。
基于上述实施例,在数据处理过程中,在大于某一值或者小于某一值的范围内分布的数据较少或者数据变化不大,可以将该数值的边界值作为对应范围内的定点化数值,这种处理方式对处理简便且对整体数据精度的影响较小。在本实施例中,可以预先设置一数值,即所述第二预设值,其中第二预设值比第一预设值小,将第二预设值作为数据集中小于该值的数据的定点化数据。基于上述实施例,数据集的置信数值范围可以为[-2IL,2IL],可以将第二预设值设置为-2IL,当数据集中的数据小于-2IL,将-2IL,将-2IL作为该数据的定点化数据,即datafixed=-2IL。对于大于或等于第二预设值的数据,可以根据其他方式进行定点化,例如根据预设定点化公式或者特定定点化值确定定点化数据。在本发明的实际实施过程中可以先执行步骤S80和步骤S90后再执行步骤S100和步骤S120,也可以先执行步骤S100和步骤S120后再执行步骤S80和步骤S90。
在本实施例中,判断所述数据是否小于第二预设值,其中,所述第二预设值小于所述第一预设值;当所述数据小于所述第二预设值时,将所述第二预设值作为所述数据的第一定点化数据。通过上述方式,可以快速得到小于第二预设值数据的定点化数据,减少运算量,提高运算速度。
进一步地,参照图7,提出本发明数据处理方法的第六实施例。在本实施例中,步骤S70还包括:
步骤S120,判断所述数据是否在所述第一预设值和所述第二预设值组成的闭区间内;
步骤S130,当所述数据在所述闭区间内时,根据预设公式对所述数据进行定点化,获得所述数据的第一定点化数据。
基于上述实施例,在数据处理过程中,在大于某一值或者小于某一值的范围内分布的数据较少或者数据变化不大,可以将该数值的边界值作为对应范围内的定点化数值,这种处理方式对处理简便且对整体数据精度的影响较小。在本实施例中,可以预先设置一数值,即所述第一预设值,将第一预设值作为数据集中大于该值的数据的定点化数据。基于上述实施例,数据集的置信数值范围可以为[-2IL,2IL],可以将第一预设值设置为2IL-2-FL,当数据集中的数据大于2IL-2-FL,将2IL-2-FL,将2IL-2-FL作为该数据的定点化数据。同时可以设置一比第一预设值小的第二预设值,当数据集中的数据比第二预设值小时,将第二预设值作为该数据的定点化数据。在本实施例中,第二预设值可以设置为-2IL。基于上述实施例,在本实施例中,当数据在[-2IL,2IL-2-FL]中时,可以根据预设公式对数据进行定点化,在本本实施例中,计算定点化数据的预设公式可以设置为datafixed=round((datafloat*2FL))/2FL。当然,实际应用过程中还可以根据实际数据处理需要将数据公式设置成其他形式。
在本实施例中,判断所述数据是否在所述第一预设值和所述第二预设值组成的闭区间内;当所述数据在所述闭区间内时,根据预设公式对所述数据进行定点化,获得所述数据的第一定点化数据。通过上述方式,可以根据预设公式实现对第一预设值和第二预设值组成的闭合区间范围内的数据进行定点化,提高数据的定点化处理的精度。
进一步地,参照图8,提出本发明数据处理方法的第七实施例。在本实施例中,步骤S30之后还包括:
步骤S140,获取图像数据,将所述图像数据与所述第一定点化数据进行运算,以得到运算结果;
步骤S150,将所述运算结果进行定点化,以得到第二定点化数据,并基于所述第一定点化数据与所述第二定点化数据进行逐层运算。
在本实施例中,第二定点化数据包括图像数据通过第一层进行运算后输出运算结果,将运算结果定点化得到的数据,该逐层运算包括将第二定点化数据作为第二层的输入,将第二定点化数据与第二层定点化后的数据进行运算,输出第二层的输出结果,并将第二层的输出结果进行定点化,以此类推,直至达到数据模型中最后一层以完成全部网络中间数据的定点化,将每层的输出结果都进行定点化后,能够减小运算的字节数,存储空间也会减小,从而提高了运算效率。与数据模型各层数据定点化过程类似,在对运算结果进行定点化时,先统计每层的输出特征图,根据预设置信水平参数确定对应的整数位长度,即找到最小的数据长度,使得对应数据集中数值绝对值小于2IL的数量小于该数据集的置信数量。
在本实施例中,通过获取图像数据,将所述图像数据与第一定点化数据进行运算,以得到运算结果,然后将所述运算结果进行定点化,以得到第二定点化数据,并基于所述第一定点化数据与所述第二定点化数据进行逐层运算;实现了在逐层运算时对数据进行定点化,有效提高了运算速率。
进一步地,参照图9,提出本发明数据处理方法的第八实施例。
基于上述实施例,在本实施例中,所述数据处理方法还包括:
步骤S160,获取验证集数据,利用所述验证集数据进行定点化测试,以确定最优置信水平参数。
在本实施例中,验证集数据是模型训练过程中留出的样本集,它可以用于调整模型的超参数和评估模型的能力。在本实施例中,对于特定的数据集和Bitwidth,可以通过调整置信水平参数,进行定点化测试,获得定点化测试效果最好的的置信水平参数,作为最优置信水平参数。在本实施例中,步骤S160可以在对各个数据集进行定点化,获得第一定点化数据后执行,即在步骤S30之后执行。具体地,在训练时,几个epoch结束后跑一次验证集看看效果。及时发现模型或者参数的问题,比如模型在验证集上发散、出现异常的无穷大的结果mAP不增长或者增长很慢等情况,这时可以及时终止训练,重新调参或者调整模型,而不需要等到训练结束。另外一个好处是验证模型的泛化能力,如果在验证集上的效果比训练集上差很多,就该考虑模型是否过拟合了。同时,还可以通过验证集对比不同的模型。
在本实施例中,获取验证集数据,利用所述验证集数据进行定点化测试,以确定最优置信水平参数。通过上述方式,可以确定最优置信水平参数,获得最好的定点化效果。
此外,本发明还提供一种数据处理装置。
本发明数据处理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如上所述数据处理方法的步骤。
其中,在所述处理器上运行的数据处理程序被执行时所实现的方法可参照本发明数据处理方法各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质。
本发明计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
其中,在所述处理器上运行的数据处理程序被执行时所实现的方法可参照本发明数据处理方法方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种数据处理方法,其特征在于,所述数据处理方法包括:
获取数据模型的各个层级的数据集;
根据预设置信水平参数确定各个数据集的定点化整数位长度;
根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据;
其中,所述根据预设置信水平参数确定各个数据集的定点化整数位长度的步骤包括:
根据所述预设置信水平参数和各个数据集的数据元素数量确定对应数据集的置信数量,并确定各个数据集中数值在预设整数位长度对应的置信数值范围内的数据元素数量;根据所述置信数量和数值在对应置信数值范围内的数据元素数量确定对应数据集的定点化整数位长度。
2.如权利要求1所述的数据处理方法,其特征在于,所述根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据的步骤包括:
根据预设定点化位宽和数据集的定点化整数位长度对各个数据集进行数值范围划分;
确定数据集中的数据所属数值范围,并根据数据所属数值范围进行定点化,获得第一定点化数据。
3.如权利要求2所述的数据处理方法,其特征在于,所述确定数据集中的数据所属数值范围,并根据数据所属数值范围进行定点化,获得第一定点化数据的步骤包括:
判断所述数据是否大于第一预设值;
当所述数据大于所述第一预设值时,将所述第一预设值作为所述数据的第一定点化数据。
4.如权利要求3所述的数据处理方法,其特征在于,所述确定数据集中的数据所属数值范围,并根据数据所属数值范围进行定点化,获得第一定点化数据的步骤还包括:
判断所述数据是否小于第二预设值,其中,所述第二预设值小于所述第一预设值;
当所述数据小于所述第二预设值时,将所述第二预设值作为所述数据的第一定点化数据。
5.如权利要求4所述的数据处理方法,其特征在于,所述确定数据集中的数据所属数值范围,并根据数据所属数值范围进行定点化,获得第一定点化数据的步骤还包括:
判断所述数据是否在所述第一预设值和所述第二预设值组成的闭区间内;
当所述数据在所述闭区间内时,根据预设公式对所述数据进行定点化,获得所述数据的第一定点化数据。
6.如权利要求1至5中任一项数据处理方法,其特征在于,所述根据各个数据集的定点化整数位长度进行定点化,获得第一定点化数据的步骤之后包括:
获取图像数据,将所述图像数据与所述第一定点化数据进行运算,以得到运算结果;
将所述运算结果进行定点化,以得到第二定点化数据,并基于所述第一定点化数据与所述第二定点化数据进行逐层运算。
7.如权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:
获取验证集数据,利用所述验证集数据进行定点化测试,以确定最优置信水平参数。
8.一种数据处理装置,其特征在于,所述数据处理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810116738.2A CN108416426B (zh) | 2018-02-05 | 2018-02-05 | 数据处理方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810116738.2A CN108416426B (zh) | 2018-02-05 | 2018-02-05 | 数据处理方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108416426A CN108416426A (zh) | 2018-08-17 |
CN108416426B true CN108416426B (zh) | 2021-09-24 |
Family
ID=63127615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810116738.2A Active CN108416426B (zh) | 2018-02-05 | 2018-02-05 | 数据处理方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108416426B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109740361B (zh) * | 2018-12-29 | 2021-08-06 | 深圳Tcl新技术有限公司 | 数据处理方法、装置及计算机可读存储介质 |
CN110542178B (zh) * | 2019-09-02 | 2020-06-02 | 上海德昂科技有限公司 | 具有自学习能力的空调冷冻机房控制方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527010B (zh) * | 2008-03-06 | 2011-12-07 | 上海理工大学 | 人工神经网络算法的硬件实现方法及其系统 |
CN102622207B (zh) * | 2011-01-30 | 2015-07-22 | 中兴通讯股份有限公司 | 定点化处理方法及装置 |
CN102779265B (zh) * | 2011-05-09 | 2016-01-27 | 北京汉邦高科数字技术股份有限公司 | 一种定点型人脸的检测方法 |
US10228911B2 (en) * | 2015-10-08 | 2019-03-12 | Via Alliance Semiconductor Co., Ltd. | Apparatus employing user-specified binary point fixed point arithmetic |
CN105760933A (zh) * | 2016-02-18 | 2016-07-13 | 清华大学 | 卷积神经网络的逐层变精度定点化方法及装置 |
CN106611216A (zh) * | 2016-12-29 | 2017-05-03 | 北京旷视科技有限公司 | 基于神经网络的计算方法及装置 |
CN106845640A (zh) * | 2017-01-12 | 2017-06-13 | 南京大学 | 基于深度卷积神经网络的层内非均匀的等间隔定点量化方法 |
CN106897734A (zh) * | 2017-01-12 | 2017-06-27 | 南京大学 | 基于深度卷积神经网络的层内非均匀的k平均聚类定点量化方法 |
CN107045494A (zh) * | 2017-05-08 | 2017-08-15 | 科大讯飞股份有限公司 | 提高浮点矩阵运算效率的方法及系统 |
-
2018
- 2018-02-05 CN CN201810116738.2A patent/CN108416426B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108416426A (zh) | 2018-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107274885B (zh) | 语音识别方法及相关产品 | |
CN107451832B (zh) | 推送信息的方法和装置 | |
CN112434188B (zh) | 一种异构数据库的数据集成方法、装置及存储介质 | |
CN109190754A (zh) | 量化模型生成方法、装置和电子设备 | |
CN115130065B (zh) | 供应端特征信息处理方法、装置、设备和计算机可读介质 | |
CN110490295B (zh) | 一种数据处理方法及处理装置 | |
CN111797861A (zh) | 信息处理方法、装置、存储介质及电子设备 | |
CN113408570A (zh) | 一种基于模型蒸馏的图像类别识别方法、装置、存储介质及终端 | |
CN108416426B (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN115145801B (zh) | A/b测试流量分配方法、装置、设备及存储介质 | |
CN112307243B (zh) | 用于检索图像的方法和装置 | |
CN111582432B (zh) | 一种网络参数处理方法及装置 | |
CN114676825A (zh) | 一种神经网络模型量化方法、系统、设备及介质 | |
CN112948763B (zh) | 件量预测方法、装置、电子设备及存储介质 | |
CN108345940B (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN111813307B (zh) | 应用程序显示方法、装置及电子设备 | |
CN112381224A (zh) | 神经网络训练方法、装置、设备及计算机可读存储介质 | |
CN110069997B (zh) | 场景分类方法、装置及电子设备 | |
CN112561779B (zh) | 图像风格化处理方法、装置、设备及存储介质 | |
CN105701207B (zh) | 资源的请求量预测方法、应用推荐方法和装置 | |
CN108009393B (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN116882536A (zh) | 一种降雨数据预测方法、装置、电子设备和存储介质 | |
CN111291868A (zh) | 网络模型训练方法、装置、设备及计算机可读存储介质 | |
CN111461328B (zh) | 一种神经网络的训练方法 | |
CN116168403A (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 |