掌桥专利:专业的专利平台
掌桥专利
首页

模型训练数据加载方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:58:26


模型训练数据加载方法、装置、电子设备及存储介质

技术领域

本发明实施例涉及模型训练技术领域,尤其涉及一种模型训练数据加载方法、装置、电子设备及存储介质。

背景技术

传统模型训练无论是数据并行训练还是分布式训练均采用先数据加载后模型训练的方式。具体流程如下:数据加载-模型训练-数据加载-模型训练,循环进行,数据加载和模型训练相互等待。小数据集训练中这种等待几乎无感,但是面对大数据大模型训练时相互等待容易降低模型训练效率。

发明内容

鉴于此,本发明实施例提供一种模型训练数据加载方法、装置、电子设备及存储介质,将数据加载和模型训练独立运行避免相互等待,这种数据加载和模型训练并行的方式有效提高模型训练效率。

第一方面,本发明实施例提供一种模型训练数据加载方法,其中,该方法包括:

在接收到模型训练指令时,创建模型训练进程和多个GPU数据加载进程;其中,每个GPU数据加载进程是由对应的GPU创建的;

针对各个GPU数据加载进程均执行:从模型训练数据集中加载得到模型训练数据,将模型训练数据存储至GPU数据加载进程对应的GPU的GPU显存中,获取GPU显存的显存地址,将显存地址存储至存储队列中,重复执行下一次数据加载;

对于每个训练周期,基于模型训练进程依次从存储队列中调取一个目标显存地址,根据目标显存地址从对应的GPU显存中读取模型训练数据,基于模型训练数据进行模型训练,直至模型训练完成模型训练进程和多个GPU数据加载进程结束。

在一个可能的实施方式中,模型训练数据集中包括多个模型训练样本数据,以及与每个模型训练样本数据对应的特定GPU标识和模型标签;其中,模型标签是由层级的层级标识和类别的类别标识组合成的多位字符串;

从模型训练数据集中加载得到模型训练数据,包括:

从模型训练数据集中查找与GPU数据加载进程对应的GPU的GPU标识匹配的目标特定GPU标识;

获取目标特定GPU标识对应的多个目标模型训练样本数据;

从多个目标模型训练样本数据中随机加载指定数量的目标模型训练样本数据;

对目标模型训练样本数据进行抽帧处理,以及对目标模型训练样本数据对应的模型标签进行字符串编码处理,得到模型训练数据。

在一个可能的实施方式中,对目标模型训练样本数据进行抽帧处理,包括:

设置DALI抽帧规则的抽帧参数;其中,抽帧参数包括抽帧序列大小参数,相邻抽帧起始帧间隔参数和抽帧采样间隔;

按照抽帧参数对目标模型训练样本数据进行抽帧处理。

在一个可能的实施方式中,在将显存地址存储至存储队列中之后,该方法还包括:

停止GPU数据加载进程。

在一个可能的实施方式中,该方法还包括:

在停止GPU数据加载进程的过程中,监测显存地址对应的模型训练数据是否完成当前训练周期的模型训练;

在监测到显存地址对应的模型训练数据完成当前训练周期的模型训练的情况下,生成进程唤醒指令;

基于进程唤醒指令唤醒GPU数据加载进程。

在一个可能的实施方式中,基于模型训练数据进行模型训练,包括:

将模型训练数据对应的模型标签进行字符串解码处理;

将字符串解码处理后的模型标签和抽帧处理后的模型训练样本数据输入至预设神经网络进行模型训练。

在一个可能的实施方式中,将字符串解码处理后的模型标签和抽帧处理后的模型训练样本数据输入至预设神经网络进行模型训练,包括:

将字符串解码处理后的模型标签和抽帧处理后的模型训练样本数据输入至预设神经网络,预设神经网络输出标签预测值;

基于标签预测值和字符串解码处理后的模型标签确定模型损失值;

如果模型损失值大于预设损失值,应用模型损失值更新预设神经网络的参数,直到模型损失值收敛至预设损失值或模型训练次数达到预设训练次数为止。

第二方面,本发明实施例提供一种模型训练数据加载装置,其中,该装置包括:

