数据校准方法及装置、电子设备和计算机可读存储介质与流程

文档序号:14426619阅读:177来源:国知局

本发明涉及数据处理技术领域,尤其涉及一种数据校准方法及装置、电子设备和计算机可读存储介质。



背景技术:

随着存储技术、互联网技术及其应用的飞速发展,数据变得越来越大,越来越复杂,数据的种类也越来越多,因此,数据校准也就随之变得越来越困难。

现有技术方案中,数据校准的方法通常是针对具体的要求,临时设计一种方法或装置来实现,缺乏通用性。而且,这些方法或装置也较少考虑数据校准的效率。大数据背景下的数据校准,会贯穿于开发和应用的诸多环节,通用性和效率是关键。



技术实现要素:

鉴于以上内容,有必要提供一种数据校准方法及装置、电子设备和计算机可读存储介质,不仅通用性好,且方便移植、方便扩展、方便拆分,可以适应不同的运行环境,并实现对不同运算模型的数据校准。

一种数据校准方法,所述方法包括:

从接收的数据集中选择待处理数据;

将所述待处理数据转换成至少一种数据格式的数据,所述至少一种数据格式包括第一运算模型的输入数据格式及第二运算模型的输入数据格式,所述第一运算模型与所述第二运算模型用于实现相同的算法;

将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算,得到第一运算结果;

调用数据接口,将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中进行运算,得到第二运算结果;

获取所述第一运算结果及所述第二运算结果;

对所述第二运算结果及所述第一运算结果进行归一化处理;

根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果。

根据本发明优选实施例,所述从接收的数据集中选择待处理数据包括:

将所述接收的数据集中的全部数据确定为所述待处理数据;或者

将所述接收的数据集中的数据按照数据的大小进行排序,将排在预设位数的数据确定为所述待处理数据;或者

将所述接收的数据集中预设类型的数据确定为所述待处理数据;或者

将所述接收的数据集中具有预设标注的数据确定为所述待处理数据。

根据本发明优选实施例,所述第一运算模型是采用第一编程语言实现所述算法,所述第二运算模型是采用第二编程语言实现所述算法,所述第一编程语言与所述第二编程语言不同。

根据本发明优选实施例,调用数据接口前,所述方法还包括:

通过调用动态链接库形成所述数据接口。

根据本发明优选实施例,所述第二运算模型具有加速模组,所述加速模组用于加快运算的速度。

根据本发明优选实施例,所述根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果包括:

将归一化处理后的所述第二运算结果与归一化处理后的所述第一运算结果进行对比,得到计算误差;

当所述计算误差在预设误差范围内时,确定所述第二运算模型正确;或者

当所述计算误差不在所述预设误差范围内时,确定所述第二运算模型不准确。

根据本发明优选实施例,所述根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果还包括:

利用预设误差分析方法将归一化处理后的所述第二运算结果与归一化处理后的所述第一运算结果进行对比,得到所述第二运算结果的误差曲线;

分析所述误差曲线的收敛性;

当所述误差曲线收敛于预设值时,确定所述第二运算模型运算正确;或者

当所述误差曲线不收敛于所述预设值时,确定所述第二运算模型运算不准确。

一种数据校准装置,所述装置包括:

选择单元,用于从接收的数据集中选择待处理数据;

转换单元,用于将所述待处理数据转换成至少一种数据格式的数据,所述至少一种数据格式包括第一运算模型的输入数据格式及第二运算模型的输入数据格式,所述第一运算模型与所述第二运算模型用于实现相同的算法;

运算单元,用于将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算,得到第一运算结果;

调用单元,用于调用数据接口,将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中进行运算,得到第二运算结果;

获取单元,用于获取所述第一运算结果及所述第二运算结果;

处理单元,用于对所述第二运算结果及所述第一运算结果进行归一化处理;

确定单元,用于根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果。

根据本发明优选实施例,所述选择单元具体用于:

