繁体   English   中英

如何打印来自 Sagemaker 培训的调试信息?

[英]How do I print debugging info from Sagemaker training?

我有一个 jupyter notebook 脚本,它只是启动一个训练脚本,大概是在一个 docker 容器中。

我在该训练脚本中添加了一些打印语句,但它没有显示在笔记本或 CloudWatch 中。

我正在使用常规的 print() 语句。 我应该如何从训练脚本中记录调试?

当 Python 尝试缓冲 stdout 时,我已经看到了这一点,这并不总是与 Docker 配合得很好——将 ENV PYTHONUNBUFFERED=1 添加到你的 Dockerfile(然后重建图像)将解决这个问题,如果这是原因的话。

您可以在 AWS CloudWatchLogs 上找到日志。 转到 Sagemaker 仪表板上的培训工作,选择您要查找的培训工作。 在那里你会找到一个选项'view_logs'。 它会将您定向到 Cloudwatch 日志。

希望这可以帮助!

根据https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html,“Docker容器可能会将消息发送到 Stdout 和 Stderr 文件。Amazon SageMaker 将这些消息发送到您的 Amazon CloudWatch 日志中AWS 账户”。 所以 print() 应该适用于你的情况。 您是否检查过更改训练脚本后是否更新了 docker 镜像?

对于普通的 python 打印,您可以手动刷新 std

print("My Message", flush=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM