运行 Google Cloud ML 训练作业,但在日志中没有标准输出



我已经构建了一个培训师,当我提交作业时,作业开始并填充日志。但是我对 stdout 的输出都没有出现在日志中。我确实收到诸如"TensorFlow 库未编译为 使用 AVX2 指令......"之类的消息。

在我的笔记本电脑上,整个工作大约需要 5 到 10 分钟;我让它在云服务器上运行了一个多小时,但仍然没有看到任何输出(当我在本地运行它时,输出的第一行几乎立即发生。

我可以通过直接调用它在本地运行我的作业,但我无法使用"gcloud local"命令让它运行......当我这样做时,我收到一个错误"没有名为张量流的模块">

日志消息"TensorFlow 库未编译为 使用 AVX2 指令"表示日志消息正在从 TensorFlow 流向 Cloud Logging。因此,您配置日志记录的方式很可能存在问题,因此日志消息未正确写入 stderr/stdout。

调试此问题的最简单方法是创建一个简单的示例来尝试重现此错误。

我建议创建一个简单的python程序,它只记录一条消息,然后将其提交给服务以查看是否打印了日志消息。

如下所示

import logging
import time
if __name__ == "__main__":
logging.getLogger().setLevel(logging.INFO)
# Output logs for 5 minutes. We do this for 5 minutes just to ensure
# the job doesn't terminate before logs can be flushed.
for i in range(30):
logging.info("This is an info message.")
logging.error("This is an error message.")
time.sleep(10)

对于在本地运行时导入TensorFlow的问题,请查看此SO问题,其中包含有关如何检查gcloud使用的Python路径并验证它是否包含TensorFlow的一些建议。

最新更新