将所述接收的数据集中的全部数据确定为所述待处理数据;或者

将所述接收的数据集中的数据按照数据的大小进行排序,将排在预设位数的数据确定为所述待处理数据;或者

将所述接收的数据集中预设类型的数据确定为所述待处理数据;或者

将所述接收的数据集中具有预设标注的数据确定为所述待处理数据。

根据本发明优选实施例,所述第一运算模型是采用第一编程语言实现所述算法,所述第二运算模型是采用第二编程语言实现所述算法,所述第一编程语言与所述第二编程语言不同。

根据本发明优选实施例,所述装置还包括:

数据接口单元,用于在调用数据接口前,通过调用动态链接库形成所述数据接口。

根据本发明优选实施例,所述第二运算模型具有加速模组,所述加速模组用于加快运算的速度。

根据本发明优选实施例,所述确定单元具体用于:

将归一化处理后的所述第二运算结果与归一化处理后的所述第一运算结果进行对比,得到计算误差;

当所述计算误差在预设误差范围内时,确定所述第二运算模型正确;或者

当所述计算误差不在所述预设误差范围内时,确定所述第二运算模型不准确。

根据本发明优选实施例,所述确定单元具体还用于:

利用预设误差分析方法将归一化处理后的所述第二运算结果与归一化处理后的所述第一运算结果进行对比,得到所述第二运算结果的误差曲线;

分析所述误差曲线的收敛性;

当所述误差曲线收敛于预设值时,确定所述第二运算模型运算正确;或者

当所述误差曲线不收敛于所述预设值时,确定所述第二运算模型运算不准确。

一种电子设备,所述电子设备包括:

存储器,存储至少一个指令;及

处理器,执行所述存储器中存储的指令以实现所述数据校准方法。

一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述数据校准方法。

由以上技术方案可以看出,本发明能从接收的数据集中选择待处理数据;将所述待处理数据转换成至少一种数据格式的数据,所述至少一种数据格式包括第一运算模型的输入数据格式及第二运算模型的输入数据格式,所述第一运算模型与所述第二运算模型用于实现相同的算法;将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算,得到第一运算结果;调用数据接口,将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中进行运算,得到第二运算结果;获取所述第一运算结果及所述第二运算结果;对所述第二运算结果及所述第一运算结果进行归一化处理;根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果。因此,本发明通用性好,且方便移植、方便扩展、方便拆分,可以适应不同的运行环境,并实现对不同运算模型的数据校准。

附图说明

图1是本发明数据校准方法的较佳实施例的流程图。

图2是本发明数据校准装置的较佳实施例的功能模块图。

图3是本发明实现数据校准方法的较佳实施例的电子设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

如图1所示,是本发明数据校准方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

所述数据校准方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备等。

所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloudcomputing)的由大量主机或网络服务器构成的云。

所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。

s10,所述电子设备从接收的数据集中选择待处理数据。

在本发明的至少一个实施例中,在所述电子设备从接收的数据集中选择待处理数据之前,所述方法还包括:

所述电子设备接收数据集。

在本发明的至少一个实施例中,所述数据集包括,但不限于:与所述电子设备相通信的数据库中的数据、与所述数据库中的数据相配套的参数、所述数据库中的数据的标注等。

在本发明的至少一个实施例中,所述电子设备从接收的数据集中选择待处理数据的方式包括,但不限于以下一种或者多种的组合:

(1)所述电子设备将所述接收的数据集中的全部数据确定为所述待处理数据。

在本发明的至少一个实施例中,当所述接收的数据集的数据量满足处理需求时,则所述电子设备将所述接收的数据集中的全部数据确定为所述待处理数据。

(2)所述电子设备将所述接收的数据集中的数据按照数据的大小进行排序,将排在预设位数的数据确定为所述待处理数据。

在本发明的至少一个实施例中,所述电子设备可以将所述接收的数据集中的部分数据作为所述待处理数据。

