模型训练

模型训练的目的是使用生成的训练数据进行神经网络模型训练,根据设置参数,不断地对模型迭代评估,以得到可用的神经网络模型。

SuperMap 内置了 TensorFlow、Pytorch 等开源框架,结合不同的数据集类别对机器学习或深度学习模型进行训练,整体训练过程通过多次迭代(epoch)的方式来得到训练结果更优的网络模型,同时在训练模型中使用基于大规模基础训练数据的预训练模型,减少训练时间,通过超参数调优(学习率、Batchsize等)提升模型训练效率和准确度。桌面端训练工具适用于短周期模型训练。

主要参数

  1. 功能入口工具箱->机器学习->影像分析->模型训练工具。
  2. 训练数据路径:选择通过生成训练数据工具的结果文件夹,即影像、标签训练数据所在文件夹。
  3. 训练模型用途:提供目标检测、二元分类、地物分类、场景分类、对象提取、通用变化检测六种用途。
  4. 模型算法:根据模型用途选择合适的模型算法。默认值为根据不同用途推荐的算法,用户可自行更改或选择自定义算法
  5. 训练配置文件:训练需要的训练配置文件(*.sdt),该参数需与模型算法中选择的算法匹配。如果选择产品内置的算法,该参数会根据算法自动匹配 resources_ml/train_config 中的配置文件;如选择自定义算法,用户需选择自定义算法对应的训练配置文件。
  6. 训练次数:所有训练数据参与模型训练的次数(epoch),默认值为 10。随着训练次数的增多,模型拟合度越大,次数太多可能会出现过拟合的情况,用户可根据需求选择,训练次数与运行花费时间成正比。
  7. 单步运算量:一次训练中单步运算的图片数量(batch size),默认值为1。在合理范围内,单步运算的数量与内存(显存)占用成正比,与训练时间成反比。
  8. 学习率:可选参数,用于确定模型参数的更新幅度(learning rate)。学习率过大,会导致待优化参数在最小值附近波动;学习率过小,会导致收敛速度过慢。如用户不填写则使用内置的学习率开始训练。
  9. 训练日志路径:用于设置训练日志存储路径,需选择一个空文件夹,该路径下会生成多个文件夹。
  10. 加载预训练模型:若勾选该选项,可基于预训练模型(.sdm)进行迁移学习,会在预训练模型基础上进行训练。注意:前后两次训练需要训练数据的尺寸、类别和用途相同。
  11. 处理器类型:可以使用计算机中央处理器 (CPU) 或图形处理单元 (GPU) 来处理数据。GPU具有较快的计算速度。
  12. GPU编号: 如果有多个 GPU,可以指定用于处理数据的 GPU 标识号。默认值为 0。如使用多GPU进行训练,各GPU编号需要使用“,”隔开,如1,3
  13. 结果数据:设置模型存储路径及模型名称。

相关内容

机器学习环境配置

生成训练数据

目标检测

二元分类

地物分类

场景分类

对象提取

通用变化检测

对象提取