一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种信息处理方法、装置及计算机可读存储介质与流程

2022-04-30 09:09:12 来源:中国专利 TAG:
1.本技术涉及信息处理
技术领域
:,具体涉及一种信息处理方法、装置及计算机可读存储介质。
背景技术
::2.目前的广告营销系统,一般采用训练好的深度学习模型预测用户是否有产品使用需求,以便在训练好的深度学习模型预测出用户有产品使用需求的情况下,向有产品使用需求的用户投放广告。3.例如,以广告营销类的深度学习模型采用hugectr框架进行训练说明,该hugectr框架为gpu分布式训练框架,它主要针对的是推荐点击通过率(click-through-rate,ctr)场景,支持大规模稀疏训练数据的分布式训练与评估。4.在对现有技术的研究和实践过程中,本技术的发明人发现,现有技术中,在面对海量的训练数据以及海量的特征数量时,需要经过多次的输入/输出(input/output,i/o)操作,会导致计算资源的浪费,信息处理的效率较低。技术实现要素:5.本技术实施例提供一种信息处理方法、装置及计算机可读存储介质,可以提升信息处理的效率。6.为解决上述技术问题,本技术实施例提供以下技术方案:7.一种信息处理方法,包括:8.获取第一预设格式的第一待处理文件;9.解析所述第一待处理文件,将所述第一待处理文件转化为第二预设格式的第二待处理文件,所述第二待处理文件中包含多个训练样本信息,所述训练样本信息由基于特征维度统计生成的特征维度数目和对应的特征信息组成;10.读取所述第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置;11.将所述第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。12.一种信息处理装置,包括:13.获取单元,用于获取第一预设格式的第一待处理文件;14.解析单元,用于解析所述第一待处理文件,将所述第一待处理文件转化为第二预设格式的第二待处理文件,所述第二待处理文件中包含多个训练样本信息,所述训练样本信息由基于特征维度统计生成的特征维度数目和对应的特征信息组成;15.存储单元,用于读取所述第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置;16.读取单元,用于将所述第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。17.在一些实施例中,所述存储单元,用于:18.读取所述第二待处理文件中每一训练样本信息的特征维度数目;19.根据所述特征维度数目确定读取数据量;20.基于所述读取数据量读取所述特征维度数目对应的特征信息,并将每一训练样本信息存储至第一预设内存装置。在一些实施例中,所述读取单元,包括:21.随机子单元,用于将所述第一预设内存装置中的每一训练样本信息进行随机化处理;22.存储子单元,用于从随机化处理后的第一预设内存装置中依次选取训练样本信息存储至第二预设内存装置;23.读取子单元,用于将所述第二预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。24.在一些实施例中,所述第二预设内存装置中包括第一队列以及第二队列,所述存储子单元,用于:25.从第二预设内存装置的第一队列中选取第一标识;26.确定所述第一标识对应的第一目标内存块;27.基于随机化处理后的第一预设内存装置中依次选取训练样本信息存储至所述第一目标内存块中;28.当检测到所述第一目标内存块中不存在剩余存储空间时,将所述第一标识由第一队列放入第二队列。29.在一些实施例中,所述读取子单元,用于:30.从所述第二预设内存装置的第二队列中选取第二标识;31.确定所述第二标识对应的第二目标内存块;32.从所述第二目标内存块中的训练样本信息转存至图像处理器中进行处理;33.当检测到所述第二目标内存块中不存在训练样本信息时,将所述第二标识由第二队列放入第一队列。34.在一些实施例中,所述获取单元,用于:35.基于预设存储路径对存储装置进行扫描;36.将扫描到的文件以第一预设格式进行处理,得到第一预设格式的第一待处理文件。37.在一些实施例中,所述获取单元,还用于:38.通过分布式文件系统下载所述第一预设格式的第一待处理文件。39.一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述信息处理方法中的步骤。40.一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在存储介质中。计算机设备的处理器从存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机执行上述信息处理方法中的步骤。41.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可以在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述信息处理方法中的步骤。42.本技术实施例通过获取第一预设格式的第一待处理文件;解析第一待处理文件,将第一待处理文件转化为第二预设格式的第二待处理文件;读取第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置;将第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。以此,通过在训练样本信息增设特征维度数目,通过特征维度数据可以快速确定对应的特征信息,只需要两次的读取操作就可以将每一训练样本信息存储至第一预设内存装置,进而转存至图形处理器进行处理,相对于现有技术需要频繁的信息读取操作,本技术实施例可以减少信息计算和读取,极大的提升了信息处理的效率。附图说明43.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。44.图1是本技术实施例提供的信息处理系统的场景示意图;45.图2a是本技术实施例提供的信息处理方法的流程示意图;46.图2b为相关技术的训练样本信息的存储格式;47.图2c为相关技术的hugectr框架的架构图;48.图3是本技术实施例提供的信息处理方法的另一流程示意图;49.图4a为本技术实施例提供的开源集群计算框架的结构示意图;50.图4b为本技术实施例提供的信息处理方法的架构示意图;51.图4c为本技术实施例提供的信息处理方法的场景示意图;52.图4d为本技术实施例提供的信息处理方法的另一场景示意图;53.图4e为本技术实施例提供的信息处理方法的另一场景示意图;54.图4f为本技术实施例提供的信息处理方法的另一场景示意图;55.图5是本技术实施例提供的信息处理装置的结构示意图;56.图6是本技术实施例提供的服务器的结构示意图。具体实施方式57.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。58.本技术实施例提供一种信息处理方法、装置、及计算机可读存储介质。59.请参阅图1,图1为本技术实施例所提供的信息处理系统的场景示意图,包括:终端、和服务器(该信息处理系统还可以包括除终端之外的其他终端,终端具体个数在此处不作限定),终端与服务器之间可以通过通信网络连接,该通信网络,可以包括无线网络以及有线网络,其中无线网络包括无线广域网、无线局域网、无线城域网、以及无线个人网中的一种或多种的组合。网络中包括路由器、网关等等网络实体,图中并未示意出。终端可以通过通信网络与服务器进行信息交互,比如终端在运行包含各类推送信息的应用,例如视频、短视频、微博和广告等应用时,终端可以收集的用户特征对应的第一待处理文件发送至服务器。60.该信息处理系统可以包括信息处理装置,该信息处理装置具体可以集成在服务器中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。在图1中,该服务器主要用于获取第一预设格式的第一待处理文件;解析该第一待处理文件,将该第一待处理文件转化为第二预设格式的第二待处理文件,该第二待处理文件中包含多个训练样本信息,该训练样本信息由基于特征维度统计生成的特征维度数目和对应的特征信息组成;读取该第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置;将该第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。服务器在进行深度学习之后,可以根据不同用户的终端推送更为准确的推送信息。61.该信息处理系统还可以包括终端,该终端可以安装各种用户需要的应用,例如视频、短视频、微博和广告等各类应用,例如,终端可以采集用户特征对应的第一待处理文件发送至服务器,并且还可以接收服务器返回的推送信息。62.需要说明的是,图1所示的信息处理系统的场景示意图仅仅是一个示例,本技术实施例描述的信息处理系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着信息处理系统的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。63.以下分别进行详细说明。64.在本实施例中,将从信息处理装置的角度进行描述,该信息处理装置具体可以集成在具备储存单元并安装有微处理器而具有运算能力的服务器中。65.请参阅图2a,图2a是本技术实施例提供的信息处理方法的流程示意图。该信息处理方法包括:66.在步骤101中,获取第一预设格式的第一待处理文件。67.为了更好的说明本技术实施例,可以结合图2b和图2c进行参阅,图2b为相关技术的训练样本信息的存储格式,图2c为相关技术的hugectr框架的架构图。在相关技术中,hugectr是一种快速广告粗排模型训练方案,目前只能支持稀疏矩阵的存储格式(compressedsparserow,csr),可以实现大规模稀疏训练数据的分布式训练与评估,而在广告训练中数据的解析和处理是整个训练中的重要环节,该解析和处理主要为将字符串类型数据(string)、浮点型数据类型(float)和64位整数数据类型(int64)等数据样本转化为哈希索引(hashindex),哈希索引基于哈希表实现,只有匹配所有列的查询才有效。对于每一行数据,存储引擎都会对所有索引列计算一个哈希码,哈希码是一个较小的值,不同键值的行计算出的哈希码也不一样。哈希索引将所有的哈希码存储在索引中,同时保存指向每个数据行的指针。68.即可以看出的是,解析和处理作为hugectr的上游数据生产者,该过程的性能的高低将直接影响整个训练过程,结合图2c所示,每个训练样本信息11均需要写入特定命令文件,如file_list.txt文件中,通过多线程文件读取12读取file_list.txt文件中获取文件路径,得到多个待处理文件,进而通过多线程解析13每一文件中的训练样本信息,线程可以为包含4个,例如id_0和id_1等,并存入batch(通道),当训练样本信息的数量积累到一个batch最大数量的时候,该batch最大数量可以为100,将batch中的训练样本信息放入内存装置的内存块中,如图2c所示,可以有i_0内存块和i_1内存块等等,每一内存块分布在相应的队列中,例如n_0和n_1等队列,可以计算线程的累计数(i)和线程id的数量求余进行内存映射14,计算出每个线程放入的内存队列15中,其中,每个队列与相应的线程绑定在一起,每个队列用锁对内存块中的数据读写和保护,内存块可以为32,最后图形处理(graphicsprocessingunit,gpu)16根据该内存队列15的id顺序依次从每一内存队列15中取每一内存块中的数据进行拷贝,如果某一内存队列15中的内存块还没有存储训练样本信息,则会一直等待(wait)阻塞直至训练样本信息填充完毕,会导致信息处理非常低效。且需要说明的是,存储至内存块中的训练样本信息必须为csr存储格式。该csr存储格式如图2b所示,共有一个标签以及4个特征维度(即身高、年龄、性别和学历),线程在读取训练样本信息时,每次只能读取一个标签或者一个特征表征,以此,相关技术需要反复进行读取操作,占用输入/输出资源,信息处理效率很差。69.为了解决上述问题,本技术实施例首先可以直接获取第一预设格式的第一待处理文件,该第一预设格式可以为tfrecords文件格式,该tfrecords文件是以二进制进行存储的,适合以串行的方式读取大批量的数据。对于第一待处理文件而言,我们可以编写程序将普通的第一待处理文件保存为tfrecords数据格式,该tfrecords数据格式的存储类型可以包括string、float和int64等数据类型,具体数据可以包括标签、特征以及特征对应的明文数据,以实现后续大批量处理,避免每次需要将第一待处理文件需要写入特定命令文件中,操作比较繁琐,且浪费用户时间。70.在一实施方式中,该获取第一预设格式的第一待处理文件,包括:通过分布式文件系统下载该第一预设格式的第一待处理文件。71.其中,可以通过分布式文件系统(hadoopdistributedfilesystem,hdfs)下载的第一预设格式(即tfrecords数据格式)的第一待处理文件,从而不需要将该第一待处理文件存储到磁盘上,从而不需要单独开启线程从磁盘中扫描读取文件,减少中央处理器的使用。72.在步骤102中,解析第一待处理文件,将第一待处理文件转化为第二预设格式的第二待处理文件。73.其中,该第二预设格式可以为csr存储格式,即可以从第一预设格式(如tfrecords文件格式)的第一待处理文件中解析出特征名称,将相应的特征名称,例如身高的特征名称相应的明文数据进行hash(哈希)转换,转化为对应的哈希键值(hashkey),例如将性别为“男”的字符串转化为哈希键值1。以此类推,将第一待处理文件转化为csr存储格式的第二待处理文件,该第二待处理文件可以直接解析哈希键值存储至内存装置中,该内存装置可以为存储空间中开辟的预设大小的存储单元,例如1024mb(兆字节)的存储单元。74.需要特别说明的是,和相关技术的csr存储格式中一个标签以及4个特征维度的形式不同的是,本技术实施例中待处理文件中存储的训练样本信息均由特征维度统计生成的特征维度数目和对应的特征信息组成,该特征维度数目可以为将标签、特征值数量和特征名称数量的总和,例如23,该通过该特征维度数目可以表征后续的整个特征信息,即可以直接获取标签以及后续的特征表征,不需反复读取。75.在一些实施方式中,解析第一待处理文件,将第一待处理文件转化为第二预设格式的第二待处理文件,包括:76.(1)解析该第一待处理文件,得到相应的特征名称;77.(2)当检测到该特征名称与预设特征表中存储的预设特征名称匹配时,获取该特征名称对应明文信息;78.(3)将该明文信息进行哈希转化,得到对应的哈希键值;79.(4)根据包含哈希键值的训练样本信息生成第二预设格式的第二待处理文件。80.其中,由于不同的深度学习模型需要用到的训练样本信息不同,以此,可以预先配置预设特征表,该预设特征表(table表)中可以存储有多个当前深度学习需要用到的训练样本信息的特征名称,以此,可以解析该第一待处理文件,得到相应的特征名称,并检测特征名称与预设特征表中存储的预设特征名称是否匹配,即检测特征名称是为在预设特征表中预先已经存储,当检测到该特征名称与预设特征表中存储的预设特征名称匹配时,说明该特征名称为当前深度学习模型需要训练的训练样本信息,可以直接获取该特征名称对应的明文信息,并进行哈希转化,得到对应的哈希键值,例如将特征名称学历“本科”转化为哈希键值“1”。81.进一步的,将包含哈希键值的训练样本信息,即当前深度学习模型需要训练的训练样本信息生成第二预设格式(即csr数据格式)的第二待处理文件。82.在一些实施方式中,根据包含哈希键值的训练样本信息生成第二预设格式的第二待处理文件,包括:83.(1.1)统计每一包含哈希键值的训练样本信息的特征维度数目;84.(1.2)将每一包含哈希键值的训练样本信息的特征信息和对应的特征维度数目进行组合,得到组合后的训练样本信息;85.(1.3)基于组合后的训练样本信息生成第二预设格式的第二待处理文件。86.其中,可以统计每一包含哈希键值,即当前深度学习模型需要的训练样本信息的特征维度数目,该特征维度数目包含特征标识以及特征值数量,该特征标识即为包含表征的特征名称的数量,该特征值数量为包含特征值的总数,如图2b所示,特征标识可以为标签 年龄标识5 性别标识4 学历标识6的数量4,该特征值数量为身高4个值加年龄5个值加性别4个值以及学历6个值,可以得出特征维度数目为23个。87.为了区别相关技术,可以将每一包含哈希键值的训练样本信息自身的特征信息,即图2b所示相关技术的csr的特征信息和对应的特征维度数目23进行组合,得到组合后的训练样本信息,由于每一组合后的训练样本信息均包含有特征维度数目,可以直接读取该特征维度数目以及特征维度数目表征的特征信息即可实现训练样本信息的输入/输出操作,极大的提升了信息处理的效率。88.在步骤103中,读取第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置。89.其中,该第一预设内存装置可以为存储空间中预先开辟的预设大小的存储单元,例如512mb(兆字节)的存储单元,由于该第二待处理文件中的每一训练样本信息中均包含表征特征信息的特征维度数目,以此,可以首先读取该第二待处理文件中每一训练样本信息的特征维度数目,根据该特征维度数目确定每一待训练信息对应的特征信息进行第二次读取,即可实现将每一训练样本信息存储至第一预设内存装置,请一并参阅图2b所示,与相关技术需要读取5次实现将训练样本读取至内存不同,本技术实施例,仅需要两次读取,即可将每一训练样本信息存储值第一预设内存装置,在训练样本信息的数量庞大时,可以节省数量级巨大的数据输入/输出操作,且训练样本信息的特征维度越大,效果越明显,极大的提升了信息处理的效率。90.在一实施方式中,该读取该第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置,可以包括:91.(1)读取该第二待处理文件中每一训练样本信息的特征维度数目;92.(2)根据该特征维度数目确定读取数据量;93.(3)基于该读取数据量读取该特征维度数目对应的特征信息,并将每一训练样本信息存储至第一预设内存装置。94.其中,可以读取该第二待处理文件中每一待训练样本信息的特征维度数目,例如该特征维度数目可以为23个,由于该特征维度数目可以表征后续的整个特征信息,通过该特征维度数目可以确定后续需要读取数据量为23个数据,那么基于该读取数据量可以直接读取该特征维度数目对应的特征信息,实现只以两次读取即将整个训练样本信息存储至第一预设内存装置。95.在步骤104中,将第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。96.其中,该第一预设内存装置中可以包含有多个内存块,例如50个内存块,每一内存块可以存储50个batch的样本,该batch的尺寸(size)可以为任意设置,例如100个,即一个batch可以存储100个训练样本信息,以此,可以按照预设顺序依次遍历第一预设内存装置中的每一内存块,将该内存块的中的训练样本信息读取至gpu中进行处理,实现训练数据的分布式训练与评估,由于减少了训练样本信息的输入\输出的读取次数,所以可以节省gpu以及cpu(centralprocessingunit,中央处理器)的使用率,极大的提升了信息处理的效率。97.在一实施方式中,该将第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理,可以包括:98.(1)将该第一预设内存装置中的每一训练样本信息进行随机化处理;99.(2)从随机化处理后的第一预设内存装置中依次选取训练样本信息存储至第二预设内存装置;100.(3)将该第二预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。101.其中,该第一预设内存装置可以设置为shuffle内存,该shuffle内存可以实现shuffle方法,即将shuffle内存中的每一内存块以及内存块中的训练样本信息随机打乱,在相关技术中,正样本和负样本都是连续的,会导致训练的深度学习模型不鲁棒,识别的准确率会比较低。以此,本技术实施例通过shuffle方法将第一预设内存装置中的正样本和负样本的分布打乱,并设置作为中间缓存状态的第二预设内存装置,该第二预设内存装置可以为存储空间中预先开辟的预设大小的存储单元,例如256mb(兆字节)的存储单元。102.由于cpu处理的速度和gpu处理的速度不一致,例如cpu处理过快,导致数据挤压,gpu需要等待某一内存块存储结束才能遍历下一个内存块,造成阻塞,所以本技术实施例可以设置缓存的第二内存装置来存储cpu缓存好的训练样本信息,相应的,gpu可以直接从缓存好的第二内存装置中读取处理好的第一训练样本信息进行处理,避免了阻塞的问题,进一步的提升了信息处理的效率。103.以此,通过支持tfrecord格式,可以适配特征工程(可无缝适配),并将tfrecord格式的文件改进为csr格式的文件,减少io数据的频繁读取次数,从而提升cpu和gpu的利用率。其次改进内存块的设计,支持更多线程并发解析数据,占用内存更小,同时防止单个线程解析卡住导致整个流程卡死的问题。由上述可知,本技术实施例通过获取第一预设格式的第一待处理文件;解析第一待处理文件,将第一待处理文件转化为第二预设格式的第二待处理文件;读取第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置;将第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。以此,通过在训练样本信息增设特征维度数目,通过特征维度数据可以快速确定对应的特征信息,只需要两次的读取操作就可以将每一训练样本信息存储至第一预设内存装置,进而转存至图形处理器进行处理,相对于现有技术需要频繁的信息读取操作,本技术实施例可以减少信息计算和读取,极大的提升了信息处理的效率。104.以下将举例作进一步详细说明。105.在本实施例中,将以该信息处理装置具体集成在服务器中为例进行说明。106.请参阅图3,图3为本技术实施例提供的信息处理方法的另一流程示意图。该方法流程可以包括:107.在步骤201中,服务器基于预设存储路径对存储装置进行扫描,将扫描到的文件以第一预设格式进行处理,得到第一预设格式的第一待处理文件。108.其中,本技术实施例中的服务器可以为使用云技术的云服务器,可以集成开源集群计算框架,例如spark引擎或者,该spark引擎为一种专为大数据处理设计的快速通用计算引擎,请一并参阅图4a所示,图4a为本技术实施例提供的开源集群计算框架的结构示意图。109.该应用层a可以包括结构化数据的程序包(sparksql)、流式计算的组件(sparkstreaming)、机器学习的程序库(mllib(machinelearning))和图操作和计算的工具集合(graphx),该结构化数据的程序包是spark用来操作结构化数据的程序包,通过该sparksql,可以使用sql方言来查询数据,该sparksql支持多种数据源,比如数据仓库工具(hive)表等。该流式计算的组件是spark提供的对实时数据进行流式计算的组件,提供了用来操作数据流的应用程序编程接口(applicationprogramminginterface,api)。该机器学习的程序库提供常见的机器学习功能的程序库,包括分类、回归、聚类、协同过滤等,还提供了模型评估、数据导入等额外的支持功能。该图操作和计算的工具集合为控制图、并行图操作和计算的一组算法和工具的集合。110.该核心数据计算层b可以包括开源集群计算框架的代码功能层(sparkcore),实现了spark的基本功能,包含任务调度、内存管理、错误恢复与存储系统交互等模块,该sparkcore中还包含了对弹性分布式数据集(resilientdistributeddatasets,rdd)的api定义。111.该资源调度层c可以包括本地运行模式、开源的通用资源管理系统(yarn)以及开源分布式资源管理框架(mesos)等等,用于进行资源管理。112.数据资源层d可以包括分布式文件系统(hadoopdistributedfilesystem,hdfs)或者分布式的、面向列的开源数据库(hbase)等等。113.可以通过上述的spark引擎实现分布式的对数据的获取或者训练处理,提供高效处理数据流的运算速度,且该spark支持多种开发语言的api,可以快速构建不同的应用。114.其中,该第一格式为tfrecords数据格式,该存储装置可以为磁盘,该预设存储路径可以用于专门存储训练样本信息的磁盘路径,例如d:\xl,服务器可以基于预设存储路径对存储装置进行扫描,将扫描到的文件以tfrecords数据格式进行解析,得到tfrecords数据格式的第一待处理文件。115.请一并参阅图4b所示,图4b为本技术实施例提供的信息处理方法的架构示意图,服务器通过单线程文件名扫描11实现基于预设存储路径对存储装置进行扫描,得到多个tfrecords数据格式的第一待处理文件。116.在步骤202中,服务器解析第一待处理文件,得到相应的特征名称,当检测到特征名称与预设特征表中存储的预设特征名称匹配时,获取特征名称对应明文信息,服务器将明文信息进行哈希转化,得到对应的哈希键值。117.其中,可以从第一预设格式的第一待处理文件(即tfrecords文件格式)中解析出特征名称,将相应的特征名称,例如,请一并参阅图4c所示,图4c为本技术实施例提供的训练样本信息的存储格式,该特征名称可以有身高、年龄、性别和学历。118.由于不同的深度学习模型需要用到的训练样本信息不同,以此,可以预先配置预设特征表,该预设特征表(table表)中可以存储有多个当前深度学习需要用到的训练样本信息的特征名称。例如,请一并参阅图4d所示,该预设特征表31可以包括age(年龄)、height(身高)、sexual(性别)和educationalbackground(学历)等特征。119.以此,可以解析该第一待处理文件,得到相应的特征名称,例如特征名称分别为身高、年龄、性别和学历,并检测特征名称与预设特征表(表1)中存储的预设特征名称是否匹配,检测到特征名称在预设特征表中预先已经存储,即检测到该特征名称与预设特征表中存储的预设特征名称匹配时,说明该特征名称为当前深度学习模型需要训练的训练样本信息,可以直接获取该特征名称对应的明文信息,并进行哈希转化,得到对应的哈希键值,例如将特征名称学历“本科”转化为哈希键值“1”。120.在步骤203中,统计每一包含哈希键值的训练样本信息的特征维度数目,将每一包含哈希键值的训练样本信息的特征信息和对应的特征维度数目进行组合,得到组合后的训练样本信息,基于组合后的训练样本信息生成第二预设格式的第二待处理文件。121.其中,可以统计每一包含哈希键值,即当前深度学习模型需要的训练样本信息的特征维度数目,该特征维度数目包含特征标识以及特征值数量,该特征标识即为包含表征的特征名称的数量,该特征值数量为包含特征值的总数,如图4c所示,特征标识可以为标签 年龄标识5 性别标识4 学历标识6的数量4,该特征值数量为身高4个值加年龄5个值加性别4个值以及学历6个值,可以得出特征维度数目e为23个。122.为了区别相关技术,可以将每一包含哈希键值的训练样本信息自身的特征信息,即图2b所示相关技术的csr的特征信息和对应的特征维度数目e23进行组合,得到组合后的训练样本信息,基于组合后的训练样本信息生成csr数据格式的第二待处理文件,由于每一组合后的训练样本信息均包含有特征维度数目,可以直接读取该特征维度数目以及特征维度数目表征的特征信息即可实现训练样本信息的输入/输出操作,极大的提升了信息处理的效率。123.在步骤204中,服务器读取第二待处理文件中每一训练信息的特征维度数目,根据特征维度数目确定读取数据量,基于读取数据量读取特征维度数目对应的特征信息,并将每一训练样本信息存储至第一预设内存装置。124.其中,请继续参阅图4b,服务器可以通过多线程(例如32个线程)数据解析22该第二待处理文件中每一待训练样本信息的特征维度数目,例如该特征维度数目可以为23个,由于该特征维度数目可以表征后续的整个特征信息,通过该特征维度数目可以确定后续需要读取数据量为23个数据,那么基于该读取数据量可以直接读取该特征维度数目对应的特征信息,实现只以两次读取即将整个训练样本信息存储至第一预设内存装置。125.在步骤205中,服务器将第一预设内存装置中的每一训练样本信息进行随机化处理。126.其中,请一并参阅图4b和图4e,图4e为本技术实施例提供的信息处理方法的另一场景示意图,该第一预设内存装置可以设置为shuffle内存,该shuffle内存可以实现shuffle方法,即实现数据打乱23,该shuffle内存可以包括10个内存块,每一内存块可以存储100个batch的样本,该batch的尺寸(size)可以为任意设置,例如还可以为50个,即将shuffle内存中的每一内存块以及内存块中存储的训练样本信息随机打乱,在相关技术中,正样本和负样本都是连续的,会导致训练的深度学习模型不鲁棒,识别的准确率会比较低。以此,本技术实施例通过shuffle方法将第一预设内存装置中的正样本和负样本的分布打乱,如图4d所示,可以将0、1、2、3、4、5、6、7、8、9的内存块打乱为1、2、0、4、7、9、6、3、8、5的内存块的顺序,并且将每一内存块中存储的100个batch的训练样本信息也打乱,实现正负样本均匀分布。127.进一步的,内存块的顺序为1、2、0、4、7、9、6、3、8、5时,全局变量index指针仍然按照顺序依次遍历,即按照打乱后的顺序依次读取1、2、0、4、7、9、6、3、8、5内存块,以及每一内存块中的打乱后的训练样本信息,即index=1时,可以实现对内存块1的访问,index为2时,可以实现对内存块2的访问,以此类推,此处不作具体赘述。128.由于本技术实施例为多线程数据解析,即在index位置的内存块,可能同时存在多线程抢占该处的内存块,为了实现数据保护,可以加入锁(lock)机制,即可以通过全局变量index决定目前是哪个内存块读或者存训练样本信息,可以通过全局变量index为每个线程赋值局部变量last_index,该index=last-_index,按照线程接收到局部变量last_index的时间先后顺序执行对该index对应的内存块执行读或者存训练样本信息,以此,实现对特定内存块加入锁机制,在index对应的内存块中的训练样本信息读出以及存入完成后,全局变量index自动加1,实现解锁,参考代码可以为:[0129][0130]在一实施方式中,在该index=10、20等10的倍数时候,自动执行shuffle方法,重复实现数据打乱23,以保证正负样本持续的均匀分布。[0131]在步骤206中,服务器从第二预设内存装置的第一队列中选取第一标识,确定第一标识对应的第一目标内存块,基于随机化处理后的第一预设内存装置中依次选取训练样本信息存储至第一目标内存块中,当检测到第一目标内存块中不存在剩余存储空间时,将第一标识由第一队列放入第二队列。[0132]其中,请继续参阅图4b所示,可以设置作为中间缓存状态的第二预设内存装置24,该第二预设内存装置中可以包含6个内存块,即0内存块、1内存块至5内存块,该数字0至5为内存块对应的id(即标识)。[0133]需要说明的是,本技术实施例可以由有34个线程组成,一个线程做单线程文件名扫描,32个线程做数据解析22,一个线程做gpucollect(收集)数据,即实现gpu数据收集器25的功能,以此,如果如图2c所示,根据内存队列15的id顺序从对应的内存块中读取训练样本信息,那么假设某一内存块存储速度比较慢,单线程会一直等待该内存块存储完毕再进行读取,会造成堵塞,使得信息处理速度下降。[0134]所以本技术实施例可以设置第二预设内存装置24中包括第一队列241以及第二队列242,该第一队列241可以为empty(空)队列,该第一队列241中可以存储目前没有任何训练样本信息的内存块对应的id。该第二队列242可以为full(满)队列,该第二队列242中可以存储目前存储状态为满,即不存在剩余存储空间的内存块对应的id。[0135]以此,请结合图4f所示进行参考,服务器可以从第二预设内存装置24的第一队列241中选取第一标识(即内存块id),该第一标识可以为0或者2,说明该0内存块或者2内存块中目前没有存储任何训练样本信息,基于随机化处理后的第一预设内存装置中依次选取训练样本信息存储至该0内存块或者2内存块中(即将数据写入对应id的内存块中)。[0136]进一步的,当检测到第一目标内存块中不存在剩余空间时,说明该第一目标内存块中的batch已经填充满,即无法存储更多的训练样本信息,需要将该第一标识由第一队列241改成至第二队列242(即full队列中放入内存块id,mask【id】设为true)。[0137]在步骤207中,服务器从第二预设内存装置的第二队列中选取第二标识,确定第二标识对应的第二目标内存块,从第二目标内存块中的训练样本信息转存至图像处理器中进行处理,当检测到第二目标内存块中不存在训练样本信息时,将第二标识由第二队列放入第一队列。[0138]其中,请继续参阅图4b和图4f所示,服务器可以从第二预设内存装置24的第二队列242中选取第二标识(即从full队列中取出内存块id,mask【id】设置为false),该第二标识可以为1、5、3和4,说明对应的第二目标内存块242中不存在剩余存储空间,即1内存块、5内存块、3内存块或者4内存块中不存在剩余存储空间,可以将该的1内存块、5内存块、3内存块或者4内存块中任一内存块中的训练样本信息转存至图像处理器(即数据从对应id的内存块中读出)。[0139]进一步的,当检测到第二目标内存块中不存在训练样本信息,即该第二目标内存块为空时,说明该第二目标内存块中的batch已经清空,需要将该第二标识由第二队列242改成至第二队列241(即将empty队列中放入内存块id),以此,为gpu做数据收集的线程可以根据第二队列242中存储的第二标识,随时找到目前存储状态为满的内存块将训练样本信息读取到gpu,实现gpu数据收集器25的数据收集,使得该线程不会出现阻塞,进一步的提升了信息处理的效率。[0140]以此,通过支持tfrecord格式,可以适配特征工程(可无缝适配),并将tfrecord格式的文件改进为csr格式的文件,减少io数据的频繁读取次数,从而提升cpu和gpu的利用率。其次改进内存块的设计,支持更多线程并发解析数据,占用内存更小,同时防止单个线程解析卡住导致整个流程卡死的问题。并通过添加shuffle功能,能够使得数据分布更加均匀,这样训练精度更高。[0141]由上述可知,本技术实施例通过获取第一预设格式的第一待处理文件;解析第一待处理文件,将第一待处理文件转化为第二预设格式的第二待处理文件;读取第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置;将第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。以此,通过在训练样本信息增设特征维度数目,通过特征维度数据可以快速确定对应的特征信息,只需要两次的读取操作就可以将每一训练样本信息存储至第一预设内存装置,进而转存至图形处理器进行处理,相对于现有技术需要频繁的信息读取操作,本技术实施例可以减少信息计算和读取,极大的提升了信息处理的效率。[0142]进一步的,由于通过第一队列和第二队列来标记空内存块和满载内存块,使得线程可以根据存储状态快速进行处理,避免阻塞,更好的提升了信息处理的效率。[0143]为便于更好的实施本技术实施例提供的信息处理方法,本技术实施例还提供一种基于上述信息处理方法的装置。其中名词的含义与上述信息处理方法中相同,具体实现细节可以参考方法实施例中的说明。[0144]请参阅图5,图5为本技术实施例提供的信息处理装置的结构示意图,其中该信息处理装置可以包括获取单元301、解析单元302、存储单元303及读取单元304等。[0145]获取单元301,用于获取第一预设格式的第一待处理文件。[0146]在一些实施例中,该获取单元301,用于:[0147]基于预设存储路径对存储装置进行扫描;[0148]将扫描到的文件以第一预设格式进行处理,得到第一预设格式的第一待处理文件。[0149]在一些实施例中,该获取单元302,还用于:[0150]通过分布式文件系统下载该第一预设格式的第一待处理文件。[0151]解析单元302,用于解析该第一待处理文件,将该第一待处理文件转化为第二预设格式的第二待处理文件,该第二待处理文件中包含多个训练样本信息,该训练样本信息由基于特征维度统计生成的特征维度数目和对应的特征信息组成。[0152]在一些实施例中,该解析单元302,包括:[0153]解析子单元,用于解析该第一待处理文件,得到相应的特征名称;[0154]获取子单元,用于当检测到该特征名称与预设特征表中存储的预设特征名称匹配时,获取该特征名称对应明文信息;[0155]转化子单元,用于将该明文信息进行哈希转化,得到对应的哈希键值;[0156]生成子单元,用于根据包含哈希键值的训练样本信息生成第二预设格式的第二待处理文件。[0157]在一些实施例中,该生成子单元,用于:[0158]统计每一包含哈希键值的训练样本信息的特征维度数目,该特征维度数目包含特征标识以及特征值数量;[0159]将每一包含哈希键值的训练样本信息的特征信息和对应的特征维度数目进行组合,得到组合后的训练样本信息;[0160]基于组合后的训练样本信息生成第二预设格式的第二待处理文件。[0161]存储单元303,用于读取该第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置。[0162]在一些实施例中,该存储单元303,用于:[0163]读取该第二待处理文件中每一训练样本信息的特征维度数目;[0164]根据该特征维度数目确定读取数据量;[0165]基于该读取数据量读取该特征维度数目对应的特征信息,并将每一训练样本信息存储至第一预设内存装置。[0166]读取单元304,用于将该第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。[0167]在一些实施例中,该读取单元304,包括:[0168]随机子单元,用于将该第一预设内存装置中的每一训练样本信息进行随机化处理;[0169]存储子单元,用于从随机化处理后的第一预设内存装置中依次选取训练样本信息存储至第二预设内存装置;[0170]读取子单元,用于将该第二预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。[0171]在一些实施例中,该第二预设内存装置中包括第一队列以及第二队列,该存储子单元,用于:[0172]从第二预设内存装置的第一队列中选取第一标识;[0173]确定该第一标识对应的第一目标内存块;[0174]基于随机化处理后的第一预设内存装置中依次选取训练样本信息存储至该第一目标内存块中;[0175]当检测到该第一目标内存块中不存在剩余存储空间时,将该第一标识由第一队列放入第二队列。[0176]在一些实施例中,该读取子单元,用于:[0177]从该第二预设内存装置的第二队列中选取第二标识;[0178]确定该第二标识对应的第二目标内存块;[0179]从该第二目标内存块中的训练样本信息转存至图像处理器中进行处理;[0180]当检测到该第二目标内存块中不存在训练样本信息时,将该第二标识由第二队列放入第一队列。[0181]以上各个单元的具体实施可参见前面的实施例,在此不再赘述。[0182]由上述可知,本技术实施例通过获取单元301获取第一预设格式的第一待处理文件;解析单元302解析第一待处理文件,将第一待处理文件转化为第二预设格式的第二待处理文件;存储单元303读取第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置;读取单元304将第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。以此,通过在训练样本信息增设特征维度数目,通过特征维度数据可以快速确定对应的特征信息,只需要两次的读取操作就可以将每一训练样本信息存储至第一预设内存装置,进而转存至图形处理器进行处理,相对于现有技术需要频繁的信息读取操作,本技术实施例可以减少信息计算和读取,极大的提升了信息处理的效率。[0183]本技术实施例还提供一种服务器,如图6所示,其示出了本技术实施例所涉及的服务器的结构示意图,具体来讲:[0184]该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图6中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:[0185]处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监测。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。[0186]存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。[0187]服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。[0188]该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。[0189]尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:[0190]获取第一预设格式的第一待处理文件;解析该第一待处理文件,将该第一待处理文件转化为第二预设格式的第二待处理文件,该第二待处理文件中包含多个训练样本信息,该训练样本信息由基于特征维度统计生成的特征维度数目和对应的特征信息组成;读取该第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置;将该第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。[0191]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对信息处理方法的详细描述,此处不再赘述。[0192]由上述可知,本技术实施例的服务器可以通过获取第一预设格式的第一待处理文件;解析第一待处理文件,将第一待处理文件转化为第二预设格式的第二待处理文件;读取第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置;将第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。以此,通过在训练样本信息增设特征维度数目,通过特征维度数据可以快速确定对应的特征信息,只需要两次的读取操作就可以将每一训练样本信息存储至第一预设内存装置,进而转存至图形处理器进行处理,相对于现有技术需要频繁的信息读取操作,本技术实施例可以减少信息计算和读取,极大的提升了信息处理的效率。[0193]本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。[0194]为此,本技术实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本技术实施例所提供的任一种信息处理方法中的步骤。例如,该指令可以执行如下步骤:[0195]获取第一预设格式的第一待处理文件;解析该第一待处理文件,将该第一待处理文件转化为第二预设格式的第二待处理文件,该第二待处理文件中包含多个训练样本信息,该训练样本信息由基于特征维度统计生成的特征维度数目和对应的特征信息组成;读取该第二待处理文件中每一训练样本信息的特征维度数目以及对应的特征信息,并将每一训练样本信息存储至第一预设内存装置;将该第一预设内存装置中的每一训练样本信息读取至图形处理器中进行处理。[0196]其中,该计算机可读存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。[0197]由于该计算机可读存储介质中所存储的指令,可以执行本技术实施例所提供的任一种信息处理方法中的步骤,因此,可以实现本技术实施例所提供的任一种信息处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。[0198]根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例提供的各种可选实现方式中提供的方法。[0199]以上对本技术实施例所提供的一种信息处理方法、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献