优选地,所述电子设备可以对所述接收的数据集中的数据按照数据的大小进行排序,并将排在预设位数的数据作为所述待处理数据。

在本发明的至少一个实施例中,所述预设位数包括,但不限于:前50位、后50位等等,所述电子设备可以根据处理需求进行选择,本发明不作限制。

这样,为了节省数据处理的时间,或者是为了适应不同运算模型的数据处理能力,所述电子设备可以根据数据的大小将所述接收的数据集中的部分数据作为所述待处理数据,使所述待处理数据的选择更加灵活且直观。

另外,所述电子设备将所述接收的数据集中的数据按照数据的大小进行排序时,可以按照数据从小到大的顺序,也可以按照数据从大到小的顺序,本发明不作限制。可以理解的是,根据排序方式的不同,所述预设位数也可以进行相应的设置。

(3)所述电子设备将所述接收的数据集中预设类型的数据确定为所述待处理数据。

在本发明的至少一个实施例中,所述电子设备将所述接收的数据集中的数据按照类型进行分类,所述电子设备将所述预设类型的数据确定为所述待处理数据。

例如:当所述接收的数据集中的数据包括图片、视频等不同类型时,此时,并不是所有类型的数据都需要进行处理,如果实际需要处理的数据是图片类型的数据,则所述电子设备可以根据实际需要从所述接收的数据集中选择图片类型的数据作为所述待处理数据,从而避免不必要的时间损失,使数据处理的效率更高。

当然,根据不同的处理需求,所述电子设备也可以从所述接收的数据集中同时选择图片类型的数据及视频类型的数据作为所述待处理数据,本发明不作限制。

(4)所述电子设备将所述接收的数据集中具有预设标注的数据确定为所述待处理数据。

在本发明的至少一个实施例中,所述电子设备可以将所述接收的数据集中的数据进行标注。例如:在一张图片中,所述电子设备可以以方框的形式标注出所述图片中的指定人物的人脸,或者是,所述电子设备可以以圆形框的形式标注出所述图片中的预设位置等。

在本发明的至少一个实施例中,所述电子设备可以从所述接收的数据集中选择具有相同标注的数据作为所述待处理数据,例如:所述电子设备可以从所述接收的数据集中选择采用圆形框标注人脸的图片作为所述待处理数据。这样,数据的处理过程则更加有针对性,不仅提高准确度,同时节约了时间成本。

s11,所述电子设备将所述待处理数据转换成至少一种数据格式的数据,所述至少一种数据格式包括第一运算模型的输入数据格式及第二运算模型的输入数据格式,所述第一运算模型与所述第二运算模型用于实现相同的算法。

在本发明的至少一个实施例中,由于不同的运算模型所处理数据的数据格式一般不同,因此,为了使不同的运算模型都可以使用所述待处理数据进行运算,所述电子设备可以根据不同的运算模型所处理数据的数据格式将所述待处理数据转换成至少一种数据格式的数据,从而使本技术方案具有更好的通用性。

在本发明的至少一个实施例中,所述至少一种数据格式包括,但不限于:所述第一运算模型的输入数据格式及所述第二运算模型的输入数据格式等。其中,所述第一运算模型与所述第二运算模型用于实现相同的算法。

具体地,所述第一运算模型是采用第一编程语言实现所述算法,所述第二运算模型是采用第二编程语言实现所述算法,所述第一编程语言与所述第二编程语言不同。

在本发明的至少一个实施例中,所述第一运算模型是一种用软件语言实现的模型,具体地,所述第一编程语言包括,但不限于:c语言、c++、matlab等,本发明在此不作限制。另外,根据相关技术人员的大量实验验证得知,通过所述第一运算模型运算得到的运算结果是标准的结果,可以作为数据校准的基础。

