训练状态监控
前提条件
完成训练前配置检查。
操作步骤
- 以执行权重梯度监控功能为例,创建配置文件。
- 在训练脚本中添加工具,如下所示。
- MindSpore训练场景:
完整代码请参见MindSpore训练状态监控代码样例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
... from msprobe.mindspore import TrainerMon monitor = TrainerMon( config_file_path="./monitor_config.json", process_group=None, params_have_main_grad=True, # 权重是否使用main_grad,通常megatron为True,deepspeed为False。默认为True。 ) ... model = Net() optimizer = nn.Momentum(model.trainable_params(), 1, 0.9) # 挂载监控对象 monitor.set_monitor( model, grad_acc_steps=1, optimizer=optimizer, dp_group=None, tp_group=None) ...
- PyTorch训练场景:
完整代码请参见PyTorch训练状态监控代码样例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 import torch_npu 25 from torch_npu.contrib import transfer_to_npu 26 27 monitor = TrainerMon( 28 config_file_path="./monitor_config.json", 29 params_have_main_grad=False, # 权重是否使用main_grad,通常megatron为True,deepspeed为False。默认为True。 30 ) ... 333 # switch to train mode 334 model.train() 335 336 # 挂载监控对象 337 monitor.set_monitor( 338 model, 339 grad_acc_steps=1, 340 optimizer=optimizer, 341 dp_group=None, 342 tp_group=None, 343 start_iteration=0 # 断点续训时提供当前iteration,默认从0开始 344 ) ...
- MindSpore训练场景:
- 执行训练脚本命令。
- MindSpore训练场景:
python mindspore_main.py
- PyTorch训练场景:
python pytorch_main.py -a resnet50 -b 32 --gpu 1 --dummy
- MindSpore训练场景:
- 查看结果。
父主题: 模型精度调试