一种数据处理方法及装置制造方法及图纸

技术编号:29280631 阅读:51 留言:0更新日期:2021-07-16 23:14
本公开提供了一种数据处理方法及装置,用于深度学习模型的训练,该方法包括:对样本数据的预取数量进行第一更新处理,得到目标预取数量;响应于预取样本数据队列中当前包括的样本数据的数量未达到所述目标预取数量,读取新的样本数据,并将读取的所述新的样本数据存储至所述预取样本数据队列中。本公开实施例通过对预取的样本数据的数量的动态更新,可以保证在数据队列中,一直会存储有足够数量的样本数据来满足后续几个迭代训练的使用,即使主进程对某个样本数据的读取时间过久,也不会造成由于样本数量未及时读取而导致的迭代训练发生延误,进而提升了训练效率。进而提升了训练效率。进而提升了训练效率。

A data processing method and device

【技术实现步骤摘要】
一种数据处理方法及装置


[0001]本公开涉及机器学习
,具体而言,涉及一种数据处理方法、装置以及系统。

技术介绍

[0002]深度学习模型需要基于大量样本数据来进行多轮迭代训练。为了提升机器学习模型在训练过程中的收敛速度,通常采用多进程并行训练的方式来实现。在采用多进程并行训练的方式对深度学习模型进行每一轮训练中,各个并行的进程都会预先读取下一轮训练时所需要的训练数据,并基于上一轮训练预先读取的训练数据来执行计算任务。但由于各个并行的进程在执行完该轮训练后,所有进程之间需要进行通信和数据同步,若某个进程读取下一轮训练所用训练数据的速度过慢,就会导致整个训练进程被拖延,进而导致训练效率的下降。

技术实现思路

