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

如何通过自定义CloudWatch日志调试SageMaker Pipeline

在SageMaker Pipeline中输出自定义日志

是的,完全可以在SageMaker Pipeline的步骤中输出自定义日志,CloudWatch会自动捕获这些内容,以下是不同步骤类型的实现方式:

1. ProcessingStep(处理步骤)

如果使用SageMaker Processing容器,直接在处理脚本(如Python脚本)里用print()输出,或通过logging模块打印:

import logging

# 配置日志基础设置
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

# 输出自定义日志内容
print("Processing流程启动:开始加载数据集")
logger.info("数据集加载完成,共读取1200条样本")
logger.error("数据校验失败:样本缺少必填字段'user_id'")

这些内容会被同步到对应ProcessingJob的CloudWatch日志流中。

2. TrainingStep(训练步骤)

训练脚本中同样可以用print()或logging模块输出自定义日志:

import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

# 训练过程中输出关键节点日志
print("Epoch 3 训练启动")
logger.info("Epoch 3 训练损失:0.32")
logger.warning("验证集准确率下降,当前值为0.87")

训练日志会出现在对应TrainingJob的CloudWatch日志组内。

3. 自定义脚本步骤(如ScriptProcessor)

若使用ScriptProcessor运行自定义脚本,确保脚本的标准输出/错误未被重定向,直接打印的内容会被CloudWatch捕获。例如shell脚本:

echo "预处理脚本启动"
echo "正在处理目标文件:raw_data.csv"

关键注意事项

  • 合理设置日志级别,避免冗余日志的同时,确保关键错误信息不被遗漏
  • 不要将日志输出到容器本地文件,直接使用标准输出/错误流,才能被CloudWatch正常捕获
  • Pipeline步骤无需额外配置日志捕获,SageMaker默认会同步步骤的所有标准输出/错误到CloudWatch

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 15:39:19