我有一个Jupyter笔记本脚本,只是启动一个训练脚本,可能在Docker容器中。
我在那个训练脚本里添加了一些打印语句,但它们没有出现在笔记本或CloudWatch中。
我正在使用普通的print()语句。如何从训练脚本记录调试信息?
我有一个Jupyter笔记本脚本,只是启动一个训练脚本,可能在Docker容器中。
我在那个训练脚本里添加了一些打印语句,但它们没有出现在笔记本或CloudWatch中。
我正在使用普通的print()语句。如何从训练脚本记录调试信息?
当Python尝试缓冲标准输出时,我曾经看到过这种情况。这种情况在与Docker一起使用时可能会有问题。如果这是原因,将ENV PYTHONUNBUFFERED=1添加到您的Dockerfile中(然后重新构建镜像)即可解决此问题。
logger.setLevel(logging.INFO)
。 - undefined您可以在AWS CloudWatchLogs上找到日志。进入Sagemaker控制面板的训练作业,选择您要查找的训练作业。在其中,您会找到一个“查看日志”的选项。它将引导您到Cloudwatch日志。
希望这可以帮助您!
对于普通的 Python 打印,您可以手动刷新标准输出
print("My Message", flush=True)