模型训练

使用说明

模型训练的目的是使用生成的训练数据进行神经网络模型训练。整体训练过程通过多次迭代(epoch)的方式来得到训练结果更优的网络模型,同时,通过超参数调优(学习率、单步运算量等)可提升模型训练效率和准确度,以得到可用的神经网络模型。
此外,也可以使用少量的样本数据对预训练模型进行微调,使模型更好地适应具体应用场景,同时减少训练时间。

参数说明

  • 训练数据路径:选择生成的训练数据文件夹。
  • 训练模型用途:选择训练数据路径后自动匹配。
  • 模型算法:根据模型用途选择合适的模型算法,会自动选择最推荐算法,用户可根据需要自行选择。该参数默认为“自定义”则表示resources_ml资源包未配置成功。在加载预训练模型的情况下,模型算法将以预训练模型为准自动匹配。
  • 训练配置文件:选择训练需要的算法配置文件(*.sdt),该文件记录部分训练过程中用到的超参数,如骨干网络结构和骨干网络权重等。当模型算法参数选择某一网络结构时,该参数会自动选择默认路径(resources_ml/trainer_config)中的训练配置文件;当模型算法参数选择“自定义”时,可选择自定义路径中的训练配置文件。
  • 训练次数:所有训练数据参与模型训练的次数(Epoch)。随着训练次数的增多,模型拟合度越大但可能过拟合。运行花费时间与训练次数成正比。默认值为10,用户可根据需求选择。
  • 单步运算量:一次训练中单步运算的图片数量(Batch Size)。多个图片组成的一份训练数据称之为一个Batch,每个Batch所含的图片数量称为Batch Size。适当增大单步运算量,可以提升训练效率和模型精度,但其受推理设备显存(GPU训练)或者内存(CPU训练)大小的限制。默认值为1,用户需要根据配置选择。
  • 学习率:表示模型参数的更新幅度(Learning Rate),可根据需要和经验设置。若难以确定合适的学习率,可不填写该参数,产品内设了基准学习率和基准单步运算量,将根据用户设置的单步运算量使用线性缩放后的学习率。
  • 训练日志路径:用户设定的训练日志存储路径,该路径下会生成多个文件夹。需要选择一个空文件夹。
  • 加载预训练模型:若勾选该选项,则需要选择预训练模型的模型文件(.sdm)并选择微调方法,工具将基于预训练模型进行迁移学习。模型算法为SegFormer和Mask2Former时,微调方法可选全量微调和LoRA微调,其他模型算法仅支持全量微调。LoRA微调适用于大参数量模型的高效迁移训练,降低大参数量模型迁移学习资源消耗。
注意事项:
  • 若预训练模型是Mask2Former二元分类或地物分类模型,则训练数据的分类体系(包括类别数量和类别顺序)可以与预训练模型不同,支持地物分类模型迁移至二元分类模型。但训练数据尺寸、影像波段数、影像波段顺序需要与预训练模型一致。
  • 若预训练模型是Mask2Former之外的其他模型,则训练数据尺寸、分类体系、影像波段数、影像波段顺序、训练模型用途需要与预训练模型一致。
  • 处理器类型:可以使用计算机中央处理器(CPU)或图形处理单元(GPU)来处理数据。GPU具有较快的计算速度。
  • GPU编号:指定用于处理数据的GPU标识号,默认值为0,CPU推理固定为-1。若使用GPU推理,需要在系统命令行中通过“nvidia-smi”命令查询GPU编号,GPU编号以查询到的结果为准,如果有多个GPU,可以指定用于处理数据的GPU标识号。若需要使用多个GPU,请使用英文逗号“,”隔开,如:“0,2,3”,表示使用编号为0、2、3的GPU。
  • 模型存储路径:指定模型保存路径。
  • 模型名:指定模型名称。

相关主题

训练数据生成

继续训练

模型评估