创建模块,用于在接收到模型训练指令时,创建模型训练进程和多个GPU数据加载进程;其中,每个GPU数据加载进程是由对应的GPU创建的;

数据加载模块,用于针对各个GPU数据加载进程均执行:从模型训练数据集中加载得到模型训练数据,将模型训练数据存储至GPU数据加载进程对应的GPU的GPU显存中,获取GPU显存的显存地址,将显存地址存储至存储队列中,重复执行下一次数据加载;

模型训练模块,用于对于每个训练周期,基于模型训练进程依次从存储队列中调取一个目标显存地址,根据目标显存地址从对应的GPU显存中读取模型训练数据,基于模型训练数据进行模型训练,直至模型训练完成模型训练进程和多个GPU数据加载进程结束。

第三方面,本发明实施例提供一种电子设备,其中,包括:处理器和存储器,处理器用于执行存储器中存储的模型训练数据加载程序,以实现上述的模型训练数据加载方法。

第四方面,本发明实施例提供一种存储介质,其中,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述的模型训练数据加载方法。

本发明实施例提供的模型训练数据加载方法、装置、电子设备及存储介质,包括,在接收到模型训练指令时,创建模型训练进程和多个GPU数据加载进程,针对各个GPU数据加载进程均执行:从模型训练数据集中加载得到模型训练数据,将模型训练数据存储至GPU数据加载进程对应的GPU的GPU显存中,获取GPU显存的显存地址,将显存地址存储至存储队列中,重复执行下一次数据加载;对于每个训练周期,基于模型训练进程依次从存储队列中调取一个目标显存地址,根据目标显存地址从对应的GPU显存中读取模型训练数据,基于模型训练数据进行模型训练,直至模型训练完成模型训练进程和多个GPU数据加载进程结束。本发明的GPU数据加载进程将加载好的数据存储的显存地址放入存储队列后重复执行下一次数据加载,模型训练进程可完成当前模型训练数据训练后,即可从存储队列提取下一个模型训练数据进行模型训练。这种将数据加载和模型训练拆分成两个进程独立运行的方式,可有效避免相互等待,大大提高模型训练效率。

附图说明

图1为本发明实施例提供的一种模型训练数据加载方法的实施例流程图;

图2为本发明实施例提供的一种模型训练数据加载的流程框架示意图;

图3为本发明实施例提供的一种模型训练数据加载装置的实施例流程图;

图4为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。

本发明实施例提供一种模型训练数据加载方法,参见图1,为本发明实施例提供的一种模型训练数据加载方法的实施例流程图。图1所示流程可包括以下步骤:

步骤101,在接收到模型训练指令时,创建模型训练进程和多个GPU数据加载进程;

其中,每个GPU(Graphics Processing Unit,图形处理器)数据加载进程是由对应的GPU创建的;可理解为,一个GPU创建一个GPU数据加载进程,即模型训练数据的加载适用于GPU,GPU数据加载进程的数量可以根据实际需要进行设置,在此不进行限定。而模型训练进程可由GPU或CPU(Central Processing Unit/Processor,中央处理器)创建。

进程是指具有一系列线程段的模型,每个线程段执行一个动作。本实施例中创建模型训练进程和GPU数据加载进程包括创建一系列线程段,比如,定义从模型训练数据集中加载得到模型训练数据的过程对应的线程段,将模型训练数据存储至GPU数据加载进程对应的GPU的GPU显存中的过程对应的线程段等等操作的不同过程对应的线程段。总的来说,创建的GPU数据加载进程和模型训练进程具有重复性和连续性,以实现数据加载和模型训练。

步骤102,针对各个GPU数据加载进程均执行:从模型训练数据集中加载得到模型训练数据,将模型训练数据存储至GPU数据加载进程对应的GPU的GPU显存中,获取GPU显存的显存地址,将显存地址存储至存储队列中,重复执行下一次数据加载;

在本实施例中,每个GPU数据加载进程加载从模型训练数据集中一次加载固定数量的模型训练数据,该固定数量至少为一个,并且,各个GPU数据加载进程加载得到的模型训练数据互不相同。