在本发明的至少一个实施例中,所述第二运算模型是一种用硬件语言实现的模型,具体地,所述第二编程语言包括,但不限于:嵌入式系统的编程语言、fpga的编程语言、cpld的编程语言等,本发明不作限制。

在本发明的至少一个实施例中,所述第一运算模型与所述第二运算模型用于实现相同的算法,这样,通过将所述第二运算模型的运算结果与所述第一运算模型运算得到的标准结果进行比较,就可以确定所述第二运算模型的运算是否准确。

s12,所述电子设备将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算,得到第一运算结果。

在本发明的至少一个实施例中,所述待处理数据的数据格式的转换可以采用与所述第一运算模型相同的编程语言实现,这样,所述电子设备可以直接将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算,得到第一运算结果。

在其他实施例中,所述电子设备也可以采用与所述第一运算模型不同的编程语言实现所述待处理数据的数据格式的转换,这样,所述电子设备将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算时,可以通过调用相应的数据接口的方式实现所述第一输入数据的输入。

s13,所述电子设备调用数据接口,将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中进行运算,得到第二运算结果。

在本发明的至少一个实施例中,在所述电子设备将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中的过程中,由于涉及到数据从软件运行环境到硬件运行环境的传输,因此,所述电子设备需要调用相应的数据接口。具体地,所述电子设备通过调用动态链接库形成所述数据接口。所述动态链接库用于实现数据的发送及接收,所述电子设备调用所述动态链接库即可将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中。

需要说明的是,本发明对所述动态链接库的实现语言不作限制,例如:所述电子设备可以采用c语言、c++等语言编写所述动态链接库。

在其他实施例中,所述数据接口也可以用于不同软件编程语言实现的模型间数据的传输,本发明不作限制。

这样,通过调用数据接口,使各个运算模型间互相独立,以达到方便移植、方便扩展、方便拆分的技术效果,同时可以适应不同的运行环境,并实现对不同运算模型的数据校准。

在本发明的至少一个实施例中,所述第二运算模型具有加速模组,所述加速模组用于加快运算的速度。

具体地,所述加速模组可以是通过硬件编程语言实现的加速数据运算的一个硬件模组,在本实施例中,所述加速模组用于加快所述第二运算模型的运算速度。

具体地,所述加速模组可以是以fpga实现的,也可以是一个软件开发工具包,或者是一个深度学习框架下的数据运算模型等,本发明在此不作限制。

s14,所述电子设备获取所述第一运算结果及所述第二运算结果。

在本发明的至少一个实施例中,结合编程语言及运行环境,所述电子设备可以通过调用相应的数据接口的方式实现所述第一运算结果及所述第二运算结果的获取,本发明不作限制。

s15,所述电子设备对所述第二运算结果及所述第一运算结果进行归一化处理。

在本发明的至少一个实施例中,为了消除不同的数据格式对数据分析结果的影响,所述电子设备对所述第二运算结果及所述第一运算结果进行归一化处理,以使所述第二运算结果及所述第一运算结果具有可比性。

s16,所述电子设备根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果。

在本发明的至少一个实施例中,所述电子设备根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果包括:

所述电子设备将归一化处理后的所述第二运算结果与归一化处理后的所述第一运算结果进行对比,得到计算误差。

优选地,当所述计算误差在预设误差范围内时,所述电子设备确定所述第二运算模型正确;当所述计算误差不在所述预设误差范围内时,所述电子设备确定所述第二运算模型不准确。

在本发明的至少一个实施例中,所述预设误差范围可以根据相关技术领域内公知的经验值进行确定。

在本发明的至少一个实施例中,所述电子设备根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果还包括:

所述电子设备利用预设误差分析方法将归一化处理后的所述第二运算结果与归一化处理后的所述第一运算结果进行对比,得到所述第二运算结果的误差曲线,所述电子设备分析所述误差曲线的收敛性,并且当所述误差曲线收敛于预设值时,确定所述第二运算模型运算正确;当所述误差曲线不收敛于所述预设值时,确定所述第二运算模型运算不准确。

