同步操作将从 MindSpore Lab/mindocr 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
训练策略可在模型YAML配置文件中进行配置。请在设置后运行tools/train.py
脚本进行训练
train:
gradient_accumulation_steps: 2
clip_grad: True
clip_norm: 5.0
ema: True
ema_decay: 0.9999
梯度累积可以有效解决显存不足的问题,使得在同等显存,允许使用更大的全局batch size进行训练。可以通过在yaml配置中将train.gradient_accumulation_steps
设置为大于1的值来启用梯度累积功能。
等价的全局batch size为:
global_batch_size = batch_size * num_devices * gradient_accumulation_steps
梯度裁剪通常用来缓解梯度爆炸/溢出问题,以使模型收敛更稳定。可以通过在yaml配置中设置train.clip_grad
为True
来启用该功能,调整train.clip_norm
的值可以控制梯度裁剪范数的大小。
Exponential Moving Average(EMA)是一种平滑模型权重的模型集成方法。它能帮助模型在训练中稳定收敛,并且通常会带来更好的模型性能。
可以通过在yaml配置中设置train.ema
为True
来使用该功能,并且可以调整train.ema_decay
来控制权重衰减率,通常设置为接近1的值.
断点续训通常用于训练意外中断时,此时使用该功能可以继续从中断处epoch继续训练。可以通过在yaml配置中设置model.resume
为True
来使用该功能,用例如下:
model:
resume: True
默认情况下,它将从
train.ckpt_save_dir
目录中保存的train_resume.ckpt
恢复。
如果要使用其他epoch用于恢复训练,请在resume
中指定epoch路径,用例如下:
model:
resume: /some/path/to/train_resume.ckpt
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。