运行Google Cloud ML培训作业但在日志中没有输出stdout

时间:2017-08-28 04:55:15

标签: google-cloud-ml-engine

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

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

我可以通过直接调用它在本地运行我的作业,但是我无法使用“gcloud local”命令运行它...当我这样做时,我收到错误“没有模块名为tensorflow “

1 个答案:

答案 0 :(得分:1)

日志消息“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 Question,其中提供了有关如何检查gcloud使用的Python路径以及验证其是否包含TensorFlow的一些建议。