一种深度学习模型的选择方法、装置及设备制造方法及图纸

技术编号:35747978 阅读:24 留言:0更新日期:2022-11-26 18:53
本发明专利技术公开一种深度学习模型的选择方法,其对不同深度学习模型进行训练、验证及测试,对测试结果进行比较,选取符合预设条件的深度学习模型,其中,不同深度学习模型的训练、验证及测试均通过同一个执行器实现:首先通过执行器根据给定的深度学习算法构建所需的模块:模型、数据集、训练循环控制器、验证循环控制器、测试循环控制器以及钩子,然后根据预设的逻辑,调用训练循环控制器、验证循环控制器、或测试循环控制器以进行模型训练、验证或测试。由于无需针对不同深度学习算法开发专门的流程,而是通过调用相应的模块即可方便地实现多种深度学习算法,因此可以方便地比较不同算法的优劣,进而确定最合适的模型。进而确定最合适的模型。进而确定最合适的模型。

【技术实现步骤摘要】
一种深度学习模型的选择方法、装置及设备


[0001]本专利技术涉及计算机视觉
,特别涉及一种深度学习模型的选择方法、装置及设备。

技术介绍

[0002]基于深度学习框架进行模型训练、验证、测试时通常需要以下步骤:深度学习环境初始化、数据集读取、模型初始化、模型权重加载、优化器和参数调度器构建、在数据集上执行训练、验证、测试等循环。在实际应用中,不同的数据输入所采用的最优算法往往不同,因此,为了获取最优模型,通常需要对不同深度学习算法进行训练、验证及测试。
[0003]目前不同的深度学习算法往往都需要实现一套不同的训练、验证、测试流程,而没有统一的实现,导致不同深度学习算法库的代码中存在许多冗余。用户在使用多个深度学习算法的过程中也会遇到不同算法训练流程不同的障碍。

技术实现思路

[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]图1示出本专利技术一个实施例的一种深度学习模型的选择方法的流程示意图;
[0031]图2示出本专利技术一个实施例的执行器所构建模块的结构示意图;以及
[0032]图3a

3c示出本专利技术一个实施例的钩子点位示意图。
具体实施方式
[0033]以下的描述中,参考各实施例对本专利技术进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构或操作以免模糊本专利技术的专利技术点。类似地,为了解释的目的,阐述了特定数量和配置,以便提供对本专利技术的实施例的全面理解。然而,本专利技术并不限于这些特定细节。
[0034]在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本专利技术的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。
[0035]需要说明的是,本专利技术的实施例以特定顺序对方法步骤进行描述,然而这只是为了阐述该具体实施例,而不是限定各步骤的先后顺序。相反,在本专利技术的不同实施例中,可根据实际需求来调整各步骤的先本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种深度学习模型的选择方法,其特征在于,包括步骤:对不同深度学习模型进行训练、验证及测试,对测试结果进行比较,选取符合预设条件的深度学习模型,其中,所述不同深度学习模型的训练、验证及测试均通过同一个执行器实现,且任一深度学习模型的训练、验证及测试包括步骤:通过所述执行器根据给定的深度学习算法构建所需的模块,所述模块包括:模型、数据集、训练循环控制器、验证循环控制器、测试循环控制器以及钩子;以及根据预设的逻辑,调用所述训练循环控制器、验证循环控制器、或测试循环控制器以进行模型训练、验证或测试。2.如权利要求1所述的选择方法,其特征在于,所述模型训练包括:按预设的最大迭代轮次在数据集上反复迭代,并进行模型的前向推理和反向传播以及优化。3.如权利要求1所述的选择方法,其特征在于,所述验证包括:在预设时刻,对训练完成的模型进行验证,并输出验证集上的评价指标,所述执行器根据所述评价指标,在下一迭代轮次训练前对深度学习训练的超参数进行调整。4.如权利要求1所述的选择方法,其特征在于,所述测试包括:在预设时刻,对训练完成的模型进行测试,并输出测试集上的评价指标。5.如权利要求1所述的选择方法,其特征在于,还包括,通过所述钩子查询、修改或调用对应步骤的输入或输出参数,其中所述钩子设置于以下一个或多个步骤的前后:模块构建、训练、验证、测试、任一训练轮次、任一训练迭代、任一验证轮次、任一验证迭代、任一测试轮次、以及任一测试迭代。6.如权利要求1所述的选择方法,...

【专利技术属性】
技术研发人员:吕成器周再达叶浩晨张文蔚陈恺
申请(专利权)人:上海人工智能创新中心
类型:发明
国别省市:

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

1