各个GPU数据加载进程在加载得到模型训练数据后,将模型训练数据存储至对应的GPU的GPU显存中,可理解为模型训练数据存储在创建该GPU数据加载进程的GPU的GPU显存中进行保存,各个GPU数据加载进程加载完本轮模型训练数据后会依次将模型训练数据存储的GPU显存的显存地址放入存储队列的栈中,之后,各个GPU数据加载进程在加载完本轮模型训练数据后,各个GPU数据加载进程重复上述过程加载下一轮的模型训练数据。

步骤103,对于每个训练周期,基于模型训练进程依次从存储队列中调取一个目标显存地址,根据目标显存地址从对应的GPU显存中读取模型训练数据,基于模型训练数据进行模型训练,直至模型训练完成模型训练进程和多个GPU数据加载进程结束。

在本实施例中,模型训练不限于视频模型训练、音频模型训练等,在每个模型训练周期,模型训练进程按照显存地址在存储队列中的排列顺序依次从存储队列中提取一个显存地址即目标显存地址,之后,按照目标显存地址查找到对应的GPU显存,然后从该GPU显存中读取与目标显存地址对应的模型训练数据进行模型训练。

为了便于对上述模型训练和数据加载的过程进行理解,图2示出了一种模型训练数据加载的流程框架示意图,如图2所示,该流程框架提供4个GPU数据加载进程200、1个模型训练进程201和存储队列202,其中,4个GPU数据加载进程分别进行模型训练数据加载,GPU数据加载进程加载完本轮模型训练数据后会将模型训练数据存储至GPU显存中,并将GPU显存的显存地址放入存储队列202后,重新进行数据加载,模型训练进程201在每个训练周期从存储队列202提取一个目标显存地址后,读取目标显存地址对应的模型训练数据进行模型训练,之后,再下一个训练周期重复进行模型训练,直至模型训练完成,这种模型训练数据加载方式能够实现边加载数据边训练的效果,达到数据加载进程与模型训练进程相互独立的目的,进而提高模型训练效率。

并且,传统数据加载使用CPU实现的,数据加载一般使用多CPU进程数据加载,但是实验发现多CPU进程数据加载效率低于单CPU进程数据加载,原因在于数据加载需要对视频或音频进行解码抽帧,该过程非常消耗CPU资源,开启多进程后CPU不仅要管理进程之间的状态切换,还需要管理进程之间的大量数据传输,进一步挤占CPU资源,导致多进程效率低下。

而在本实施例中,使用GPU代替CPU实现数据加载,每个GPU管理自己的数据加载进程,GPU之间没有相互影响,因此,多GPU数据加载进程能够有效加速模型训练数据的加载速率,缩短数据加载时长,从而进一步提高模型训练效率。

本发明实施例提供的模型训练数据加载方法,包括,在接收到模型训练指令时,创建模型训练进程和多个GPU数据加载进程,针对各个GPU数据加载进程均执行:从模型训练数据集中加载得到模型训练数据,将模型训练数据存储至GPU数据加载进程对应的GPU的GPU显存中,获取GPU显存的显存地址,将显存地址存储至存储队列中,重复执行下一次数据加载;对于每个训练周期,基于模型训练进程依次从存储队列中调取一个目标显存地址,根据目标显存地址从对应的GPU显存中读取模型训练数据,基于模型训练数据进行模型训练,直至模型训练完成模型训练进程和多个GPU数据加载进程结束。本发明的GPU数据加载进程将加载好的数据存储的显存地址放入存储队列后重复执行下一次数据加载,模型训练进程可完成当前模型训练数据训练后,即可从存储队列提取下一个模型训练数据进行模型训练。这种将数据加载和模型训练拆分成两个进程独立运行的方式,可有效避免相互等待,大大提高模型训练效率。

另外,多GPU数据加载进程能够管理自己的数据加载进程,多GPU数据加载进程之间没有相互影响,有效加速模型训练数据的加载速率,缩短数据加载时长,进一步提高模型训练效率。