在本发明的至少一个实施例中,所述预设误差分析方法包括,但不限于:均方误差分析方法、均方根误差分析方法、标准偏差分析方法等,本发明对所述预设误差分析方法不作限制。

在本发明的至少一个实施例中,所述预设值是一个较小的值(如:1、0.89等),本发明不作限制。

综上所述,本发明能从接收的数据集中选择待处理数据;将所述待处理数据转换成至少一种数据格式的数据,所述至少一种数据格式包括第一运算模型的输入数据格式及第二运算模型的输入数据格式,所述第一运算模型与所述第二运算模型用于实现相同的算法;将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算,得到第一运算结果;调用数据接口,将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中进行运算,得到第二运算结果;获取所述第一运算结果及所述第二运算结果;对所述第二运算结果及所述第一运算结果进行归一化处理;根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果。因此,本发明通用性好,且方便移植、方便扩展、方便拆分,可以适应不同的运行环境,并实现对不同运算模型的数据校准。

如图2所示,是本发明数据校准装置的较佳实施例的功能模块图。所述数据校准装置11包括选择单元110、转换单元111、运算单元112、调用单元113、获取单元114、处理单元115、确定单元116、数据接口单元117。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。

选择单元110从接收的数据集中选择待处理数据。

在本发明的至少一个实施例中,在所述选择单元110从接收的数据集中选择待处理数据之前,所述方法还包括:

所述电子设备接收数据集。

在本发明的至少一个实施例中,所述数据集包括,但不限于:与所述电子设备相通信的数据库中的数据、与所述数据库中的数据相配套的参数、所述数据库中的数据的标注等。

在本发明的至少一个实施例中,所述选择单元110从接收的数据集中选择待处理数据的方式包括,但不限于以下一种或者多种的组合:

(1)所述选择单元110将所述接收的数据集中的全部数据确定为所述待处理数据。

在本发明的至少一个实施例中,当所述接收的数据集的数据量满足处理需求时,则所述选择单元110将所述接收的数据集中的全部数据确定为所述待处理数据。

(2)所述选择单元110将所述接收的数据集中的数据按照数据的大小进行排序,将排在预设位数的数据确定为所述待处理数据。

在本发明的至少一个实施例中,所述选择单元110可以将所述接收的数据集中的部分数据作为所述待处理数据。

优选地,所述选择单元110可以对所述接收的数据集中的数据按照数据的大小进行排序,并将排在预设位数的数据作为所述待处理数据。

在本发明的至少一个实施例中,所述预设位数包括,但不限于:前50位、后50位等等,所述选择单元110可以根据处理需求进行选择,本发明不作限制。

这样,为了节省数据处理的时间,或者是为了适应不同运算模型的数据处理能力,所述选择单元110可以根据数据的大小将所述接收的数据集中的部分数据作为所述待处理数据,使所述待处理数据的选择更加灵活且直观。

另外,所述选择单元110将所述接收的数据集中的数据按照数据的大小进行排序时,可以按照数据从小到大的顺序,也可以按照数据从大到小的顺序,本发明不作限制。可以理解的是,根据排序方式的不同,所述预设位数也可以进行相应的设置。

(3)所述选择单元110将所述接收的数据集中预设类型的数据确定为所述待处理数据。

在本发明的至少一个实施例中,所述选择单元110将所述接收的数据集中的数据按照类型进行分类,所述选择单元110将所述预设类型的数据确定为所述待处理数据。

例如:当所述接收的数据集中的数据包括图片、视频等不同类型时,此时,并不是所有类型的数据都需要进行处理,如果实际需要处理的数据是图片类型的数据,则所述选择单元110可以根据实际需要从所述接收的数据集中选择图片类型的数据作为所述待处理数据,从而避免不必要的时间损失,使数据处理的效率更高。

当然,根据不同的处理需求,所述选择单元110也可以从所述接收的数据集中同时选择图片类型的数据及视频类型的数据作为所述待处理数据,本发明不作限制。

(4)所述选择单元110将所述接收的数据集中具有预设标注的数据确定为所述待处理数据。

在本发明的至少一个实施例中,所述选择单元110可以将所述接收的数据集中的数据进行标注。例如:在一张图片中,所述电子设备可以以方框的形式标注出所述图片中的指定人物的人脸,或者是,所述选择单元110可以以圆形框的形式标注出所述图片中的预设位置等。

在本发明的至少一个实施例中,所述选择单元110可以从所述接收的数据集中选择具有相同标注的数据作为所述待处理数据,例如:所述选择单元110可以从所述接收的数据集中选择采用圆形框标注人脸的图片作为所述待处理数据。这样,数据的处理过程则更加有针对性,不仅提高准确度,同时节约了时间成本。

转换单元111将所述待处理数据转换成至少一种数据格式的数据,所述至少一种数据格式包括第一运算模型的输入数据格式及第二运算模型的输入数据格式,所述第一运算模型与所述第二运算模型用于实现相同的算法。

在本发明的至少一个实施例中,由于不同的运算模型所处理数据的数据格式一般不同,因此,为了使不同的运算模型都可以使用所述待处理数据进行运算,所述转换单元111可以根据不同的运算模型所处理数据的数据格式将所述待处理数据转换成至少一种数据格式的数据,从而使本技术方案具有更好的通用性。

在本发明的至少一个实施例中,所述至少一种数据格式包括,但不限于:所述第一运算模型的输入数据格式及所述第二运算模型的输入数据格式等。其中,所述第一运算模型与所述第二运算模型用于实现相同的算法。

具体地,所述第一运算模型是采用第一编程语言实现所述算法,所述第二运算模型是采用第二编程语言实现所述算法,所述第一编程语言与所述第二编程语言不同。

在本发明的至少一个实施例中,所述第一运算模型是一种用软件语言实现的模型,具体地,所述第一编程语言包括,但不限于:c语言、c++、matlab等,本发明在此不作限制。另外,根据相关技术人员的大量实验验证得知,通过所述第一运算模型运算得到的运算结果是标准的结果,可以作为数据校准的基础。

在本发明的至少一个实施例中,所述第二运算模型是一种用硬件语言实现的模型,具体地,所述第二编程语言包括,但不限于:嵌入式系统的编程语言、fpga的编程语言、cpld的编程语言等,本发明不作限制。

在本发明的至少一个实施例中,所述第一运算模型与所述第二运算模型用于实现相同的算法,这样,通过将所述第二运算模型的运算结果与所述第一运算模型运算得到的标准结果进行比较,就可以确定所述第二运算模型的运算是否准确。

运算单元112将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算,得到第一运算结果。

在本发明的至少一个实施例中,所述待处理数据的数据格式的转换可以采用与所述第一运算模型相同的编程语言实现,这样,所述运算单元112可以直接将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算,得到第一运算结果。

在其他实施例中,所述转换单元111也可以采用与所述第一运算模型不同的编程语言实现所述待处理数据的数据格式的转换,这样,所述运算单元112将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算时,可以通过调用相应的数据接口的方式实现所述第一输入数据的输入。

调用单元113调用数据接口,将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中进行运算,得到第二运算结果。

在本发明的至少一个实施例中,在所述调用单元113将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中的过程中,由于涉及到数据从软件运行环境到硬件运行环境的传输,因此,所述调用单元113需要调用相应的数据接口。具体地,所述调用单元113通过调用动态链接库形成所述数据接口。所述动态链接库用于实现数据的发送及接收,所述调用单元113调用所述动态链接库即可将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中。

需要说明的是,本发明对所述动态链接库的实现语言不作限制,例如:所述电子设备可以采用c语言、c++等语言编写所述动态链接库。

在其他实施例中,所述数据接口也可以用于不同软件编程语言实现的模型间数据的传输,本发明不作限制。

这样,所述调用单元113通过调用数据接口,使各个运算模型间互相独立,以达到方便移植、方便扩展、方便拆分的技术效果,同时可以适应不同的运行环境,并实现对不同运算模型的数据校准。

在本发明的至少一个实施例中,所述第二运算模型具有加速模组,所述加速模组用于加快运算的速度。

具体地,所述加速模组可以是通过硬件编程语言实现的加速数据运算的一个硬件模组,在本实施例中,所述加速模组用于加快所述第二运算模型的运算速度。

具体地,所述加速模组可以是以fpga实现的,也可以是一个软件开发工具包,或者是一个深度学习框架下的数据运算模型等,本发明在此不作限制。

获取单元114获取所述第一运算结果及所述第二运算结果。

在本发明的至少一个实施例中,结合编程语言及运行环境,所述获取单元114可以通过调用相应的数据接口的方式实现所述第一运算结果及所述第二运算结果的获取,本发明不作限制。

处理单元115对所述第二运算结果及所述第一运算结果进行归一化处理。

在本发明的至少一个实施例中,为了消除不同的数据格式对数据分析结果的影响,所述处理单元115对所述第二运算结果及所述第一运算结果进行归一化处理,以使所述第二运算结果及所述第一运算结果具有可比性。

确定单元116根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果。

在本发明的至少一个实施例中,所述确定单元116根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果包括:

所述确定单元116将归一化处理后的所述第二运算结果与归一化处理后的所述第一运算结果进行对比,得到计算误差。

优选地,当所述计算误差在预设误差范围内时,所述确定单元116确定所述第二运算模型正确;当所述计算误差不在所述预设误差范围内时,所述确定单元116确定所述第二运算模型不准确。

在本发明的至少一个实施例中,所述预设误差范围可以根据相关技术领域内公知的经验值进行确定。

在本发明的至少一个实施例中,所述确定单元116根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果还包括:

所述确定单元116利用预设误差分析方法将归一化处理后的所述第二运算结果与归一化处理后的所述第一运算结果进行对比,得到所述第二运算结果的误差曲线,所述确定单元116分析所述误差曲线的收敛性,并且当所述误差曲线收敛于预设值时,所述确定单元116确定所述第二运算模型运算正确;当所述误差曲线不收敛于所述预设值时,所述确定单元116确定所述第二运算模型运算不准确。

在本发明的至少一个实施例中,所述预设误差分析方法包括,但不限于:均方误差分析方法、均方根误差分析方法、标准偏差分析方法等,本发明对所述预设误差分析方法不作限制。

在本发明的至少一个实施例中,所述预设值是一个较小的值(如:1、0.89等),本发明不作限制。

综上所述,本发明能从接收的数据集中选择待处理数据;将所述待处理数据转换成至少一种数据格式的数据,所述至少一种数据格式包括第一运算模型的输入数据格式及第二运算模型的输入数据格式,所述第一运算模型与所述第二运算模型用于实现相同的算法;将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算,得到第一运算结果;调用数据接口,将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中进行运算,得到第二运算结果;获取所述第一运算结果及所述第二运算结果;对所述第二运算结果及所述第一运算结果进行归一化处理;根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果。因此,本发明通用性好,且方便移植、方便扩展、方便拆分,可以适应不同的运行环境,并实现对不同运算模型的数据校准。

如图3所示,是本发明实现数据校准方法的较佳实施例的电子设备的结构示意图。

所述电子设备1是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述电子设备1还可以是但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备等。

所述电子设备1还可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。

所述电子设备1所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。

在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如数据校准程序。

本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。

所称处理器13可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。

所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个数据校准方法实施例中的步骤,例如图1所示的步骤s10、s11、s12、s13、s14、s15、s16。