[0003]本公开实施例至少提供一种数据处理方法及装置。
[0004]第一方面,本公开实施例提供一种数据处理方法,应用于深度学习模型的训练,包括:对样本数据的预取数量进行第一更新处理,得到目标预取数量;响应于预取样本数据队列中当前包括的样本数据的数量未达到所述目标预取数量,读取新的样本数据,并将读取的所述新的样本数据存储至所述预取样本数据队列中。
[0005]这样,由于主进程会对预取数量进行第一更新处理,以得到目标预取数量,并在数据队列中当前包括的样本数据量未达到目标预取数量时,从样本数据池中读取新的样本数据;因而,主进程能够在执行完一次迭代训练后,其下一迭代训练所需要用到的样本数据已经完成了读取;而实际上在大多数情况下,主进程读取数据所需要耗费的时间往往少于其执行一个迭代训练所需要用到的时间,因此可以保证在数据队列中,一直会存储有足够数量的样本数据来满足后续几个迭代训练的使用,即使主进程对某个样本数据的读取时间过久,也不会造成由于样本数量未及时读取而导致的迭代训练发生延误,进而提升了训练效率。
[0006]一种可能的实施方式中,所述对样本数据的预取数量进行第一更新处理,得到目标预取数量,包括:根据所述预取样本数据队列当前占用的总内存空间以及内存使用上限阈值,对样本数据的预取数量进行第一更新处理,得到目标预取数量。
[0007]这样,能够基于预取样本数据队列当前占用的总内存空间以及内存使用上限阈值,来对对样本数据的预取数量进行动态更新,灵活调配预取的样本数据的量,以满足训练需求。
[0008]一种可能的实施方式中,所述根据所述预取样本数据队列当前占用的总内存空间以及内存使用上限阈值,对样本数据的预取数量进行第一更新处理,得到目标预取数量,包括:根据所述预取样本数据队列当前占用的总内存空间、内存使用上限阈值、以及对所述深
度学习模型进行训练的数据吞吐量,对样本数据的预取数量进行第一更新处理,得到所述目标预取数量。
[0009]这样,基于预取样本数据队列当前占用的总内存空间、内存使用上限阈值、以及对所述深度学习模型进行训练的数据吞吐量来动态更新预取数量,在数据吞吐量增加时,使得预取样本数据队列中的数据量能够跟上样本数据的消耗,在数据吞吐量降低时,能够尽可能的减少预取样本数据队列占据内存的量,进而多余的内存可以用于其他工作,调整更加灵活。
[0010]一种可能的实施方式中,所述根据所述预取样本数据队列当前占用的总内存空间以及内存使用上限阈值,对样本数据的预取数量进行第一更新处理,得到目标预取数量,包括:在所述预取样本数据队列当前占用的总内存空间未达到所述内存使用上限阈值的情况下,将所述预取数量增大第一调节步长,得到所述目标预取数量;和/或在所述预取样本数据队列当前占用的总内存空间达到所述内存使用上限阈值的情况下,将所述预取数量减小第二调节步长,得到所述目标预取数量。
[0011]这样,在预取样本数据队列当前占用的总内存空间未达到所述内存使用上限阈值的情况,尽可能多的预取样本数据,在预取样本数据队列当前占用的总内存空间达到所述内存使用上限阈值的情况下则减少样本数据的预取数量,灵活调整预取样本数据队列的长度。
[0012]一种可能的实施方式中,所述在所述预取样本数据队列当前占用的总内存空间未达到所述内存使用上限阈值的情况下,将所述预取数量增大第一调节步长,得到所述目标预取数量,包括:在所述预取样本数据队列当前占用的总内存空间未达到所述内存使用上限阈值,且对所述深度学习模型进行训练的数据吞吐量满足预设数据吞吐量条件的情况下,将所述预取数量增大第一调节步长,得到所述目标预取数量。
[0013]一种可能的实施方式中,所述方法还包括:在所述预取样本数据队列当前占用的总内存空间未达到所述内存使用上限阈值,且所述数据吞吐量未满足所述预设数据吞吐量条件的情况下,将所述预取数量减小第三调节步长,得到所述目标预取数量。
[0014]一种可能的实施方式中,所述预设数据吞吐量条件,包括下述至少一种:所述数据吞吐量的当前数值大于历史数值,其中,所述历史数值为当前迭代之前的多个历史迭代训练的对应平均值或者为当前迭代训练的前一迭代训练的对应数值;所述数据吞吐量的当前数值大于数据吞吐量阈值。
[0015]一种可能的实施方式中,所述方法还包括:对所述预取数量的调节步长进行第二更新处理,得到目标调节步长,其中,所述目标调节步长用于所述预取数量的下一次更新处理。
[0016]一种可能的实施方式中,所述对所述预取数量的调节步长进行第二更新处理,得到目标调节步长,包括:在所述第一更新处理中增大所述预取数量的情况下,增大所述预取数量的调节步长;和/或在所述第一更新处理中减小所述预取数量的情况下,减小所述预取数量的调节步长。
[0017]这样,能够在需要增加预取数量时,更快增加预取数量,以更快的保证预取样本数据队列中存储的样本数据更快的达到较多的数量,以满足后续训练迭代周期的使用需求,避免由于预取数量过小而导致的模型训练过程被延误;同时,在需要降低预取数量时,较为
和缓的降低预取数量,能够保证预取样本数据队列的长度变化会更加的平稳,避免由于预取的样本数据的数量的过快下降导致训练过程的震荡。
[0018]第二方面,本公开实施例还提供一种数据处理装置,应用于深度学习模型的训练,包括:第一更新模块,用于对样本数据的预取数量进行第一更新处理,得到目标预取数量;读取模块,用于响应于预取样本数据队列中当前包括的样本数据的数量未达到所述目标预取数量,读取新的样本数据,并将读取的所述新的样本数据存储至所述预取样本数据队列中。
[0019]一种可能的实施方式中,所述第一更新模块,在对样本数据的预取数量进行第一更新处理,得到目标预取数量时,用于:根据所述预取样本数据队列当前占用的总内存空间以及内存使用上限阈值,对样本数据的预取数量进行第一更新处理,得到目标预取数量。
[0020]一种可能的实施方式中,所述第一更新模块,在根据所述预取样本数据队列当前占用的总内存空间以及内存使用上限阈值,对样本数据的预取数量进行第一更新处理,得到目标预取数量时,用于:根据所述预取样本数据队列当前占用的总内存空间、内存使用上限阈值、以及对所述深度学习模型进行训练的数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,应用于深度学习模型的训练,其特征在于,包括:对样本数据的预取数量进行第一更新处理,得到目标预取数量;响应于预取样本数据队列中当前包括的样本数据的数量未达到所述目标预取数量,读取新的样本数据,并将读取的所述新的样本数据存储至所述预取样本数据队列中。2.根据权利要求1所述的数据处理方法,其特征在于,所述对样本数据的预取数量进行第一更新处理,得到目标预取数量,包括:根据所述预取样本数据队列当前占用的总内存空间以及内存使用上限阈值,对样本数据的预取数量进行第一更新处理,得到目标预取数量。3.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述预取样本数据队列当前占用的总内存空间以及内存使用上限阈值,对样本数据的预取数量进行第一更新处理,得到目标预取数量,包括:根据所述预取样本数据队列当前占用的总内存空间、内存使用上限阈值、以及对所述深度学习模型进行训练的数据吞吐量,对样本数据的预取数量进行第一更新处理,得到所述目标预取数量。4.根据权利要求2或3所述的数据处理方法,其特征在于,所述根据所述预取样本数据队列当前占用的总内存空间以及内存使用上限阈值,对样本数据的预取数量进行第一更新处理,得到目标预取数量,包括:在所述预取样本数据队列当前占用的总内存空间未达到所述内存使用上限阈值的情况下,将所述预取数量增大第一调节步长,得到所述目标预取数量;和/或在所述预取样本数据队列当前占用的总内存空间达到所述内存使用上限阈值的情况下,将所述预取数量减小第二调节步长,得到所述目标预取数量。5.根据权利要求4所述的数据处理方法,其特征在于,所述在所述预取样本数据队列当前占用的总内存空间未达到所述内存使用上限阈值的情况下,将所述预取数量增大第一调节步长,得到所述目标预取数量,包括:在所述预取样本数据队列当前占用的总内存空间未达到所述内存使用上限阈值,且对所述深度学习模型进行训练的数据吞吐量满足预设数据吞吐量条件的情况下,将所述预取数量增大第一调节步长,得到所述目标预取数量。6.根据权利要求5所述的数据处理方法,其特征在于,所述方法还包括:在所述预取样本数据队列当前占用的总内存空间未达到所述内存使用上限阈值,且所述数据吞吐量未满足所述预设数据吞吐量条件的情况下,将所述预取数量减小第三调节步长,得到所述目标预取数量。7.根据权利要求5或6所述的数据处理方法,其特征在于,所述预设数据吞吐量条件,包括下述至少一种:所述数据吞吐量的当前数值大于历史数值,其中,所述历史数值为当前迭代之前的多个历史迭代训练的对应平均值或者为当前迭代训练的前一迭代训练的对应数值;所述数据吞吐量的当前数值大于数据吞吐量阈值。8.根据权利要求1至7中任一项所述的数据处理方法,其特征在于,所述方法还包括:对所述预取数量的调节步长进行第二更新处理,得到目标调节步长,其中,所述目标调节步长用于所述预取数量的下一次更新处理。
9.根据权利要求8所述的数据处理方法,其特征在于,所述对所述预取数量的调节步长进行第二更新处理,得到目标调节步长,包括:在所述第一更新处理中增大所述预取数量的情况下,增大所述预取数量的调节步长;和/或在所述第一更新处理中减小所述预取数量的情况下,减小所述预取数量的调节步长。10.一种数据处理装置,应用于深度学习模型的训练,其特征在于,包括:第一更新模块,用于对样本数据的预取数量进行第一更新处理,得到目标预取数量;读取模块,用于响应于预取样本数据队列中当前包括的样本数据的数量未达到所述目标预取数量,读取新的样本数据,并将读取的所述新的样本数据存储至所述预取样本数据队列中。11.根...

【专利技术属性】
技术研发人员:张衡
申请(专利权)人:上海商汤智能科技有限公司
类型:发明
国别省市:

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

1