一种用于深度学习框架的数据处理方法及系统技术方案

技术编号:35750042 阅读:20 留言:0更新日期:2022-11-26 18:55
本发明专利技术涉及计算机技术领域,提出一种用于深度学习框架的数据处理方法及系统,其中由多个数据变换模块执行数据变换操作,所述数据变换操作包括:读取输入数据中的数据字典;对所述数据字典中具有操作字段的数据进行数据变换;以及返回具有数据变换后的数据的数据字典。本发明专利技术为数据变换模块提供统一的接口使得数据变换模块通过统一的方式执行数据变换操作,使得任意两个数据变换模块之间均可以首尾相连,组成数据处理流程,而不必针对每一种数据类型组织单独的数据处理流程。据类型组织单独的数据处理流程。据类型组织单独的数据处理流程。

【技术实现步骤摘要】
一种用于深度学习框架的数据处理方法及系统


[0001]本专利技术总的来说涉及计算机
具体而言,本专利技术涉及一种用于深度学习框架的数据处理方法及系统。

技术介绍

[0002]深度学习框架在迭代神经网络时通常包括下列步骤:数据处理、神经网络前向计算、反向计算网络参数梯度以及更新网络参数,其中数据处理是将数据从存储设备读取到内存并处理成神经网络要求的输入格式、神经网络前向计算是将数据处理的输出作为输入并逐层计算网络的输出、反向计算网络参数梯度使用反向传播算法根据前向计算的输出计算参数的梯度、更新网络参数则用优化算法更新参数。
[0003]传统的数据处理方法,例如TorchVision工具集提供的数据变换模块在进行数据处理时,通过对模块类的调用接口进行重载,并且使用Compose模块将一系列数据变换模块组成数据变换流程。
[0004]然而在深度学习框架的数据处理阶段,根据任务类型、数据场景的不同,神经网络所需要接受的训练数据和测试数据各有不同,而传统的数据处理方法没有统一数据变换模块之间的接口。例如处理图像的模块只接收图像参数,因此在组织数据变换流程时,需要为每一种需要处理的数据类型单独提供一系列数据变换模块。并且为了保证数据变换流程中模块间的衔接,数据变换模块之间无法传递一些必要的信息,降低了数据变换模块的功能和灵活性。
[0005]因此需要提出一种统一的、可扩展的数据处理模块,处理包含各种类型数据的输入,并能够将输入组织为神经网络训练和测试所需要的数据。

技术实现思路

