一种增量式的数据集加速生成方法及系统技术方案

技术编号:19744838 阅读:26 留言:0更新日期:2018-12-12 04:40
本发明专利技术公开了一种增量式的数据集加速生成方法,包括步骤:加载类别标签文件和进度记录文件;检查类别标签文件是否有变更;当检查到类别标签文件没有变更时,读取所有进度记录文件,获取每个中间数据集中所有中间数据对应的原始文件信息;乱序生成当前所有原始文件的任务列表;比对相应的中间数据集中所有的中间数据对应的原始文件是否均存在于任务列表中;根据比对的结果对任务列表进行操作,获取最终的任务列表,并根据任务列表中的任务调用线程池中的线程生成对应的中间数据。本发明专利技术实现了中间数据集的增量式生成,对于原始文件的增加、修改或删除时,针对现有的已生成的中间数据集,无需全部删除再重新生成,减小了工作量,加快了处理速度。

【技术实现步骤摘要】
一种增量式的数据集加速生成方法及系统
本专利技术涉及数据处理领域,尤指一种增量式的数据集加速生成方法及系统。
技术介绍
卷积神经网络现已成为计算机视觉领域中最具影响力革新的一部分,由于图像分类是对输入图像的操作,最终输出一组最好的描述图像内容的分类或者分类的概率,但是对人类来说,识别是出生便开始学习的技能,但是人类的专属技能机器尚未享有,所以通过卷积神经网络对图片进行一些处理比如分类、定位、检测、分割,进而读取不同类别的图片,现在亚马逊,Facebook(和Instagram)可以使用它,如今拥有的十几亿用户的图片。但是在现有技术的卷积神经网络训练中,训练框架为了保持更高的数据读取效率往往会使用中间数据格式,以tensorflow为例,它使用了tfrecord作为他的中间数据存储格式,这样的优点是提高了数据的读取效率,另外还可以对中间层的数据进行检查保证数据的正确性,同时不会造成训练的中断以及训练程序的异常退出。就现有技术的而言带来优点的同时也带来了缺点,比如生成这种中间数据格式会消耗大量的时间,也不支持增量的数据生成,因为只要在训练期间,对数据集稍微有点修改,就需要全部重新生成所有的文件,面对现在生活中运用到的海量数据,这将是非常浩大的工作量。所以解决这种速度慢且不支持增量的数据生成的问题是很有必要的。
技术实现思路
为了克服上述技术缺陷,本专利技术提供一种增量式的数据集加速生成方法及系统,具体的,本专利技术提供的技术方案如下:首先,本专利技术提供了一种增量式的数据集加速生成方法,包括步骤:加载类别标签文件和所有进度记录文件,其中,所述类别标签文件含有训练用的文件的分类名称及对应的编号;所述进度记录文件与所述中间数据集对应,每个进度记录文件记载了一个中间数据集中的所有中间数据对应的原始文件的标志信息;检查所述类别标签文件是否有变更;当检查到所述类别标签文件没有变更时,读取所有进度记录文件,获取每个中间数据集中所有中间数据对应的原始文件信息;乱序生成当前所有原始文件的任务列表;根据所述任务列表以及所述进度记录文件,获取待删除的目标任务,并在所述任务列表中将所述目标任务进行删除;获取最终的任务列表,并根据所述任务列表中的任务调用线程池中的线程生成对应的中间数据。进一步优选的,根据所述任务列表以及所述进度记录文件,获取待删除的目标任务,并在所述任务列表中将所述目标任务进行删除具体包括:比对从每个进度记录文件中读取到的相应的中间数据集中所有的中间数据对应的原始文件是否均存在于所述任务列表中;将所有中间数据对应的原始文件均存在于所述任务列表中的中间数据集标记为第一中间数据集;将所有中间数据对应的原始文件未全部存在于所述任务列表中的中间数据集标记为第二中间数据集;当所有中间数据集均是第一中间数据集时,选取一个中间数据集进行删除,并将剩余的中间数据集中的所有中间数据对应的原始文件在所述任务列表中进行任务删除;当所有中间数据集中存在有第二中间数据集时,将所述第二中间数据集进行删除,并将第一中间数据集中的所有中间数据对应的原始文件在所述任务列表中进行任务删除。进一步优化的,所述进度记录文件为一个中间数据集中的所有中间数据对应的原始文件的MD5值的序列化文件。进一步优选的,当检测到所述类别标签文件有变更时,删除所有中间数据集。进一步优选的,根据CPU的核数设置线程池并发线程的数量。其次,本专利技术还提供了一种增量式的数据集加速生成系统,其特征在于,包括:数据加载模块,用于加载类别标签文件和所有进度记录文件,其中,所述类别标签文件含有训练用的文件的分类名称及对应的编号;所述进度记录文件与所述中间数据集对应,每个进度记录文件记载了一个中间数据集中的所有中间数据对应的原始文件的标志信息;检查模块,用于检查所述数据加载模块中加载的所述类别标签文件是否有变更;读取模块,用于当所述检查模块2检查到所述类别标签文件没有变更时,读取所有进度记录文件,获取每个中间数据集中所有中间数据对应的原始文件信息;列表生成模块,用于乱序生成当前所有原始文件的任务列表;任务删除模块,用于根据所述任务列表以及所述进度记录文件,获取待删除的目标任务,并在所述任务列表中将所述目标任务进行删除;列表获取模块,用于获取最终的任务列表;线程调用模块,用于根据所述列表获取模块获取的所述任务列表中的任务调用线程池中的线程生成对应的中间数据。进一步优选的,所述任务删除模块还包括:比对数据模块,用于比对从所述数据加载模块加载的每个所述进度记录文件中读取到的相应的中间数据集中所有的中间数据对应的原始文件是否均存在于所述列表生成模块生成的所述任务列表中;数据标记模块,用于将所有中间数据对应的原始文件均存在于所述任务列表中的中间数据集标记为第一中间数据集;将所有中间数据对应的原始文件未全部存在于所述任务列表中的中间数据集标记为第二中间数据集;数据操作子模块,用于在当所有中间数据集均是所述数据标记模块标记的所述第一中间数据集时,选取一个中间数据集进行删除,并将剩余的中间数据集中的所有中间数据对应的原始文件在所述任务列表中进行任务删除;当所有中间数据集中存在有所述数据标记模块标记的所述第二中间数据集时,将所述第二中间数据集进行删除,并将第一中间数据集中的所有中间数据对应的原始文件在所述任务列表中进行任务删除。进一步优选的,所述数据加载模块中加载的所述进度记录文件为一个中间数据集中的所有中间数据对应的原始文件的MD5值的序列化文件。进一步优选的,所述数据操作子模块,还用于当所述检查模块检测到所述类别标签文件有变更时,删除所有中间数据集。进一步优选的,一种增量式的数据集加速生成系统还包括:线程设置模块,用于根据CPU的核数设置线程池并发线程的数量。通过本专利技术提供的一种增量式的数据集加速生成方法及系统,能够带来以下至少一种有益效果:1、本专利技术采用了进度记录文件来记录已生成中间数据的原始文件信息,使得后续处理时可快速查找到哪些原始文件已处理生成了中间数据,进而加快了数据处理的进度,提高了工作效率。特别的,若通过序列化处理的方式记录原始文件生成中间文件的信息,那这样的进度记录文件采用二进制的方式进行存储,后续读取时通过反序列化读取,存储和读取的速度也会更快,进一步提升了数据处理速度。2、相对于现有技术不支持增量式的数据生成,本专利技术则更为人性化,在原始数据文件发生增加、修改或删除等情况时,无需将全部已生成的中间数据集全部删除,再重新生成,而是根据所有进度记录文件中的记录信息与任务列表进行比对后进行相应处理,对于原始数据文件仅增加情况下,为了达到乱序处理目的,只需删除一个中间数据集即可;其余中间数据集无需删除,而只把任务列表中对应的任务进行删除;这样减少了任务的处理量,提高了数据处理的速度。而对于原始文件有修改或删除的情况,则只需要将该原始文件对应的中间数据集进行删除即可,其余未改动的原始文件对应的中间数据集无需删除,同样只将相应的任务件删除即可。如此,通过所有进度记录文件与任务列表进行比对,按照中间数据集的不同情况采取了不同的处理措施,加快了数据处理速度,提升了处理效率。3、本专利技术在获取到最终的任务列表后,可以通过调用线程池中的线程并发处理各任务。此外,线程池中线程的数量可以根据CPU核数进行设置,因本文档来自技高网...

