You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CloudWatch将SageMaker默认指标图横轴从时间改为Epoch

如何在Amazon SageMaker中让CloudWatch指标图表横轴显示Epoch而非时间?

问题描述

使用Amazon SageMaker训练机器学习模型时,发现CloudWatch默认将准确率、损失等指标按时间维度绘制图表,希望改为按Epoch(训练轮次)绘制。当前的metric_definitions定义如下:

metric_definitions=[
    {'Name':'train:loss', 'Regex':'train_loss=(.*?)]'},
    {'Name':'validation:loss', 'Regex':'val_loss=(.*?),'},                    
],

解决方案

1. 修改训练脚本与metric_definitions,捕获Epoch指标

首先需要让训练日志输出当前的Epoch编号,同时在metric_definitions中添加规则捕获Epoch数值:

  • 在训练循环中,每轮输出包含Epoch的日志(以PyTorch为例):
    for epoch in range(num_epochs):
        # 执行训练、验证步骤,计算train_loss、val_loss
        print(f"epoch={epoch}, train_loss={train_loss}, val_loss={val_loss}]")
    
  • 更新metric_definitions,添加Epoch的捕获规则:
    metric_definitions=[
        {'Name':'train:loss', 'Regex':'train_loss=(.*?)]'},
        {'Name':'validation:loss', 'Regex':'val_loss=(.*?),'},
        {'Name':'train:epoch', 'Regex':'epoch=(.*?),'}  # 新增:匹配日志中的epoch数值
    ],
    

2. 在CloudWatch中切换横轴为Epoch

训练完成后,进入CloudWatch控制台操作:

  • 找到对应训练任务的指标组,选中train:loss、validation:loss和train:epoch指标
  • 在图表设置区域,将横轴从默认的「时间」切换为「指标」,选择train:epoch作为横轴字段
  • 调整图表配置,即可看到损失等指标按Epoch轮次绘制的图表

内容的提问来源于stack exchange,提问作者Eliya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 09:10:50