CN110929868B - 一种数据处理方法、装置、电子设备及可读存储介质 - Google Patents
一种数据处理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN110929868B CN110929868B CN201911127695.9A CN201911127695A CN110929868B CN 110929868 B CN110929868 B CN 110929868B CN 201911127695 A CN201911127695 A CN 201911127695A CN 110929868 B CN110929868 B CN 110929868B
- Authority
- CN
- China
- Prior art keywords
- memory variable
- variable array
- sample
- memory
- array
- 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
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/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、装置、电子设备及可读存储介质,将样本数据对应的样本名称以及表征样本数据的数值对象作为内存变量存储至内存空间,若需要对人工智能模型进行训练,则可以直接从内存空间中读取数值对象,从而至少节省了从硬盘读取样本数据的时间以及将处理后的样本数据写入内存缓存区的时间,缩短了人工智能模型训练的时间。
Description
技术领域
本申请涉及数据处理技术领域,更具体的说,是涉及一种数据处理方法、装置、电子设备及可读存储介质。
背景技术
人工智能模型,例如神经网络模型、深度学习模型等等,都需要大量样本数据进行训练,训练后的人工智能模型能够自动提取待测数据的特征,从而对待测数据进行诸如识别等处理。
在对人工智能模型进行训练的过程中,需要从硬盘存储空间中读取样本数据,并针对读取的样本数据进行处理,例如,若样本数据为图像,对样本数据的处理包括对图像的分割、对图像的归一化处理等等。因为并不能一次读取大量的样本数据,所以将处理后的样本数据写入到内存空间,等待被读取;从内存空间读取处理后的样本数据,输入至人工智能模型,以对人工智能模型进行训练。
目前在基于样本数据训练人工智能模型的过程中,花费的时间至少包括:T1(从硬盘读取样本数据的时间)+T2(对样本数据进行处理的时间)+T3(将处理后的样本数据写入内存缓存区的时间),导致训练人工智能模型的时间较长。
发明内容
有鉴于此,本申请提供了一种数据处理方法、装置、电子设备及可读存储介质,以缩短人工智能模型训练的时间。
为实现上述目的,本申请提供如下技术方案:
第一方面,一种数据处理方法,包括:
获取多个样本名称,一个样本名称对应一个样本数据;
基于多个样本名称的总数量以及预设数目,确定分组数目;
创建所述分组数目个第一内存变量数组,其中,每一第一内存变量数组包括至少一个样本名称,每一第一内存变量数组包含的样本名称总数目小于或等于所述预设数目;
创建第二内存变量数组,所述第二内存变量数组包括所述分组数目个第一内存变量数组;
创建所述分组数目个第三内存变量数组;其中,每一第三内存变量数组包括至少一个数值对象,一个数值对象用于表征一个样本数据,每一第三内存变量数组包含的数值对象总数目小于或等于所述预设数目;
创建第四内存变量数组;其中,所述第四内存变量数组包括所述分组数目个第三内存变量数组;
其中,一个样本名称位于所述第二内存变量数组中的数组位置与表征该样本名称对应的样本数据的数值对象位于所述第四内存变量数组中数组位置相同;所述第二内存变量数组中的数组位置是指所述第二内存变量数组中包含的第一内存变量数组的下标;所述第四内存变量数组中数组位置是指所述第四内存变量数组包含的第二内存变量数组的下标;
一个样本名称位于相应第一内存变量数组中的组内位置与表征该样本名称对应的样本数据的数值对象位于相应第三内存变量数组中的组内位置相同;所述第一内存变量数组中的组内位置是指所述第一内存变量数组包含的样本名称的下标;所述第三内存变量数组中的组内位置是指所述第三内存变量数组包含的数值对象的下标;
将所述第二内存变量数组以及所述第四内存变量数组存储至内存空间。
第二方面,一种数据处理装置,包括:
第一获取模块,用于获取多个样本名称,一个样本名称对应一个样本数据;
第一确定模块,用于基于多个样本名称的总数量以及预设数目,确定分组数目;
第一创建模块,用于创建所述分组数目个第一内存变量数组,其中,每一第一内存变量数组包括至少一个样本名称,每一第一内存变量数组包含的样本名称总数目小于或等于所述预设数目;
第二创建模块,用于创建第二内存变量数组,所述第二内存变量数组包括所述分组数目个第一内存变量数组;
第三创建模块,用于创建所述分组数目个第三内存变量数组;其中,每一第三内存变量数组包括至少一个数值对象,一个数值对象用于表征一个样本数据,每一第三内存变量数组包含的数值对象总数目小于或等于所述预设数目;
第四创建模块,用于创建第四内存变量数组;其中,所述第四内存变量数组包括所述分组数目个第三内存变量数组;
其中,一个样本名称位于所述第二内存变量数组中的数组位置与表征该样本名称对应的样本数据的数值对象位于所述第四内存变量数组中数组位置相同;所述第二内存变量数组中的数组位置是指所述第二内存变量数组中包含的第一内存变量数组的下标;所述第四内存变量数组中数组位置是指所述第四内存变量数组包含的第二内存变量数组的下标;
一个样本名称位于相应第一内存变量数组中的组内位置与表征该样本名称对应的样本数据的数值对象位于相应第三内存变量数组中的组内位置相同;所述第一内存变量数组中的组内位置是指所述第一内存变量数组包含的样本名称的下标;所述第三内存变量数组中的组内位置是指所述第三内存变量数组包含的数值对象的下标;
第一存储模块,用于将所述第二内存变量数组以及所述第四内存变量数组存储至内存空间。
第三方面,一种电子设备,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
获取多个样本名称,一个样本名称对应一个样本数据;
基于多个样本名称的总数量以及预设数目,确定分组数目;
创建所述分组数目个第一内存变量数组,其中,每一第一内存变量数组包括至少一个样本名称,每一第一内存变量数组包含的样本名称总数目小于或等于所述预设数目;
创建第二内存变量数组,所述第二内存变量数组包括所述分组数目个第一内存变量数组;
创建所述分组数目个第三内存变量数组;其中,每一第三内存变量数组包括至少一个数值对象,一个数值对象用于表征一个样本数据,每一第三内存变量数组包含的数值对象总数目小于或等于所述预设数目;
创建第四内存变量数组;其中,所述第四内存变量数组包括所述分组数目个第三内存变量数组;
其中,一个样本名称位于所述第二内存变量数组中的数组位置与表征该样本名称对应的样本数据的数值对象位于所述第四内存变量数组中数组位置相同;所述第二内存变量数组中的数组位置是指所述第二内存变量数组中包含的第一内存变量数组的下标;所述第四内存变量数组中数组位置是指所述第四内存变量数组包含的第二内存变量数组的下标;
一个样本名称位于相应第一内存变量数组中的组内位置与表征该样本名称对应的样本数据的数值对象位于相应第三内存变量数组中的组内位置相同;所述第一内存变量数组中的组内位置是指所述第一内存变量数组包含的样本名称的下标;所述第三内存变量数组中的组内位置是指所述第三内存变量数组包含的数值对象的下标;
将所述第二内存变量数组以及所述第四内存变量数组存储至内存空间。
第四方面,一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如上述数据处理方法。
经由上述的技术方案可知,本申请提供的数据处理方法,将样本数据对应的样本名称以及表征样本数据的数值对象作为内存变量存储至内存空间,若需要对人工智能模型进行训练,则可以直接从内存空间中读取数值对象,从而至少节省了上述T1(从硬盘读取样本数据的时间)以及T3(将处理后的样本数据写入内存缓存区的时间),缩短了人工智能模型训练的时间。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的硬盘存储空间、内存空间及人工智能模型的数据交互过程示意图;
图2为本申请实施例提供的一种数据处理方法流程图;
图3为本申请实施例提供的一种数据处理装置结构示意图;
图4为本申请实施例提供的一种数据处理设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种数据处理方法、装置、电子设备及可读存储介质。
在一可选实施例中,上述数据处理装置可包括运行于终端中的数据处理装置和运行于后台服务器/平台中的数据处理装置。
上述终端可以是诸如台式机、移动终端(例如智能手机)、ipad等电子设备。在一个示例中,运行于终端中的数据处理装置可为运行在终端中的客户端,该客户端可以是应用程序客户端,也可以是网页客户端。
运行于后台服务器/平台中的数据处理装置可为服务器/平台的一个硬件组成部分,也可为功能模块或组件。
上述后台服务器或平台可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
在一可选实施例中,上述数据处理方法可以应用于由硬盘存储空间、内存空间、人工智能模型所构成的硬件结构,具体可以参见图1所示,为本申请实施例提供的硬盘存储空间11、内存空间12及人工智能模型13的数据交互过程示意图。
硬盘存储空间11可以存储样本名称,以及该样本名称对应的样本数据,在一可选实施例中,一个样本名称对应一个样本数据。
在一可选实施例中,硬盘存储空间11可以按照获取样本数据的顺序,存储样本名称对应的样本数据,在一可选实施例中,在获取样本数据的过程中,先获取一个对象对应的一个或多个样本数据,再获取另一个对象对应的一个或多个样本数据,那么在存储顺序方向上,至少相邻的两个样本名称分别对应的样本数据可以具有关联关系,例如,相邻的两个样本名称对应的样本数据可能属于同一个对象;在一可选实施例中,假设样本数据为包含人物的图像,那么上述关联关系可以是至少相邻两个样本数据对应同一个人。假设人工智能模型13是用于进行人脸识别,以确定是否为本人的模型,那么采集的样本数据为人脸图像,在采集样本数据的过程中,可以为针对每一个人分别采集多张角度不同的图像,例如正面图像、左侧面图像、右侧面图像、上侧面图像、下侧面图像,以得到图1硬盘存储空间11所示的多个图像。例如,可能硬盘存储空间11中存储的样本名称为“A-1”至样本名称为“A-5”对应人物1的多张角度不同的人脸,样本名称为“B-1”至样本名称为“B-5”对应人物2的多张角度不同的人脸,…,样本名称为“N-1”至样本名称为“N-5”对应人物N的多张角度不同的人脸,其中N为大于或等于1的正整数。可选的,硬盘存储空间11存储的各人物分别对应的多张角度不同的人脸的数目可以相同可以不同,这里不进行限定。
在一可选实施例中,在对人工智能模型进行训练的过程中,可以从硬盘存储空间11读取多个样本名称,例如图1所示“A-1”至“N-5”,若是顺序读取样本名称,并基于读取的样本名称获得相应的样本数据,并将得到的样本数据输入至人工智能模型,那么可能导致输入至人工智能模型的相邻的样本数据具有关联关系,例如,相邻样本数据为同一人物不同角度的人脸。
在一可选实施例中,可以将多个样本名称中至少一个样本名称进行随机排列,然后在基于随机排列的样本名称获得相应的样本数据,以使得输入至人工智能模型13的多个样本名称分别对应的样本数据中相邻样本数据不具有关联关系,例如,相邻的样本数据可以依次为人脸1、人脸2、…、人脸K(K为大于或等于1的正整数),即相邻样本数据对应的人脸不属于同一个人物,以提高训练人工智能模型13时的准确度。例如图1所示存储顺序方向上样本名称分别为“B-2”至“N-1”。
在一可选实施例中,可以对随机排列后的多个样本名称分别对应的样本数据进行处理,例如若样本数据为图1所示图像,那么可以对该图像进行例如归一化、二值化等处理。
在一可选实施例中,还可以将多个样本名称(可以为随机排列后的)以及多个样本名称(可以为随机排列后的)分别对应的样本数据以内存变量中数组变量的形式存储至内存空间12;在一可选实施例中,数组可以包括大组和小组,其中一个大组可以包括至少一个小组,可以将样本数据或样本名称作为小组中的元素。例如图1所示Group 0至Group M为大组(M为大于或等于1的正整数),其中每一大组还可以包括至少一个小组,假设以数组为List类型的数组为例,例如List 0至List 4为小组,例如图1中可以将样本名称为“B-2”、“A-1”、“D-3”、“C-3”、“N-5”作为Group 0中List 0的元素,其中“B-2”作为Group 0中List 0中的第一个元素,“A-1”作为Group 0中List 0中的第二元素,“D-3”作为Group 0中List 0中的第三元素,“C-3”作为Group 0中List 0中的第四个元素,“N-5”作为Group 0中List 0中的第五个元素。
在一可选实施例中,可以基于小组的下标区分属于同一个大组中不同的小组。可以理解的是,一个小组中可能包括多个元素,每个元素都对应有一个下标,可以基于各元素在同一小组中分别对应的下标,区分同一个小组包含的各个元素,仍以上述为例,那么小组List0[B-2,A-1,D-3,C-3,N-5]中,“B-2”、“A-1”、“D-3”、“C-3”、“N-5”在小组中的下标依次为:0、1、2、3、4。
在一可选实施例中,可以基于样本数据的数量确定上述大组和小组的数目;在一可选实施例中,可以预先设置一个小组包含的样本数据的数量,进而可以基于样本数据的总数量得到上述大组和小组的数目;在一可选实施例中,不同大组包含的小组的分组数目可以相同,也可以不同;在一可选实施例中,不同小组包含的样本数据的数量可以相同,也可以不同。
人工智能模型13可以从内存空间12读取分组后的样本数据,以基于分组后的样本数据训练神经网络;在一可选实施例中,若样本数据的数量较多,可以分批读取样本数据。
由于将样本数据对应的样本名称以及表征样本数据的数值对象作为内存变量存储至内存空间,若需要对人工智能模型进行训练,则可以直接从内存空间中读取数值对象,从而至少节省了上述T1(从硬盘读取样本数据的时间)以及T3(将处理后的样本数据写入内存缓存区的时间),缩短了人工智能模型训练的时间。
在一可选实施例中,本申请内存空间存储的数组包含的元素是已经进行随机排列后的样本名称,和,表征样本数据的数值对象,因此,利用本申请实施例提供的方法,还可以节省T4(对样本名称进行随机排列的时间),更加缩短了人工智能训练的时间。
下面结合图1所示的硬盘存储空间11、内存空间12及人工智能模型13的数据交互过程示意图,下面对本申请实施例提供的数据处理方法进行说明。
如图2所示,为本申请实施例提供的数据处理方法的一种实现方式的流程图,该方法可以包括:
步骤S100、获取多个样本名称,一个样本名称对应一个样本数据。
样本名称是样本数据的唯一标识,即一个样本名称对应一个样本数据,也即样本名称与样本数据一一对应。
考虑到硬盘存储空间11存储的多个样本名称分别对应的样本数据的数据量巨大,直接获取硬盘存储空间11存储的多个样本名称分别对应的样本数据,可能导致后续分组过程耗费大量时间,因此在一可选实施例中,可以获取硬盘存储空间11存储的多个样本名称,以使得后续可以基于样本名称进行分组,从而缩短了人工智能模型13训练的时间。
步骤S110、基于多个样本名称的总数量以及预设数目,确定分组数目。
若将样本名称以及样本数据分别作为一个数组,那么可能由于样本名称以及样本数据的数量较大导致出现数据溢出的情况,因此可以将样本名称以及样本数据进行分组。
在一可选实施例中,可以预先设置一个分组包含的样本名称的数量,即预设数目;进而可以基于多个样本名称的总数量,确定分组数目。
在一可选实施例中,预设数目为2万,当然上述预设数目仅为一种可选的示例,除此之外还可以根据实际需要设置为其它。
在一可选实施例中,若多个样本名称的总数量与预设数目的商是正整数,那么分组数目即为该商;若多个样本名称的总数量与预设数目的商不是正整数,那么分组数目为该商的整数部分加一。
例如,假设上一步骤S100获取的样本名称的总数量为10万,预设数目为2万,那么确定的分组数目为5组;再例如,假设上一步骤S100获取的样本名称的总数量为10万零一百,预设数目为2万,那么确定的分组数目为6组。
需要说明的是,由于样本名称与样本数据一一对应,那么样本名称的分组数目与样本数据的分组数目相同。
步骤S120、创建所述分组数目个第一内存变量数组。
其中,每一第一内存变量数组包括至少一个样本名称,每一第一内存变量数组包含的样本名称总数目小于或等于所述预设数目。
在一可选实施例中,第一内存变量数组为内存变量。所以第一内存变量数组可以直接存储在内存空间12中。
在一可选实施例中,由于在内存空间12中存储的数据为内存变量类型的数据,内存变量是指内存中存储一个数据的位置名称,在这个存储位置中存储的数据在操作期间通过该名称来读和写。即内存变量是表结构之外独立存在于内存中的变量,可以用来存储数据;在定义内存变量时需要为该内存变量命名并赋初值。内存变量建立后是存储在内存空间12中的,因此可以将从硬盘存储空间11获取的多个样本名称以及样本名称对应的样本数据定义为内存变量类型,以使得可以将样本名称以及样本名称对应的样本数据存储在内存空间12。
在一可选实施例中,上述多个分组数目个第一内存变量数组中,不同第一内存变量数组包含的样本名称总数目可以相同,也可以不同。
在一可选实施例中,若样本名称的总数量是预设数目的整数倍,那么上述多个分组数目个第一内存变量数组中,任一个第一内存变量数组包含的样本名称总数目等于上述预设数目,即不同第一内存变量数组包含的样本名称总数目相同。
在一可选实施例中,若样本名称的总数量不是预设数目的整数倍,那么上述多个分组数目个第一内存变量数组中,至少一个第一内存变量数组包含的样本名称总数目小于上述预设数目,即不同第一内存变量数组包含的样本名称总数目可能不同。
以第一内存变量数组为List(列表)数组为例进行说明。即可以将样本名称定义为List类型变量,该List类型变量为内存变量的一种类型,可以将多个样本名称存入List数组。该过程具体如下:
假设获取的多个样本名称分别为:“A-1”至“A-5”、“B-1”至“C-3”、“C-1”至“C-5”、“D-1”至“D-5”。假设预设数目为5,那么第一内存变量数组共有4个,分别用List 1、List 2、List 3、List 4表示。那么可能分组后的第一内存变量数组分别为:List 1=['A-1','A-2','A-3','A-4','A-5'];List 2=['B-1','B-2','B-3','B-4','B-5'];List 3=['C-1','C-2','C-3','C-4','C-5'];List 4=['D-1','D-2','D-3','D-4','D-5']。
在一可选实施例中,人工智能模型13的训练主要基于Python环境。序列是Python中最基本的数据结构,而列表是最常用的序列的内置类型,即列表是最常用的Python数据类型;列表中的各个变量可以不必具有相同的类型,例如创建的一个列表可以为:List=['physics','chemistry',1997,2000];可以理解的是,列表是有序的元素序列,即组成列表的各个变量可以称之为列表的元素或下标变量,那么下标是指用于区分列表包含的各个元素的数字编号,可以使用下标索引来访问列表中的值。在一可选实施例中,下标是从0开始的,即列表包含的各个元素中,第一个元素位于列表中的位置0,例如,若列表List 0=['A-1','A-2','A-3','A-4','A-5'],那么List[0]='A-1'。
步骤S130、创建第二内存变量数组。
其中,所述第二内存变量数组包括所述分组数目个第一内存变量数组。
在一可选实施例中,第二内存变量数组用于存储多个第一内存变量数组。在一可选实施例中,第二内存变量分组中第一内存变量数组的个数与分组数目相同。
仍以上述步骤S120中例子为例,假设第二内存变量数组用Group 1表示,那么第二内存变量数组可能为:Group 1=[List 1,List 2,List 3,List 4]T,其中上标T表示转置,即第二内存变量数组为一个列向量。
在一可选实施例中,第二内存变量数组包含的第一内存变量数组的个数小于分组数目,即创建的第二内存变量数组可以有一个或多个。
步骤S140、创建所述分组数目个第三内存变量数组。
其中,每一第三内存变量数组包括至少一个数值对象,一个数值对象用于表征一个样本数据,每一第三内存变量数组包含的数值对象总数目小于或等于所述预设数目。
第三内存变量数组用于存储多个数值对象。在一可选实施例中,数值对象可以是样本数据本身,或者,对样本数据进行处理后得到的数据。若数值对象为对样本数据进行处理后得到的数据,那么本申请实施例由于提前对样本数据进行了处理,在对人工智能模型进行训练时,无需再次对样本数据进行处理,直接从内存空间中获取数值对象即可,所以本申请实施例至少还节省T2(对样本数据进行处理的时间),进一步缩短了人工智能模型13训练的时间。
在一可选实施例中,上述多个分组数目个第三内存变量数组中,不同第三内存变量数组包含的数值对象总数目可以相同,也可以不同。
在一可选实施例中,若数值对象的总数量是预设数目的整数倍,那么上述多个分组数目个第三内存变量数组中,任一个第三内存变量数组包含的数值对象总数目等于上述预设数目,即不同第三内存变量数组包含的数值对象总数目相同。
在一可选实施例中,若数值对象的总数量不是预设数目的整数倍,那么上述多个分组数目个第三内存变量数组中,至少一个第三内存变量数组包含的数值对象总数目小于上述预设数目,即不同第三内存变量数组包含的数值对象总数目可能不同。
仍以上述步骤S120中例子为例,假设获取的多个样本名称分别为:“A-1”至“A-5”、“B-1”至“C-3”、“C-1”至“C-5”、“D-1”至“D-5”,其对应的样本数据分别为数值对象1至数值对象20。假设4个第三内存变量数组分别用List 5、List 6、List 7、List 8表示。那么可能分组后的第三内存变量数组分别为:List 5=[数值对象1,数值对象2,数值对象3,数值对象4,数值对象5];List 6=[数值对象6,数值对象7,数值对象8,数值对象9,数值对象10];List 7=[数值对象11,数值对象12,数值对象13,数值对象14,数值对象15];List 8=[数值对象16,数值对象17,数值对象18,数值对象19,数值对象20]。
步骤S150、创建第四内存变量数组。
其中,所述第四内存变量数组包括所述分组数目个第三内存变量数组。
其中,一个样本名称位于所述第二内存变量数组中的数组位置与表征该样本名称对应的样本数据的数值对象位于所述第四内存变量数组中数组位置相同;所述第二内存变量数组中的数组位置是指所述第二内存变量数组中包含的第一内存变量数组的下标;所述第四内存变量数组中数组位置是指所述第四内存变量数组包含的第二内存变量数组的下标;
一个样本名称位于相应第一内存变量数组中的组内位置与表征该样本名称对应的样本数据的数值对象位于相应第三内存变量数组中的组内位置相同;所述第一内存变量数组中的组内位置是指所述第一内存变量数组包含的样本名称的下标;所述第三内存变量数组中的组内位置是指所述第三内存变量数组包含的数值对象的下标。
第四内存变量数组用于存储多个第三内存变量数组。在一可选实施例中,第四内存变量分组中第三内存变量数组的个数与分组数目相同。
仍以上述步骤S120中例子为例,假设第四内存变量数组用Group 2表示,那么第四内存变量数组可能为:Group 2=[List 5,List 6,List 7,List 8]T,其中上标T表示转置,即第四内存变量数组为一个行向量。
由于样本名称与数值对象分别存放在不同的数组中,为了基于样本名称可以更快找到样本数据,本申请提供但不限于以下两种实现方式。
第一种,可以设置一个表格,以维护样本名称与该样本名称对应的样本数据(以数值对象为例)分别位于不同数组中的对应关系。
其中,样本名称位于第二内存变量数组、第一内存变量数组的位置可以用(x,y)表示,其中x表示样本名称位于第二内存变量数组Group 1的位置(从0开始),例如若为(0,y),表示Group 1[0]=List1;y表示样本对象位于第一内存变量数组的位置(从0开始),例如若为(0,0),表示List 1[0]=“A-1”,即(x,y)=(0,0)对应样本名称“A-1”。
数值对象位于第四内存变量数组、第三内存变量数组的位置可以用(k,p)表示,其中k表示数值对象位于第四内存变量数组Group 2的位置(从0开始),例如若为(0,p),表示Group 2[0]=List 5;p表示样本对象位于第三内存变量数组的位置(从0开始),例如若为(0,0),表示List 5[0]=数值对象1,即(k,p)=(0,0)对应数值对象1。
例如下述表1所示对应关系。
表1样本名称与数值对象分别位于不同数组中的对应关系
当然,上述表1仅为一种可选的示例,本申请并不限定上述对应关系的具体实现方式,例如还可以设置函数、结构体、数据结构等,以维护上述对应关系。
通过上述第一种实现方式,可以基于样本名称较快找到对应的数值对象位于数组的位置,但是上述实现方式需要通过遍历的方式查找,为了进一步节省查找的时间,本申请实施例还提供了下述第二种实现方式。
第二种,可以将样本名称位于第二内存变量数组的位置以及该样本名称对应的数值对象位于第四内存变量数组的位置定义为数组位置,将样本名称位于第一内存变量数组的位置以及该样本名称对应的数值对象位于第三内存变量数组的位置定义为组内位置,那么可以将一个样本名称位于第二内存变量数组中的数组位置与该样本名称对应的数值对象位于第四内存变量数组中数组位置设置为相同;并且,一个样本名称位于相应第一内存变量数组中的组内位置与该样本名称对应的数值对象位于相应第三内存变量数组中的组内位置相同。这里,“相应第一内存变量数组”是指一个样本名称位于第二内存变量数组包含的至少一个第一内存变量数组中,与该样本名称对应的第一内存变量数组;“相应第三内存变量数组”是指一个数值对象位于第四内存变量数组包含的至少一个第三内存变量数组中,与该数值对象对应的第三内存变量数组。
由于样本名称位于第二内存变量数组以及相应第一内存变量数组的位置,与,数值对象位于第四内存变量数组以及相应第三内存变量数组的位置相同,大大节省了查找样本名称对应的数值对象的效率。
需要说明的是,本申请实施例中,数组(包括第一内存变量数组、第二内存变量数组、第三内存变量数组、第四内存变量数组)中下标的定义与上述步骤S120中列表(列表也可以为数组)对应的下标的定义相同,详细可参照前述介绍,这里不再详细赘述。
步骤S160、将所述第二内存变量数组以及所述第四内存变量数组存储至内存空间。
本申请提供的数据处理方法,将样本数据对应的样本名称以及表征样本数据的数值对象作为内存变量存储至内存空间,若需要对人工智能模型进行训练,则可以直接从内存空间中读取数值对象,从而至少节省了上述T1(从硬盘读取样本数据的时间)以及T3(将处理后的样本数据写入内存缓存区的时间),缩短了人工智能模型训练的时间。
在一可选实施例中,在采集样本数据的过程中,可以顺序采集各样本数据,例如若采集的样本数据是图像,以人脸图像为例,那么可以分别采集人物1的多张角度不同的人脸图像,例如正面图像、左侧面图像、右侧面图像、上侧面图像、下侧面图像,然后采集人物2的多张角度不同的人脸图像,…,然后采集人物N的多张角度不同的人脸图像,其中N为大于或等于1的正整数。那么硬盘存储空间11在存储采集的上述图像时,可以同一个人物的多张角度不同的人脸图像的存储位置相邻,即在存储顺序方向上,依次存储人物1对应的多张角度不同的人脸图像,人物2对应的多张角度不同的人脸图像,…,人物N对应的多张角度不同的人脸图像。
由于硬盘存储空间11在存储顺序方向上,存储的同一个人物的多张角度不同的人脸图像的位置相邻,那么在存储顺序方向上,至少相邻的两个人脸图像具有关联关系,该关联关系可以是:可能相邻两个人脸图像属于同一人物。即,上述步骤S100,获取多个样本名称的过程具体可以包括:依据硬盘存储空间存储样本名称的存储顺序,依次获取所述多个样本名称;其中,所述硬盘存储空间存储的所述多个样本名称,在所述存储顺序方向上至少相邻的两个样本名称分别对应的样本数据具有关联关系。
在一可选实施例中,若硬盘存储空间11在存储顺序方向上,存储的同一个人物的多张角度不同的人脸图像的位置相邻,那么在一次训练神经网络的过程中,可能会由于训练的样本数据之间具有关联关系,导致训练的人工智能模型13不准确。因此在一可选实施例中,可以将硬盘存储空间11存储的多个样本名称分别对应的样本数据打乱,该打乱的过程具体可以包括:
S1、将所述多个样本名称定义为内存变量类型的数据。
参见前述实施例中介绍,定义内存变量时需要包括内存变量的名称以及内存变量的初值。基于此,在一可选实施例中,由于内存变量是存储在内存空间12的,并且内存变量的类型较多,至少可以包括六种类型,即:数值型、字符型、日期型、日期时间型、逻辑性和货币型;因此可以将获取的多个样本名称定义为内存变量类型的数据,以使得可以将样本名称存储在内存空间12。在一可选实施例中,样本名称对应的内存变量类型可以是字符型量,或,数值型,或,日期型,或,日期时间型。
S2、针对所述分组数目个第一内存变量数组中任一第一内存变量数组,将该第一内存变量数组中所述至少一个样本名称进行随机排列,使得该第一内存变量数组包含的所述至少一个样本名称中至少相邻的两个样本名称分别对应的样本数据不具有关联关系。
在一可选实施例中,可以先将从硬盘存储空间11获取的多个样本名称进行随机排列,以打乱该多个样本名称的顺序,然后再对打乱后的多个样本名称进行分组,即将打乱后的多个样本名称依次存储于分组数目个第一内存变量数组中。
在一可选实施例中,考虑到从硬盘存储空间11获取的多个样本名称的数目较多,直接进行随机排列可能耗费大量时间,因此还可以先将获取的多个样本名称进行分组,即将从硬盘存储空间11获取的多个样本名称依次存储于分组数目个第一内存变量数组中,进而针对该分组数目个第一内存变量数组中任一第一内存变量数组,将其中包含的至少一个样本名称进行随机排列,以使得该第一内存变量数组包含的至少一个样本名称中至少相邻的两个样本名称分别对应的样本数据不具有关联关系。
在一可选实施例中,可以通过函数实现对样本名称进行随机排列的过程,例如利用Python中的shuffle()函数对第一内存变量数组中包含的至少一个样本名称进行随机排序。
综上,若目前也需要对多个样本名称进行随机排序,那么目前在基于样本数据训练人工智能模型的过程中,花费的时间至少还包括T5(对样本名称进行随机排序的时间),本申请由于在存入内存空间12之前已经对样本名称进行了随机排序,所以在基于样本数据训练人工智能模型的过程中,还节省了T5时间,缩短人工智能模型13训练的时间。
进一步,由于在样本名称和表征样本数据的数值对象的存储位置是对应的,即对样本名称进行随机排列后,针对每一样本名称所在位置,存储与其对应的表征样本数据的数值对象,即第四内存变量数组中第三内存变量数组中各数值对象也是随机排列后的数值对象。本申请实施例对多个样本名称进行随机排序,而不是直接对表征样本数据的数值对象进行随机排序,进一步缩短了人工智能模型13训练的时间。
参见背景技术介绍,目前在对人工智能模型进行训练的过程中,从硬盘存储空间中获取样本名称对应的样本数据后,可能还需要对样本数据进行处理,进而基于处理后的样本数据训练人工智能模型13。本申请实施例中,可以将多个样本名称分别对应的样本数据本身作为内存变量存储至内存空间12,还可以对多个样本名称分别对应的样本数据进行预设处理,进而将处理后的样本数据作为内存变量存储至内存空间12。那么在一可选实施例中,对多个样本名称分别对应的样本数据进行预设处理的过程具体可以包括:
S1、针对多个样本名称中任一样本名称,基于该样本名称获得与其对应的样本数据。
在一可选实施例中,获取多个样本名称后,可以针对多个样本名称中任一样本名称,基于该样本名称获得与其对应的样本数据的存储路径,即可以基于该样本名称获取存储的对应样本数据的具体目录和位置,进而可以基于该对应样本数据的存储路径,得到该样本名称对应的样本数据。
S2、对该样本名称对应的样本数据进行预设处理,获得该样本名称对应的样本数据的数值对象,以得到多个样本名称分别对应的样本数据的数值对象。
在一可选实施例中,根据样本数据的类型不同,进行的预设处理也可能不同。例如,若样本数据的类型为图像,那么对图像进行的预设处理包括但不限于:二值化、归一化处理,其中,二值化是为了得到灰度图像,以降低训练人工智能模型13时的数据量,缩短训练时间,归一化是为了加快梯度下降的速度,以提高训练人工智能模型13时的速度;若样本数据的类型为语音数据,那么对语音数据进行的预设处理包括但不限于:降噪处理。
需要说明的是,若样本数据的类型为彩色图像,例如RGB图像,那么一个RGB图像对应3个二维矩阵,这3个二维矩阵属于一个数值对象;若样本数据的类型为灰度图像,那么一个灰度图像对应一个二维矩阵,一个二维矩阵即为一个数值对象。
综上,本申请实施例中,先对多个样本名称分别对应的样本数据进行预设处理,进而将处理后的样本数据作为内存变量存储至内存空间12,那么在基于内存空间12存储的数值对象对人工智能模型13进行训练时,节省了T2(对样本数据进行处理的时间),进一步缩短了人工智能模型13训练的时间。
参见前述实施例中介绍,本申请获取多个样本名称,并基于多个样本名称进行随机排序;为了提高基于样本名称查找对应样本数据的效率,一种实现方式是:可以将一个样本名称位于第二内存变量数组中的数组位置与该样本名称对应的数值对象位于第四内存变量数组中数组位置设置为相同;并且,一个样本名称位于相应第一内存变量数组中的组内位置与该样本名称对应的数值对象位于相应第三内存变量数组中的组内位置相同。
在一可选实施例中,为了使随机排序后的样本名称存储在第一内存变量数组以及第二内存变量数组中的位置与对应样本数据存储在第三内存变量数组以及第四内存变量数组的位置相同,本申请实施例中针对每一样本名称,可以基于该样本名称位于第二内存变量数组中的数组位置,以及位于相应第一内存变量数组中的组内位置,将该样本名称对应的样本数据存储至第四内存变量数组以及第三内存变量数组的对应位置,该过程具体可以包括:
S1、基于该样本名称位于所述第二内存变量数组中的数组位置,确定该样本名称对应的数值对象位于所述第四内存变量数组中的第一数组位置。
例如,假设样本名称“B-4”对应数值对象(表征样本数据)数值对象9,那么,假设“B-4”对应的第二内存变量数组为:Group 1=[List 1,List 2,List 3,List 4]T,“B-4”位于第二内存变量数组的数组位置为位置1,假设数值对象9对应的第四内存变量数组为:Group 2=[List 5,List 6,List 7,List 8]T,那么基于“B-4”位于第二内存变量数组的数组位置可以得到:Group 1[1]=List 2,即“B-4”位于第一内存变量数组List 2中,那么该样本名称“B-4”对应的数值对象9位于第四内存变量数组的组内位置也为位置1,即Group 2[1]=List 6,即数值对象9位于第三内存变量数组List 6中。
S2、基于该样本名称位于相应第一内存变量数组的组内位置,确定该样本名称对应的数值对象在相应第三内存变量数组的第一组内位置。
例如,在上述S1的示例的基础上,假设“B-4”对应的第一内存变量数组为:List 2=['B-1','B-2','B-3','B-4','B-5'],那么“B-4”位于第一内存变量数组的数组位置为位置3,那么可以确定该样本名称“B-4”对应的数值对象9在相应第三内存变量数组的第一组内位置也为位置3。
S3、将该样本名称对应的数值对象存储至所述第四内存变量数组中下标为所述第一数组位置的第三内存变量数组中下标为所述第一组内位置对应的位置。
例如,在上述S2的示例的基础上,可以将该样本名称“B-4”对应的数值对象9存储至List 6的第一组内位置对应的位置3中,那么得到的List 6可能为:List 6=[数值对象6,数值对象7,数值对象8,数值对象9,数值对象10]。
在一可选实施例中,一轮训练人工智能模型13的过程可能仅能训练其中小部分数值对象,例如仅能训练100个数值对象,那么待输入至人工智能模型13的数值对象是分多次分别输入的。在一可选实施例中,可以对输入至人工智能模型13的数值对象进行标号,以使得可以基于该标号分多次且不重复地从内存空间12获取数值对象,该过程具体可以包括:
S1、获取多个训练序号,一个训练序号用于表征待输入至人工智能模型的数值对象的序号。
在一可选实施例中,可以分别对各轮训练人工智能模型13的数值对象进行标号,以得到训练序号,假设以一轮训练人工智能模型13的数值对象总数目为100为例,若当前是第10轮训练过程,那么人工智能模型13对应的训练序号为900至999(以第一个训练序号为0为例)。
综上,通过训练序号就可以获知已经输入至人工智能模型13的数值对象的总数目。其中,一个训练序号对应一个数值对象。
在一可选实施例中,由于待输入至人工智能模型13的数值对象是分多次分别输入的,因此可以分别获取每一轮训练过程中,人工智能模型13对应的训练序号,例如,第一轮训练过程中,人工智能模型13对应的训练序号为0-99,第二轮训练过程中,人工智能模型13对应的训练序号为100至299,…,第x轮训练过程中,人工智能模型13对应的训练序号为(x-1)*100至(x-1)100+99,其中x为大于或等于1的正整数。
S2、针对所述多个训练序号中任一训练序号,基于该训练序号确定与其对应的数值对象位于所述第四内存变量数组中第二数组位置,以及,位于相应第三内存变量数组中第二组内位置;从下标为所述第二数组位置的第三内存变量数组中下标为所述第二组内位置对应的位置处,获得该训练序号对应的数值对象,以得到多个训练序号分别对应的数值对象。
需要说明的是,本申请实施例中第二数组位置及第二组内位置中的“第二”与上述实施例中第一数组位置及第一组内位置中的“第一”均不表示先后顺序。第一数组位置与第二数组位置的区别如下:第一数组位置用于表征存储至内存空间12的数值对象位于第四内存变量数组中的位置,第二数组位置用于表征从内存空间12获取的待输入至人工智能模型13的数值对象位于第四内存变量数组中的位置;同理,第一组内位置与第二组内位置的区别如下:第一组内位置用于表征存储至内存空间12的数值对象位于相应第三内存变量数组中的位置,第二组内位置用于表征从内存空间12获取的待输入至人工智能模型13的数值对象位于相应第三内存变量数组中的位置。
在一可选实施例中,若训练序号从“0”开始标号,那么本步骤基于训练序号确定需要从内存空间12获取的数值对象位于第四内存变量数组中第二数组位置以及位于第三内存变量数组中第二组内位置的过程具体可以包括:
S21、将该训练序号与所述预设数目的商的整数部分,确定为所述第二数组位置。
前述已经说明了,可以基于预设数目以及多个样本名称的总数量,确定分组数目;以样本名称为例(数值对象也是如此),一个第一内存变量数组包含的样本名称总数目小于或等于预设数目;第二内存变量数组包含分组数目个第一内存变量数组。那么,以一个第一内存变量数组包含的样本名称总数目等于预设数目为例,假设样本名称的总数目为10万个,预设数目为2万,那么可能第1至20000个样本名称位于第一个第一内存变量数组,第20001至40000个样本名称位于第二个第一内存变量数组,第40001至60000个样本名称位于第二个第一内存变量数组,以此类推。并且可能第一个第一内存变量数组位于第二内存变量数组的位置0,第二个第一内存变量数组位于第二内存变量数组的位置1,第三个第一内存变量数组位于第二内存变量数组的位置2,以此类推。
在一可选实施例中,本步骤可以针对多个训练序号中任一训练序号,将该训练序号与预设数目做除法。可以理解的是,该训练序号可能存在不能整除该预设数目的情况,那么若不可以整除,则该训练序号除以预设数目的商包括整数部分和余数部分,则可以将商的整数部分确定为第二数组位置;若可以整除,则可以直接将商(为一种特殊的整数部分)确定为第二数组位置。
例如,假设训练序号为20010,假设预设数目为2万,则20010除以2万得到的商包括整数部分1以及余数部分10,那么整数部分1即为第二数组位置,与上述第20010个样本名称所在的第一内存变量数组位于第二内存变量数组的位置1相同。
S22、将该训练序号与所述预设数目的商的余数部分,确定为所述第二组内位置。
在一可选实施例中,针对多个训练序号中任一训练序号,若该训练序号不可以整除预设数目,则该训练序号除以预设数目的商包括整数部分和余数部分,则可以将商的余数部分确定为第二组内位置;若该训练序号可以整除预设数目,则可以直接将0(为一种特殊的余数部分)确定为第二组内位置。
例如,假设训练序号为20010,假设预设数目为2万,则20010除以2万得到的商包括整数部分1以及余数部分10,那么余数部分10即为第二组内位置,与上述第20010个样本名称位于第二个第一内存变量数组的位置10相同。
在上述S21以及S22确定第二数组位置以及第二组内位置后,本步骤即可以基于该第二数组位置以及第二组内位置,得到各训练序号分别对应的数值对象。
S3、将所述多个训练序号分别对应的数值对象输入至所述人工智能模型。
综上,本申请实施例可以基于训练序号,从内存空间12分多次且不重叠的获取训练序号对应的数值对象,并输入至人工智能模型13。由于不会重复获取内存空间12中的数值对象,从而缩短了人工智能模型13训练的时间,并且提高了训练人工智能模型13的准确性。
上述本申请公开的实施例中详细描述了方法,对于本申请的方法可采用多种形式的装置实现,因此本申请还公开了一种装置,下面给出具体的实施例进行详细说明。
参见附图3,图3为本申请实施例提供的一种数据处理装置的结构示意图。
如图3所示,该装置可以包括:
第一获取模块31,用于获取多个样本名称,一个样本名称对应一个样本数据;
第一确定模块32,用于基于多个样本名称的总数量以及预设数目,确定分组数目;
第一创建模块33,用于创建所述分组数目个第一内存变量数组,其中,每一第一内存变量数组包括至少一个样本名称,每一第一内存变量数组包含的样本名称总数目小于或等于所述预设数目;
第二创建模块34,用于创建第二内存变量数组,所述第二内存变量数组包括所述分组数目个第一内存变量数组;
第三创建模块35,用于创建所述分组数目个第三内存变量数组;其中,每一第三内存变量数组包括至少一个数值对象,一个数值对象用于表征一个样本数据,每一第三内存变量数组包含的数值对象总数目小于或等于所述预设数目;
第四创建模块36,用于创建第四内存变量数组;其中,所述第四内存变量数组包括所述分组数目个第三内存变量数组;
其中,一个样本名称位于所述第二内存变量数组中的数组位置与表征该样本名称对应的样本数据的数值对象位于所述第四内存变量数组中数组位置相同;所述第二内存变量数组中的数组位置是指所述第二内存变量数组中包含的第一内存变量数组的下标;所述第四内存变量数组中数组位置是指所述第四内存变量数组包含的第二内存变量数组的下标;
一个样本名称位于相应第一内存变量数组中的组内位置与表征该样本名称对应的样本数据的数值对象位于相应第三内存变量数组中的组内位置相同;所述第一内存变量数组中的组内位置是指所述第一内存变量数组包含的样本名称的下标;所述第三内存变量数组中的组内位置是指所述第三内存变量数组包含的数值对象的下标;
第一存储模块37,用于将所述第二内存变量数组以及所述第四内存变量数组存储至内存空间。
在一可选实施例中,上述第一获取模块可以包括:
获取单元,用于依据硬盘存储空间存储样本名称的存储顺序,依次获取所述多个样本名称;其中,所述硬盘存储空间存储的所述多个样本名称,在所述存储顺序方向上至少相邻的两个样本名称分别对应的样本数据具有关联关系。
在一可选实施例中,本申请实施例提供的数据处理装置还可以包括:
定义模块,用于将所述多个样本名称定义为内存变量类型的数据;
排列模块,用于针对所述分组数目个第一内存变量数组中任一第一内存变量数组,将该第一内存变量数组中所述至少一个样本名称进行随机排列,使得该第一内存变量数组包含的所述至少一个样本名称中至少相邻的两个样本名称分别对应的样本数据不具有关联关系。
在一可选实施例中,本申请实施例提供的数据处理装置还可以包括:
第二获取模块,用于针对多个样本名称中任一样本名称,基于该样本名称获得与其对应的样本数据;
第三获取模块,用于对该样本名称对应的样本数据进行预设处理,获得该样本名称对应的样本数据的数值对象,以得到多个样本名称分别对应的样本数据的数值对象。
在一可选实施例中,本申请实施例提供的数据处理装置针对每一样本名称,还可以包括:
第一确定模块,用于基于该样本名称位于所述第二内存变量数组中的数组位置,确定该样本名称对应的数值对象位于所述第四内存变量数组中的第一数组位置;
第二确定模块,用于基于该样本名称位于相应第一内存变量数组的组内位置,确定该样本名称对应的数值对象在相应第三内存变量数组的第一组内位置;
第二存储模块,用于将该样本名称对应的数值对象存储至所述第四内存变量数组中下标为所述第一数组位置的第三内存变量数组中下标为所述第一组内位置对应的位置。
在一可选实施例中,本申请实施例提供的数据处理装置还可以包括:
第四获取模块,用于获取多个训练序号,一个训练序号用于表征待输入至人工智能模型的数值对象的序号;
第三确定模块,用于针对所述多个训练序号中任一训练序号,基于该训练序号确定与其对应的数值对象位于所述第四内存变量数组中第二数组位置,以及,位于相应第三内存变量数组中第二组内位置;第五获取模块,用于从下标为所述第二数组位置的第三内存变量数组中下标为所述第二组内位置对应的位置处,获得该训练序号对应的数值对象,以得到多个训练序号分别对应的数值对象;
输入模块,用于将所述多个训练序号分别对应的数值对象输入至所述人工智能模型。
在一可选实施例中,上述第三确定模块可以包括:
第一确定单元,用于将该训练序号与所述预设数目的商的整数部分,确定为所述第二数组位置;
第二确定单元,用于将该训练序号与所述预设数目的商的余数部分,确定为所述第二组内位置。
本申请实施例提供的数据处理装置可应用于数据处理设备。可选的,图4示出了数据处理设备的硬件结构框图,参照图4,数据处理设备的硬件结构可以包括:至少一个处理器41,至少一个通信接口42,至少一个存储器43和至少一个通信总线44;
在本申请实施例中,处理器41、通信接口42、存储器43、通信总线44的数量为至少一个,且处理器41、通信接口42、存储器43通过通信总线44完成相互间的通信;
处理器41可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器43可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器43存储有程序,处理器41可调用存储器43存储的程序,所述程序用于:
获取多个样本名称,一个样本名称对应一个样本数据;
基于多个样本名称的总数量以及预设数目,确定分组数目;
创建所述分组数目个第一内存变量数组,其中,每一第一内存变量数组包括至少一个样本名称,每一第一内存变量数组包含的样本名称总数目小于或等于所述预设数目;
创建第二内存变量数组,所述第二内存变量数组包括所述分组数目个第一内存变量数组;
创建所述分组数目个第三内存变量数组;其中,每一第三内存变量数组包括至少一个数值对象,一个数值对象用于表征一个样本数据,每一第三内存变量数组包含的数值对象总数目小于或等于所述预设数目;
创建第四内存变量数组;其中,所述第四内存变量数组包括所述分组数目个第三内存变量数组;
其中,一个样本名称位于所述第二内存变量数组中的数组位置与表征该样本名称对应的样本数据的数值对象位于所述第四内存变量数组中数组位置相同;所述第二内存变量数组中的数组位置是指所述第二内存变量数组中包含的第一内存变量数组的下标;所述第四内存变量数组中数组位置是指所述第四内存变量数组包含的第二内存变量数组的下标;
一个样本名称位于相应第一内存变量数组中的组内位置与表征该样本名称对应的样本数据的数值对象位于相应第三内存变量数组中的组内位置相同;所述第一内存变量数组中的组内位置是指所述第一内存变量数组包含的样本名称的下标;所述第三内存变量数组中的组内位置是指所述第三内存变量数组包含的数值对象的下标;
将所述第二内存变量数组以及所述第四内存变量数组存储至内存空间。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述数据处理方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置或***类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种数据处理方法,其特征在于,包括:
获取多个样本名称,一个样本名称对应一个样本数据;
基于多个样本名称的总数量以及预设数目,确定分组数目;
创建所述分组数目个第一内存变量数组,其中,每一第一内存变量数组包括至少一个样本名称,每一第一内存变量数组包含的样本名称总数目小于或等于所述预设数目;
创建第二内存变量数组,所述第二内存变量数组包括所述分组数目个第一内存变量数组;
创建所述分组数目个第三内存变量数组;其中,每一第三内存变量数组包括至少一个数值对象,一个数值对象用于表征一个样本数据,每一第三内存变量数组包含的数值对象总数目小于或等于所述预设数目;
创建第四内存变量数组;其中,所述第四内存变量数组包括所述分组数目个第三内存变量数组;
其中,一个样本名称位于所述第二内存变量数组中的数组位置与表征该样本名称对应的样本数据的数值对象位于所述第四内存变量数组中数组位置相同;所述第二内存变量数组中的数组位置是指所述第二内存变量数组中包含的第一内存变量数组的下标;所述第四内存变量数组中数组位置是指所述第四内存变量数组包含的第二内存变量数组的下标;
一个样本名称位于相应第一内存变量数组中的组内位置与表征该样本名称对应的样本数据的数值对象位于相应第三内存变量数组中的组内位置相同;所述第一内存变量数组中的组内位置是指所述第一内存变量数组包含的样本名称的下标;所述第三内存变量数组中的组内位置是指所述第三内存变量数组包含的数值对象的下标;
将所述第二内存变量数组以及所述第四内存变量数组存储至内存空间,即将样本数据对应的样本名称以及表征样本数据的数值对象作为内存变量存储至内存空间,若需要对人工智能模型进行训练,则直接从内存空间中读取数值对象,从而至少节省从硬盘读取样本数据的时间以及将处理后的样本数据写入内存缓存区的时间,缩短人工智能模型训练的时间;
其中,针对每一样本名称,还包括:
基于该样本名称位于所述第二内存变量数组中的数组位置,确定该样本名称对应的数值对象位于所述第四内存变量数组中的第一数组位置;
基于该样本名称位于相应第一内存变量数组的组内位置,确定该样本名称对应的数值对象在相应第三内存变量数组的第一组内位置;
将该样本名称对应的数值对象存储至所述第四内存变量数组中下标为所述第一数组位置的第三内存变量数组中下标为所述第一组内位置对应的位置;
其中,还包括:
获取多个训练序号,一个训练序号用于表征待输入至人工智能模型的数值对象的序号;
针对所述多个训练序号中任一训练序号,基于该训练序号确定与其对应的数值对象位于所述第四内存变量数组中第二数组位置,以及,位于相应第三内存变量数组中第二组内位置;从下标为所述第二数组位置的第三内存变量数组中下标为所述第二组内位置对应的位置处,获得该训练序号对应的数值对象,以得到多个训练序号分别对应的数值对象;
将所述多个训练序号分别对应的数值对象输入至所述人工智能模型。
2.根据权利要求1所述数据处理方法,其特征在于,所述获取多个样本名称包括:
依据硬盘存储空间存储样本名称的存储顺序,依次获取所述多个样本名称;其中,所述硬盘存储空间存储的所述多个样本名称,在所述存储顺序方向上至少相邻的两个样本名称分别对应的样本数据具有关联关系。
3.根据权利要求2所述数据处理方法,其特征在于,还包括:
将所述多个样本名称定义为内存变量类型的数据;
针对所述分组数目个第一内存变量数组中任一第一内存变量数组,将该第一内存变量数组中所述至少一个样本名称进行随机排列,使得该第一内存变量数组包含的所述至少一个样本名称中至少相邻的两个样本名称分别对应的样本数据不具有关联关系。
4.根据权利要求1至3任一所述数据处理方法,其特征在于,还包括:
针对多个样本名称中任一样本名称,基于该样本名称获得与其对应的样本数据;
对该样本名称对应的样本数据进行预设处理,获得该样本名称对应的样本数据的数值对象,以得到多个样本名称分别对应的样本数据的数值对象。
5.根据权利要求1所述数据处理方法,其特征在于,所述基于该训练序号确定与其对应的数值对象位于所述第四内存变量数组中第二数组位置,以及,位于相应第三内存变量数组中第二组内位置,包括:
将该训练序号与所述预设数目的商的整数部分,确定为所述第二数组位置;
将该训练序号与所述预设数目的商的余数部分,确定为所述第二组内位置。
6.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取多个样本名称,一个样本名称对应一个样本数据;
第一确定模块,用于基于多个样本名称的总数量以及预设数目,确定分组数目;
第一创建模块,用于创建所述分组数目个第一内存变量数组,其中,每一第一内存变量数组包括至少一个样本名称,每一第一内存变量数组包含的样本名称总数目小于或等于所述预设数目;
第二创建模块,用于创建第二内存变量数组,所述第二内存变量数组包括所述分组数目个第一内存变量数组;
第三创建模块,用于创建所述分组数目个第三内存变量数组;其中,每一第三内存变量数组包括至少一个数值对象,一个数值对象用于表征一个样本数据,每一第三内存变量数组包含的数值对象总数目小于或等于所述预设数目;
第四创建模块,用于创建第四内存变量数组;其中,所述第四内存变量数组包括所述分组数目个第三内存变量数组;
其中,一个样本名称位于所述第二内存变量数组中的数组位置与表征该样本名称对应的样本数据的数值对象位于所述第四内存变量数组中数组位置相同;所述第二内存变量数组中的数组位置是指所述第二内存变量数组中包含的第一内存变量数组的下标;所述第四内存变量数组中数组位置是指所述第四内存变量数组包含的第二内存变量数组的下标;
一个样本名称位于相应第一内存变量数组中的组内位置与表征该样本名称对应的样本数据的数值对象位于相应第三内存变量数组中的组内位置相同;所述第一内存变量数组中的组内位置是指所述第一内存变量数组包含的样本名称的下标;所述第三内存变量数组中的组内位置是指所述第三内存变量数组包含的数值对象的下标;
第一存储模块,用于将所述第二内存变量数组以及所述第四内存变量数组存储至内存空间,即将样本数据对应的样本名称以及表征样本数据的数值对象作为内存变量存储至内存空间,若需要对人工智能模型进行训练,则直接从内存空间中读取数值对象,从而至少节省从硬盘读取样本数据的时间以及将处理后的样本数据写入内存缓存区的时间,缩短人工智能模型训练的时间;
其中,针对每一样本名称,所述装置还包括:
基于该样本名称位于所述第二内存变量数组中的数组位置,确定该样本名称对应的数值对象位于所述第四内存变量数组中的第一数组位置;
基于该样本名称位于相应第一内存变量数组的组内位置,确定该样本名称对应的数值对象在相应第三内存变量数组的第一组内位置;
将该样本名称对应的数值对象存储至所述第四内存变量数组中下标为所述第一数组位置的第三内存变量数组中下标为所述第一组内位置对应的位置;
其中,所述装置还包括:
获取多个训练序号,一个训练序号用于表征待输入至人工智能模型的数值对象的序号;
针对所述多个训练序号中任一训练序号,基于该训练序号确定与其对应的数值对象位于所述第四内存变量数组中第二数组位置,以及,位于相应第三内存变量数组中第二组内位置;从下标为所述第二数组位置的第三内存变量数组中下标为所述第二组内位置对应的位置处,获得该训练序号对应的数值对象,以得到多个训练序号分别对应的数值对象;
将所述多个训练序号分别对应的数值对象输入至所述人工智能模型。
7.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序具体用于:
获取多个样本名称,一个样本名称对应一个样本数据;
基于多个样本名称的总数量以及预设数目,确定分组数目;
创建所述分组数目个第一内存变量数组,其中,每一第一内存变量数组包括至少一个样本名称,每一第一内存变量数组包含的样本名称总数目小于或等于所述预设数目;
创建第二内存变量数组,所述第二内存变量数组包括所述分组数目个第一内存变量数组;
创建所述分组数目个第三内存变量数组;其中,每一第三内存变量数组包括至少一个数值对象,一个数值对象用于表征一个样本数据,每一第三内存变量数组包含的数值对象总数目小于或等于所述预设数目;
创建第四内存变量数组;其中,所述第四内存变量数组包括所述分组数目个第三内存变量数组;
其中,一个样本名称位于所述第二内存变量数组中的数组位置与表征该样本名称对应的样本数据的数值对象位于所述第四内存变量数组中数组位置相同;所述第二内存变量数组中的数组位置是指所述第二内存变量数组中包含的第一内存变量数组的下标;所述第四内存变量数组中数组位置是指所述第四内存变量数组包含的第二内存变量数组的下标;
一个样本名称位于相应第一内存变量数组中的组内位置与表征该样本名称对应的样本数据的数值对象位于相应第三内存变量数组中的组内位置相同;所述第一内存变量数组中的组内位置是指所述第一内存变量数组包含的样本名称的下标;所述第三内存变量数组中的组内位置是指所述第三内存变量数组包含的数值对象的下标;
将所述第二内存变量数组以及所述第四内存变量数组存储至内存空间,即将样本数据对应的样本名称以及表征样本数据的数值对象作为内存变量存储至内存空间,若需要对人工智能模型进行训练,则直接从内存空间中读取数值对象,从而至少节省从硬盘读取样本数据的时间以及将处理后的样本数据写入内存缓存区的时间,缩短人工智能模型训练的时间;
其中,针对每一样本名称,还包括:
基于该样本名称位于所述第二内存变量数组中的数组位置,确定该样本名称对应的数值对象位于所述第四内存变量数组中的第一数组位置;
基于该样本名称位于相应第一内存变量数组的组内位置,确定该样本名称对应的数值对象在相应第三内存变量数组的第一组内位置;
将该样本名称对应的数值对象存储至所述第四内存变量数组中下标为所述第一数组位置的第三内存变量数组中下标为所述第一组内位置对应的位置;
其中,还包括:
获取多个训练序号,一个训练序号用于表征待输入至人工智能模型的数值对象的序号;
针对所述多个训练序号中任一训练序号,基于该训练序号确定与其对应的数值对象位于所述第四内存变量数组中第二数组位置,以及,位于相应第三内存变量数组中第二组内位置;从下标为所述第二数组位置的第三内存变量数组中下标为所述第二组内位置对应的位置处,获得该训练序号对应的数值对象,以得到多个训练序号分别对应的数值对象;
将所述多个训练序号分别对应的数值对象输入至所述人工智能模型。
8.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如上述权利要求1至5任一所述数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911127695.9A CN110929868B (zh) | 2019-11-18 | 2019-11-18 | 一种数据处理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911127695.9A CN110929868B (zh) | 2019-11-18 | 2019-11-18 | 一种数据处理方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110929868A CN110929868A (zh) | 2020-03-27 |
CN110929868B true CN110929868B (zh) | 2023-10-10 |
Family
ID=69854130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911127695.9A Active CN110929868B (zh) | 2019-11-18 | 2019-11-18 | 一种数据处理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110929868B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442336A (zh) * | 2007-11-19 | 2009-05-27 | 大唐移动通信设备有限公司 | 一种降低峰均比的方法及装置 |
EP2784710A2 (en) * | 2013-03-26 | 2014-10-01 | Tata Consultancy Services Limited | Method and system for validating personalized account identifiers using biometric authentication and self-learning algorithms |
CN106844407A (zh) * | 2015-12-07 | 2017-06-13 | 华为技术有限公司 | 基于数据集相关性的标签网络产生方法和*** |
JP6343081B1 (ja) * | 2017-09-29 | 2018-06-13 | 義尚 神山 | 符号符号分類検索ソフトウェアを記録した記録媒体 |
CN108804684A (zh) * | 2018-06-13 | 2018-11-13 | 北京搜狗科技发展有限公司 | 一种数据处理方法和装置 |
CN109271871A (zh) * | 2018-08-22 | 2019-01-25 | 平安科技(深圳)有限公司 | 样本存储路径生成方法、装置、计算机设备及存储介质 |
CN109597903A (zh) * | 2018-11-21 | 2019-04-09 | 北京市商汤科技开发有限公司 | 图像文件处理装置和方法、文件存储***及存储介质 |
CN109921938A (zh) * | 2019-03-15 | 2019-06-21 | 昆明理工大学 | 一种云计算环境下故障检测方法 |
WO2019121618A1 (en) * | 2017-12-22 | 2019-06-27 | Koninklijke Philips N.V. | Accelerated data access for training |
CN110457265A (zh) * | 2019-08-20 | 2019-11-15 | 上海商汤智能科技有限公司 | 数据处理方法、装置及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107818118B (zh) * | 2016-09-14 | 2019-04-30 | 北京百度网讯科技有限公司 | 数据存储方法和装置 |
US10515002B2 (en) * | 2018-01-08 | 2019-12-24 | Accenture Global Solutions Limited | Utilizing artificial intelligence to test cloud applications |
-
2019
- 2019-11-18 CN CN201911127695.9A patent/CN110929868B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442336A (zh) * | 2007-11-19 | 2009-05-27 | 大唐移动通信设备有限公司 | 一种降低峰均比的方法及装置 |
EP2784710A2 (en) * | 2013-03-26 | 2014-10-01 | Tata Consultancy Services Limited | Method and system for validating personalized account identifiers using biometric authentication and self-learning algorithms |
CN106844407A (zh) * | 2015-12-07 | 2017-06-13 | 华为技术有限公司 | 基于数据集相关性的标签网络产生方法和*** |
JP6343081B1 (ja) * | 2017-09-29 | 2018-06-13 | 義尚 神山 | 符号符号分類検索ソフトウェアを記録した記録媒体 |
WO2019121618A1 (en) * | 2017-12-22 | 2019-06-27 | Koninklijke Philips N.V. | Accelerated data access for training |
CN108804684A (zh) * | 2018-06-13 | 2018-11-13 | 北京搜狗科技发展有限公司 | 一种数据处理方法和装置 |
CN109271871A (zh) * | 2018-08-22 | 2019-01-25 | 平安科技(深圳)有限公司 | 样本存储路径生成方法、装置、计算机设备及存储介质 |
CN109597903A (zh) * | 2018-11-21 | 2019-04-09 | 北京市商汤科技开发有限公司 | 图像文件处理装置和方法、文件存储***及存储介质 |
CN109921938A (zh) * | 2019-03-15 | 2019-06-21 | 昆明理工大学 | 一种云计算环境下故障检测方法 |
CN110457265A (zh) * | 2019-08-20 | 2019-11-15 | 上海商汤智能科技有限公司 | 数据处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110929868A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190180086A1 (en) | Systems and methods for verifying authenticity of id photo | |
CN112348117B (zh) | 场景识别方法、装置、计算机设备和存储介质 | |
CN110059689B (zh) | 样本集构建方法、装置、计算机设备和存储介质 | |
DE102013221125A1 (de) | System, Verfahren und Computer-Programm-Produkt zum Durchführen einer Zeichenkette-Suche | |
CN110070115B (zh) | 一种单像素攻击样本生成方法、装置、设备及存储介质 | |
CN107204956B (zh) | 网站识别方法及装置 | |
CN110245621B (zh) | 人脸识别装置及图像处理方法、特征提取模型、存储介质 | |
JP6107531B2 (ja) | 特徴抽出プログラム及び情報処理装置 | |
CN109564588A (zh) | 学习数据过滤 | |
CN107735783A (zh) | 用于搜索图像的方法和设备 | |
CN111125543B (zh) | 书籍推荐排序模型的训练方法、计算设备及存储介质 | |
CN109859314A (zh) | 三维重建方法、装置、电子设备和存储介质 | |
SE530514C2 (sv) | En metod, en apparat och en datorprogramprodukt inom fingeravtrycksmatchning | |
CN112182264B (zh) | 地标信息的确定方法、装置、设备及可读存储介质 | |
CN110929868B (zh) | 一种数据处理方法、装置、电子设备及可读存储介质 | |
CN107077617B (zh) | 指纹提取方法及装置 | |
CN113849679A (zh) | 图像检索方法、装置、电子设备及存储介质 | |
CN111027670B (zh) | 特征图处理方法、装置、电子设备及存储介质 | |
CN115393868B (zh) | 文本检测方法、装置、电子设备和存储介质 | |
CN111079823A (zh) | 验证码图像生成方法及*** | |
CN110807286A (zh) | 一种结构网格识别方法 | |
CN114782720A (zh) | 文案的配图确定方法、装置、电子设备、介质及程序产品 | |
CN112733670B (zh) | 指纹特征提取方法、装置、电子设备及存储介质 | |
CN115115901A (zh) | 获取跨域学习模型的方法及装置 | |
CN114463764A (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 |