或者,所述处理器13执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如:从接收的数据集中选择待处理数据;将所述待处理数据转换成至少一种数据格式的数据,所述至少一种数据格式包括第一运算模型的输入数据格式及第二运算模型的输入数据格式,所述第一运算模型与所述第二运算模型用于实现相同的算法;将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算,得到第一运算结果;调用数据接口,将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中进行运算,得到第二运算结果;获取所述第一运算结果及所述第二运算结果;对所述第二运算结果及所述第一运算结果进行归一化处理;根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成选择单元110、转换单元111、运算单元112、调用单元113、获取单元114、处理单元115、确定单元116、数据接口单元117。

所述存储器12可用于存储所述计算机程序和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机程序和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器12可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是集成电路中没有实物形式的具有存储功能的电路,如ram(random-accessmemory,随机存取存储器)、fifo(firstinfirstout,)等。或者,所述存储器12也可以是具有实物形式的存储器,如内存条、tf卡(trans-flashcard)等等。

所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。

其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种数据校准方法,所述处理器13可执行所述多个指令从而实现:从接收的数据集中选择待处理数据;将所述待处理数据转换成至少一种数据格式的数据,所述至少一种数据格式包括第一运算模型的输入数据格式及第二运算模型的输入数据格式,所述第一运算模型与所述第二运算模型用于实现相同的算法;将转换后的数据中符合所述第一运算模型的输入数据格式的第一输入数据输入至所述第一运算模型中进行运算,得到第一运算结果;调用数据接口,将所述转换后的数据中符合所述第二运算模型的输入数据格式的第二输入数据输入至所述第二运算模型中进行运算,得到第二运算结果;获取所述第一运算结果及所述第二运算结果;对所述第二运算结果及所述第一运算结果进行归一化处理;根据归一化处理后的所述第一运算结果及归一化处理后的所述第二运算结果,确定所述第二运算模型的校准结果将待上传文件分成多个切片;计算所述待上传文件的第一个切片的哈希值;当接收到中断上传所述待上传文件至目标浏览器的触发信号时,中断上传所述待上传文件;记录所述待上传文件的已上传状态;当接收到所述待上传文件的续传触发信号时,根据所述待上传文件的第一个切片的哈希值,调取所述待上传文件;根据记录的所述待上传文件。

根据本发明优选实施例,所述处理器13还执行多个指令包括:

将所述接收的数据集中的全部数据确定为所述待处理数据;或者

将所述接收的数据集中的数据按照数据的大小进行排序,将排在预设位数的数据确定为所述待处理数据;或者

将所述接收的数据集中预设类型的数据确定为所述待处理数据;或者

将所述接收的数据集中具有预设标注的数据确定为所述待处理数据。

根据本发明优选实施例,所述第一运算模型是采用第一编程语言实现所述算法,所述第二运算模型是采用第二编程语言实现所述算法,所述第一编程语言与所述第二编程语言不同。

根据本发明优选实施例,所述处理器13还执行多个指令包括:

通过调用动态链接库形成所述数据接口。

根据本发明优选实施例,所述第二运算模型具有加速模组,所述加速模组用于加快运算的速度。

根据本发明优选实施例,所述处理器13还执行多个指令包括:

将归一化处理后的所述第二运算结果与归一化处理后的所述第一运算结果进行对比,得到计算误差;

当所述计算误差在预设误差范围内时,确定所述第二运算模型正确;或者

当所述计算误差不在所述预设误差范围内时,确定所述第二运算模型不准确。

根据本发明优选实施例,所述处理器13还执行多个指令包括:

利用预设误差分析方法将归一化处理后的所述第二运算结果与归一化处理后的所述第一运算结果进行对比,得到所述第二运算结果的误差曲线;

分析所述误差曲线的收敛性;

当所述误差曲线收敛于预设值时,确定所述第二运算模型运算正确;或者

当所述误差曲线不收敛于所述预设值时,确定所述第二运算模型运算不准确。

具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。

因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1