【技术保护点】
1.一种增量式的数据集加速生成方法,其特征在于,包括步骤:加载类别标签文件和所有进度记录文件,其中,所述类别标签文件含有训练用的文件的分类名称及对应的编号;所述进度记录文件与所述中间数据集对应,每个进度记录文件记载了一个中间数据集中的所有中间数据对应的原始文件的标志信息;检查所述类别标签文件是否有变更;当检查到所述类别标签文件没有变更时,读取所有进度记录文件,获取每个中间数据集中所有中间数据对应的原始文件信息;乱序生成当前所有原始文件的任务列表;根据所述任务列表以及所述进度记录文件,获取待删除的目标任务,并在所述任务列表中将所述目标任务进行删除;获取最终的任务列表,并根据所述任务列表中的任务调用线程池中的线程生成对应的中间数据。

【技术特征摘要】
1.一种增量式的数据集加速生成方法,其特征在于,包括步骤:加载类别标签文件和所有进度记录文件,其中,所述类别标签文件含有训练用的文件的分类名称及对应的编号;所述进度记录文件与所述中间数据集对应,每个进度记录文件记载了一个中间数据集中的所有中间数据对应的原始文件的标志信息;检查所述类别标签文件是否有变更;当检查到所述类别标签文件没有变更时,读取所有进度记录文件,获取每个中间数据集中所有中间数据对应的原始文件信息;乱序生成当前所有原始文件的任务列表;根据所述任务列表以及所述进度记录文件,获取待删除的目标任务,并在所述任务列表中将所述目标任务进行删除;获取最终的任务列表,并根据所述任务列表中的任务调用线程池中的线程生成对应的中间数据。2.根据权利要求1所述的一种增量式的数据集加速生成方法,其特征在于,根据所述任务列表以及所述进度记录文件,获取待删除的目标任务,并在所述任务列表中将所述目标任务进行删除包括:比对从每个进度记录文件中读取到的相应的中间数据集中所有的中间数据对应的原始文件是否均存在于所述任务列表中;将所有中间数据对应的原始文件均存在于所述任务列表中的中间数据集标记为第一中间数据集;将所有中间数据对应的原始文件未全部存在于所述任务列表中的中间数据集标记为第二中间数据集;当所有中间数据集均是第一中间数据集时,选取一个中间数据集进行删除,并将剩余的中间数据集中的所有中间数据对应的原始文件在所述任务列表中进行任务删除;当所有中间数据集中存在有第二中间数据集时,将所述第二中间数据集进行删除,并将第一中间数据集中的所有中间数据对应的原始文件在所述任务列表中进行任务删除。3.根据权利要求1所述的一种增量式的数据集加速生成方法,其特征在于,所述进度记录文件为一个中间数据集中的所有中间数据对应的原始文件的MD5值的序列化文件。4.根据权利要求1所述的一种增量式的数据集加速生成方法,其特征在于:当检测到所述类别标签文件有变更时,删除所有中间数据集。5.根据权利要求1所述的一种增量式的数据集加速生成方法,其特征在于:根据CPU的核数设置线程池并发线程的数量。6.一种增量式的数据集加速生成系统,其特征在于,包括:数据加载模块,用于加载类别标签文件和所有进度记录文件,其中,所述类别标签文件含有训练用的文件的分类名称及对应的编号;...

【专利技术属性】
技术研发人员:罗培元
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1