在实际使用时,模型训练数据集中包括多个模型训练样本数据,以及与每个模型训练样本数据对应的特定GPU标识和模型标签;其中,模型标签是由层级的层级标识和类别的类别标识组合成的多位字符串;

其中,特定GPU标识为GPU的唯一标识信息,用于表明各个GPU数据加载进程可以加载哪些模型训练样本数据,比如,模型训练样本数据有100个,其中,前50个模型训练样本数据的特定GPU标识为1,后50个模型训练样本数据的特定GPU标识为2,那么表明,前50个模型训练样本数据需要用标识为1的GPU的GPU数据加载进程进行加载,后50个模型训练样本数据需要用标识为2的GPU的GPU数据加载进程进行加载。

模型标签用于标记模型训练样本数据的数据分类特征,在本实施例中,模型标签是由层级的层级标识和类别的类别标识组合成的多位字符串,上述层级可理解为是特征完全不同的类别,比如,家具、服饰、交通工具为特征完全不同的三个层级,为了细化层级,可进一步用类别进行表示,在本实施例中,对模型训练样本数据进行层级-类别双层标签标注,以便于明确模型训练样本数据是属于哪一层级哪一类别下的数据,

其中,层级标识是层级的唯一标识信息,类别标识为类别的唯一标识信息,为了便于区分层级-类别关系,引入4位字符串进行模型标签标注,其中前2位字符串表示层级,后2位字符串表示类别,优选层级标识和类别标识均有数字进行表示,上述层级标识从0开始编号,类别标识从1开始编号。为了便于说明,如:action_huodong层级包含唱歌,跳舞,游泳,划船,攀爬,专业攀岩等6个类别,event_absparty层级包含婚礼,求婚,过生日,葬礼,开业典礼,舞会-晚会等6个类别,上述各层级个类别的模型标签的标注如表1所示:

表1

在实际使用时,如果层级类别较多,字符串的位数可以为6、8、10,在此不进行限定。

基于上述内容,在一种实施方式中,上述步骤102中从模型训练数据集中加载得到模型训练数据的过程可通过步骤A1至步骤A4实现:

步骤A1,从模型训练数据集中查找与GPU数据加载进程对应的GPU的GPU标识匹配的目标特定GPU标识;

步骤A2,获取目标特定GPU标识对应的多个目标模型训练样本数据;

上述步骤A1-步骤A2的目的是要确定出GPU数据加载进程所需加载的模型训练样本数据具体是哪些。

步骤A3,从多个目标模型训练样本数据中随机加载指定数量的目标模型训练样本数据;

由于模型训练所需模型训练数据的数据量巨大,因此,确定出的目标模型训练样本数据的数据量同样很大,所以,GPU数据加载进程一次加载指定数量的目标模型训练样本数据,该指定数据可以为一个或多个,在此不进行限定。

步骤A4,对目标模型训练样本数据进行抽帧处理,以及对目标模型训练样本数据对应的模型标签进行字符串编码处理,得到模型训练数据。

在获取目标模型训练样本数据后,需要对每个目标模型训练样本数据进行抽帧处理,具体抽帧处理过程为:设置DALI抽帧规则的抽帧参数;按照抽帧参数对目标模型训练样本数据进行抽帧处理。

其中,DALI(NVIDIA Data Loading Library,英伟达数据加载库)抽帧规则的抽帧参数包括抽帧序列大小参数sequence_length,相邻抽帧起始帧间隔参数step和抽帧采样间隔stride;如果sequence_length=16表示抽帧得到的每个抽帧序列大小为16,step=1表示前后两次抽帧起始帧间隔为1,比如,目标模型训练样本数据的总帧数为100,则前一次抽帧的起始帧为0,后一次抽帧的起始帧为1,再后一次抽帧的起始帧为2...,在此不进行一一赘述,stride=4表示抽帧采样间隔为4,可理解为,按4帧为间隔进行抽帧,因此,按照sequence_length=16,step=1,stride=4对总帧数为100的目标模型训练样本数据进行抽帧得到的抽帧序列为:[0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60],[1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61],...,[39,43,47,51,55,59,63,67,71,75,79,83,87,91,95,99],一次抽帧得到40个抽帧序列。