[0006]为至少部分解决现有技术中的上述问题,本专利技术提出一种用于深度学习框架的数据处理方法,其特征在于,由多个数据变换模块执行数据变换操作,所述数据变换操作包括:
[0007]读取输入数据中的数据字典;
[0008]对所述数据字典中具有操作字段的数据进行数据变换;以及
[0009]返回具有数据变换后的数据的数据字典。
[0010]在本专利技术一个实施例中规定,所述数据处理方法包括下列步骤:
[0011]将多个所述数据变换模块串联;
[0012]由所述数据变换模块通过所述数据变换操作执行下列各项数据处理动作的其中之一:更新数据、删除数据以及添加数据;以及
[0013]由所述数据变换模块将执行所述数据处理动作后的数据封装为神经网络输入格式。
[0014]在本专利技术一个实施例中规定,所述操作字段包括图像字段、分类标签字段以及检
测框字段。
[0015]在本专利技术一个实施例中规定,所述数据变换模块执行随机行为操作,其中在所述数据变换模块中构造上下文管理器以及方法包装器以执行所述随机行为操作。
[0016]在本专利技术一个实施例中规定,执行所述随机行为操作包括:
[0017]通过所述上下文管理器执行下列动作:
[0018]在进入所述上下文管理器包裹的代码段时,在数据变换实例上将标识属性设置为真,其中所述标识属性表示启用固定随机行为;
[0019]以及
[0020]在离开所述上下文管理器包裹的代码段时,在所述数据变换实例上将所述标识属性设置为假;以及
[0021]由所述方法包装器执行下列操作:
[0022]检测所述数据变换实例的标示属性,其中当所述标示属性为假时,执行原操作并且清除缓存容器中的结果;以及
[0023]当所述标识属性为真时,检测所述数据变换实例的缓存容器,其中当没有缓存容器或者所述缓存容器中无结果时执行原操作,并且将返回值存储在缓存容器中,当所述缓存容器中存在结果时返回所述缓存容器中的结果。
[0024]在本专利技术一个实施例中规定,所述数据处理方法还包括构造数据变换模块包装器以增强所述数据变换模块的功能,其中包括:
[0025]构造字段映射包装器,其中所述数据变换模块通过所述字段映射包装器对数据字典中的字段进行映射;
[0026]构造多目标扩展包装器,其中所述数据变换模块通过所述多目标扩展包装器将数据变换操作应用至多个操作字段;
[0027]构造随机选择包装器,其中所述数据变换模块通过所述随机选择包装器随机选择多个数据处理动作的其中之一对数据进行处理;以及
[0028]构造随机执行包装器,其中所述数据变换模块通过所述随机执行包装器以可设置的概率执行或不执行数据变换操作。
[0029]本专利技术还提出一种用于深度学习框架的数据处理系统,其运行所述数据处理方法,其中所述数据处理系统包括:
[0030]多个数据变换模块,所述多个数据变换模块之间相互串联,并且所述数据变换模块被配置为执行下列动作:
[0031]通过数据变换操作执行下列各项数据处理动作的其中之一:更新数据、删除数据以及添加数据;以及
[0032]将执行所述数据处理动作后的数据封装为神经网络输入格式;
[0033]其中所述数据变换操作包括:
[0034]读取输入数据中的数据字典;
[0035]对所述数据字典中具有操作字段的数据进行数据变换;以及
[0036]返回具有数据变换后的数据的数据字典。
[0037]在本专利技术一个实施例中规定,所述数据变化模块包括:
[0038]上下文管理器以及方法包装器,所述上下文管理器以及方法包装器被配置为执行
随机行为操作;
[0039]字段映射包装器,其被配置为对数据字典中的字段进行映射;
[0040]多目标扩展包装器,其被配置为将数据变换操作应用至多个操作字段;
[0041]构造随机选择包装器,其被配置为随机选择多个数据处理动作的其中之一对数据进行处理;以及
[0042]构造随机执行包装器,其被配置为以可设置的概率执行或不执行数据变换操作。
[0043]本专利技术还提出一种计算机系统,其包括:
[0044]处理器,其被配置为执行机器可执行指令;以及
[0045]存储器,其上存储有机器可执行指令,所述机器可执行指令在被处理器执行时执行根据所述方法的步骤。
[0046]本专利技术还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时执行根据所述方法的步骤。
[0047]本专利技术的技术方案所得出的数据变换模块可在深度学习的神经网络领域中用于实现如下技术效果:可以大幅减少各类数据处理人物例如视觉任务中冗余重复的数据变换代码,节省适配新任务所需要的时间,进而大大提节省了运算资源。其原理是通过为数据变换模块提供统一的接口使得数据变换模块通过统一的方式执行数据变换操作,使得任意两个数据变换模块之间均可以首尾相连,组成数据处理流程,而不必针对每一种数据类型组织单独的数据处理流程。并且由于数据变换模块的输出是一个字典容器类型,因而可以将数据处理过程中产生的额外信息保留下来,根据神经网络的需要直接取用,大大增强了数据处理模块的功能。此外由于数据处理模块的接口进行了统一并且输出是字典容器类型,因此可以提供一系列数据变换模块包装器,能够方便地本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于深度学习框架的数据处理方法,其特征在于,由多个数据变换模块执行数据变换操作,所述数据变换操作包括:读取输入数据中的数据字典;对所述数据字典中具有操作字段的数据进行数据变换;以及返回具有数据变换后的数据的数据字典。2.根据权利要求1所述的数据处理方法,其特征在于,包括下列步骤:将多个所述数据变换模块串联;由所述数据变换模块通过所述数据变换操作执行下列各项数据处理动作的其中之一:更新数据、删除数据以及添加数据;以及由所述数据变换模块将执行所述数据处理动作后的数据封装为神经网络输入格式。3.根据权利要求1所述的用于深度学习框架的数据处理方法,其特征在于,所述操作字段包括图像字段、分类标签字段以及检测框字段。4.根据权利要求2所述的数据处理方法,其特征在于,所述数据变换模块执行随机行为操作,其中在所述数据变换模块中构造上下文管理器以及方法包装器以执行所述随机行为操作。5.根据权利要求4所述的数据处理方法,其特征在于,执行所述随机行为操作包括:通过所述上下文管理器执行下列动作:在进入所述上下文管理器包裹的代码段时,在数据变换实例上将标识属性设置为真,其中所述标识属性表示启用固定随机行为;以及在离开所述上下文管理器包裹的代码段时,在所述数据变换实例上将所述标识属性设置为假;以及由所述方法包装器执行下列操作:检测所述数据变换实例的标示属性,其中当所述标示属性为假时,执行原操作并且清除缓存容器中的结果;以及当所述标识属性为真时,检测所述数据变换实例的缓存容器,其中当没有缓存容器或者所述缓存容器中无结果时执行原操作,并且将返回值存储在缓存容器中,当所述缓存容器中存在结果时返回所述缓存容器中的结果。6.根据权利要求5所述的数据处理方法,其特征在于,还包括构造数据变换模块包装器以增强所述数据变换模块的功能,其中包括:构造字段映射包装器,其中所述数据变换模块通过所述字段映射包装器对数据字典中的字段进行映射;构造多目标扩展包装器,其...

【专利技术属性】
技术研发人员:马泽润李亦宁杨逸飞柳源刘奎坤张文蔚吕成器郑淼陈恺
申请(专利权)人:上海人工智能创新中心
类型:发明
国别省市:

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

1