System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别涉及一种数据处理方法、装置、设备及存储介质。
技术介绍
1、dali(data loading library,数据加载库)是一个用于高性能数据增强管道的开源库,可以加速计算机视觉和深度学习任务中的数据预处理过程。它提供了一种简单而高效的方式来处理输入数据,以减少数据处理瓶颈对模型训练和推理性能的影响。具体的操作是通过构建由预处理数据(可以是图片、音频等)需要的变换或者增强等操作构成的图模型,然后被处理的对象(图片、音频等)的个体通过图模型的所有节点的操作,完成预处理。
2、gpu(graphics processing unit,图像处理单元)加速计算是指同时利用图像处理单元和cpu(central processing unit,中央处理器),加快科学、分析、工程、消费和企业应用程序的运行速度。gpu加速计算可以提供非凡的应用程序性能,能将应用程序计算密集部分的工作负载转移到gpu,同时仍由cpu运行其余程序代码。从用户的角度来看,应用程序的运行速度明显加快。利用gpu加速应用程序的执行,目前已经越来越流行。由于dali支持gpu端的数据处理,因此可以使用gpu来大幅加快预处理的速度。
3、然而,在c++环境的dali的框架中,在初始化dali库之后,构建一个由特定图像处理算子序列所组成的图模型管道之后,启动该图模型的管道,然后直接读取并分配cpu的内存给存储在硬盘上的原始图像,然后由cpu传输给gpu,开始逐张对图像进行数据增强预处理,此时设置多卡运行,多线程参数之后,由于
技术实现思路
1、本专利技术实施例的目的在于提供一种数据处理方法、装置、设备及存储介质,解决现有的数据处理方法中设置多卡运行,多线程参数之后,由于待处理的图像是依次通过管道,所以处理较大数据集的时候依然耗时较大的问题,具体技术方案如下:
2、在本专利技术实施的第一方面,首先提供了一种数据处理方法,其特征在于,所述方法包括:
3、从已填充同步队列中获取装载有图像数据的多个填充样本对象;
4、通过多个所述填充样本对象携带的目标图像处理单元设备的唯一编号信息确定多个目标图像处理单元设备,其中,每一目标图像处理单元设备绑定若干目标数据加载库线程;
5、通过目标数据加载库线程读取数据加载库管道的配置文件,创建多个数据加载库管道,其中,一个目标数据加载库线程对应创建一个数据加载库管道;
6、将多个填充样本对象分别输入创建的多个数据加载库管道中,执行图像增强处理。
7、可选的,所述从已填充同步队列中获取装载有图像数据的多个填充样本对象之前,还包括:
8、在路径同步队列中存入待处理的图像路径;
9、确定执行操作的目标图像处理单元设备的第一数量;
10、设置第二数量的数据加载线程,其中,所述第二数量与所述第一数量之间对应成比例;
11、控制所述第二数量的数据加载线程从所述路径同步队列中依次抽取所述待处理的图像路径;
12、在检测到取出的待处理的图像路径中存在终止标识时,控制所述第二数量的数据加载线程停止从所述路径同步队列中继续抽取所述待处理的图像路径;
13、调用加载原始样本函数获取所述待处理的图像路径对应的原始图像数据;
14、调用加载原始样本函数获取所述待处理的图像路径中的关于原始图像的图像名称;
15、将所述原始图像数据和所述原始图像的图像名称加载至从空闲样本同步队列中取出的空闲样本对象,生成填充样本对象,其中,所述空闲样本对象是自定义的结构体,包含路径参数和数据参数,路径参数用于存储原始图像的图像名称,数据参数用于存储原始图像数据;
16、将所述填充样本对象存入已填充同步队列。
17、可选的,所述在路径同步队列中存入待处理的图像路径,包括:
18、获取第三数量的原始图像数据;
19、获取所述原始图像数据对应的待处理的图像路径;
20、将所述待处理的图像路径依次存入路径同步队列;
21、通过添加文件对存入路径同步队列的所述待处理的图像路径进行计数;
22、在确定计数结果与所述第三数量一致的情况下,通过添加文件为存入路径同步队列的所述待处理的图像路径上添加终止标识。
23、可选的,所述在检测到取出的待处理的图像路径中存在终止标识时,控制所述第二数量的数据加载线程停止从所述路径同步队列中继续抽取所述待处理的图像路径,包括:
24、获取抽取的所述待处理的图像路径的路径长度;
25、若所述路径长度不大于0,则确定抽取的所述待处理的图像路径为无效路径并控制所述数据加载线程从所述路径同步队列中重新抽取所述待处理的图像路径;
26、若所述路径长度大于0且所述待处理的图像路径中未携带终止标识,则确定抽取的所述待处理的图像路径为有效路径并控制下一数据加载线程从所述路径同步队列中抽取所述待处理的图像路径;
27、若所述路径长度大于0且所述待处理的图像路径中携带终止标识,则控制所述第二数量的数据加载线程停止从所述路径同步队列中继续抽取所述待处理的图像路径。
28、可选的,所述从已填充同步队列中获取装载有图像数据的填充样本对象之前,还包括:
29、初始化数据加载库的环境和操作符;
30、确定执行操作的目标图像处理单元设备和所述目标图像处理单元设备的第四数量;
31、设置第五数量的数据加载库线程,其中,所述第五数量与所述第四数量之间对应成比例;
32、为每一所述目标图像处理单元设备配置若干空闲样本对象并绑定若干数据加载库线程;
33、将所述空闲样本对象放入空闲样本同步队列,其中,所述空闲样本对象中携带目标图像处理单元设备的唯一编号信息。
34、可选的,所述将多个填充样本对象分别输入创建的多个数据加载库管道中,执行图像增强处理之后,还包括:
35、记录已处理的填充样本对象的第六数量;
36、在检测到所述第六数量等于所述第三数量的情况下,控制所述目标数据加载库线程停止从所述已填充同步队列中继续获取所述填充样本对象。
37、可选的,所述将多个填充样本对象分别输入创建的多个数据加载库管道中,执行图像增强处理,包括:
38、抽取所述填充样本对象的原始图像数据;
39、将所述原始图像数据输入创建的数据加载库管道中,执行图像增强处理;
40、所述将多个填充样本对象分别输入创建的多个数据加载库管道中,执行图像增强处理之后,还包括:
41、在确定图像增强处理完成的情况下,将所述填充样本对象中的原始图像的图像名称删除,生成新的空闲样本对象;
42、将新的空闲样本对象放入空闲样本同步队列。
43本文档来自技高网...
【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从已填充同步队列中获取装载有图像数据的多个填充样本对象之前,还包括:
3.根据权利要求2所述的方法,其特征在于,所述在路径同步队列中存入待处理的图像路径,包括:
4.根据权利要求2所述的方法,其特征在于,所述在检测到取出的待处理的图像路径中存在终止标识时,控制所述第二数量的数据加载线程停止从所述路径同步队列中继续抽取所述待处理的图像路径,包括:
5.根据权利要求1所述的方法,其特征在于,所述从已填充同步队列中获取装载有图像数据的填充样本对象之前,还包括:
6.根据权利要求3所述的方法,其特征在于,所述将多个填充样本对象分别输入创建的多个数据加载库管道中,执行图像增强处理之后,还包括:
7.根据权利要求1所述的方法,其特征在于,所述将多个填充样本对象分别输入创建的多个数据加载库管道中,执行图像增强处理,包括:
8.一种数据处理装置,其特征在于,包括:
9.一种通信设备,其特征在于,包括:收发机
10.一种可读存储介质,用于存储程序,其特征在于,所述存储程序被处理器执行时实现如权利要求1-7中任意一项所述数据处理方法中的步骤。
...【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从已填充同步队列中获取装载有图像数据的多个填充样本对象之前,还包括:
3.根据权利要求2所述的方法,其特征在于,所述在路径同步队列中存入待处理的图像路径,包括:
4.根据权利要求2所述的方法,其特征在于,所述在检测到取出的待处理的图像路径中存在终止标识时,控制所述第二数量的数据加载线程停止从所述路径同步队列中继续抽取所述待处理的图像路径,包括:
5.根据权利要求1所述的方法,其特征在于,所述从已填充同步队列中获取装载有图像数据的填充样本对象之前,还包括:<...
【专利技术属性】
技术研发人员:蔡宁,李柏宏,王少博,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。