当sequence_length=16,step=1,stride=5对总帧数为100的目标模型训练样本数据进行抽帧得到的抽帧序列为:[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,75],[1,6,11,16,21,26,31,36,41,46,51,56,61,66,71,76],...,[24,29,34,39,44,49,54,59,64,69,74,79,84,89,94,99],一次抽帧得到25个抽帧序列。

当sequence_length=16,step=1,stride=6对总帧数为100的目标模型训练样本数据进行抽帧得到的抽帧序列为:[0,6,12,18,24,30,36,42,48,54,60,66,72,78,84,90],[1,7,13,19,25,31,37,43,49,55,61,67,73,79,85,91],...,[9,15,21,27,33,39,45,51,57,63,69,75,81,87,93,99]一次抽帧得到10个抽帧序列。

在本实施例中,可以设置多个不同的抽帧参数,一次抽帧可以得到多个抽帧序列,这种相比于现有DALI抽帧默认抽取连续帧数来说,可以实现整个数据区间的随机抽帧。

对模型标签进行字符串编码处理的过程是将多位字符串转化成整数,为了便于理解,表1中的编码标签即为对模型标签进行字符串编码处理得到的,在本实施例中,将多个抽帧序列以及编码标签作为一个模型训练数据。

在实际使用时,这种GPU数据加载进程数据加载存在一个问题就是加载完本轮模型训练数据,将模型训练数据存储的GPU显存的显存地址放入存储队列后,并开始加载下一轮模型训练数据,DALI不会开辟新的显存保存下一轮模型训练数据,而是覆盖上一轮模型训练数据对应的显存,存在模型训练进程从存储队列试图获取显存地址对应的模型训练数据已经被修改或覆盖的问题,使得模型训练数据异常。

为了使下一轮模型训练数据不覆盖上一轮模型训练数据显存,需要限制上一轮模型训练数据被模型训练使用完毕前不能进行下一轮模型训练数据加载,即在将显存地址存储至存储队列中之后,停止GPU数据加载进程,避免该GPU数据加载进程停止对模型训练数据的重新加载以有效避免覆盖上一轮模型训练数据,而在停止GPU数据加载进程的过程中,监测显存地址对应的模型训练数据是否完成当前训练周期的模型训练;在监测到显存地址对应的模型训练数据完成当前训练周期的模型训练的情况下,生成进程唤醒指令;基于进程唤醒指令唤醒GPU数据加载进程。

该进程唤醒指令能够唤醒GPU数据加载进程重新进行数据加载,即在等待模型训练进程从存储队列中获取本轮模型训练数据并完成模型训练后再唤醒对应的GPU数据加载进程开始读取下一轮模型训练数据,重新停止该GPU数据加载进程,等待下一次唤醒。

在一种实施例中,上述步骤103中的基于模型训练数据进行模型训练的过程可通过步骤B1至步骤B2实现:

步骤B1,将模型训练数据对应的模型标签进行字符串解码处理;

由于在数据加载过程找那个将模型标签进行了字符串编码处理,为了使得模型训练过程中明确模型标签具体是什么需要对字符串编码处理后模型标签进行字符串解码处理,以得到层级标识和类别标识,具体字符串解码处理过程为:在字符串编码处理后模型标签的左边填充0成为多位字符串。以表1中的1为例,在1的左边补充0以得到4位字符串的模型标识0001。

步骤B2,将字符串解码处理后的模型标签和抽帧处理后的模型训练样本数据输入至预设神经网络进行模型训练。

具体模型训练过程为:将字符串解码处理后的模型标签和抽帧处理后的模型训练样本数据输入至预设神经网络,预设神经网络输出标签预测值;基于标签预测值和字符串解码处理后的模型标签确定模型损失值;如果模型损失值大于预设损失值,应用模型损失值更新预设神经网络的参数,直到模型损失值收敛至预设损失值或模型训练次数达到预设训练次数为止。

其中,将标签预测值与模型标签进行交叉熵计算,得到模型损失值,当确定出的模型损失值大于预设损失值,说明本次训练好的预设神经网络没有达到预设的收敛,应用模型损失值更新预设神经网络的参数得到更新后的预设神经网络,可再次从存储队列中获取新的显存地址,读取显存地址的模型训练数据重新进行模型训练,直至确定出的模型损失值不大于预设损失值或模型训练次数达到预设训练次数为止,说明更新后的预设神经网络达到了预设的收敛效果,得到训练好的模型,以用于后续模型应用。

本发明实施例提供一种模型训练数据加载装置,参见图3,为本发明实施例提供的一种模型训练数据加载装置的实施例流程图。图3所示流程可包括以下步骤:

创建模块301,用于在接收到模型训练指令时,创建模型训练进程和多个GPU数据加载进程;其中,每个GPU数据加载进程是由对应的GPU创建的;

数据加载模块302,用于针对各个GPU数据加载进程均执行:从模型训练数据集中加载得到模型训练数据,将模型训练数据存储至GPU数据加载进程对应的GPU的GPU显存中,获取GPU显存的显存地址,将显存地址存储至存储队列中,重复执行下一次数据加载;

模型训练模块303,用于对于每个训练周期,基于模型训练进程依次从存储队列中调取一个目标显存地址,根据目标显存地址从对应的GPU显存中读取模型训练数据,基于模型训练数据进行模型训练,直至模型训练完成模型训练进程和多个GPU数据加载进程结束。

本发明实施例提供的模型训练数据加载装置,包括,在接收到模型训练指令时,创建模型训练进程和多个GPU数据加载进程,针对各个GPU数据加载进程均执行:从模型训练数据集中加载得到模型训练数据,将模型训练数据存储至GPU数据加载进程对应的GPU的GPU显存中,获取GPU显存的显存地址,将显存地址存储至存储队列中,重复执行下一次数据加载;对于每个训练周期,基于模型训练进程依次从存储队列中调取一个目标显存地址,根据目标显存地址从对应的GPU显存中读取模型训练数据,基于模型训练数据进行模型训练,直至模型训练完成模型训练进程和多个GPU数据加载进程结束。本发明的GPU数据加载进程将加载好的数据存储的显存地址放入存储队列后重复执行下一次数据加载,模型训练进程可完成当前模型训练数据训练后,即可从存储队列提取下一个模型训练数据进行模型训练。这种将数据加载和模型训练拆分成两个进程独立运行的方式,可有效避免相互等待,大大提高模型训练效率。

图4为本发明实施例提供的一种电子设备的结构示意图,图4所示的电子设备500包括:至少一个处理器501、存储器502、至少一个网络接口504和其他用户接口503。电子设备500中的各个组件通过总线系统505耦合在一起。可理解,总线系统505用于实现这些组件之间的连接通信。总线系统505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统505。

其中,用户接口503可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。

可以理解,本发明实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。

在一些实施方式中,存储器502存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统5021和应用程序5022。

其中,操作系统5021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序5022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序5022中。

在本发明实施例中,通过调用存储器502存储的程序或指令,具体的,可以是应用程序5022中存储的程序或指令,处理器501用于执行各方法实施例所提供的方法步骤。

上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成上述方法的步骤。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

本实施例提供的电子设备可以是如图4中所示的电子设备,可执行如图1中模型训练数据加载方法的所有步骤,进而实现图1所示模型训练数据加载方法的技术效果,具体请参照图1相关描述,为简洁描述,在此不作赘述。

本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。

当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述模型训练数据加载方法。

所述处理器用于执行存储器中存储的模型训练数据加载程序,以实现模型训练数据加载方法的步骤。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种书法训练方法、装置、电子设备及存储介质
  • 工作量评估及模型训练方法、电子设备及存储介质
  • 神经网络模型的优化方法及装置、电子设备和存储介质
  • 三维模型处理方法和装置、电子设备、计算机可读存储介质
  • 模型处理方法及装置、存储介质和电子设备
  • 模型训练方法、模型训练装置、存储介质和电子设备
  • 模型训练方法、模型训练平台、电子设备和存储介质
技术分类

06120116487211