我在ML Engine上启动了tensorflow任务,大约2分钟后,我不断收到错误消息“副本主机0退出时非零状态为1。”
(该任务顺便使用ml-engine local。)
问题:是否有任何地方或日志文件,我在哪里可以看到有关发生的事情的进一步信息?
日志查看器只提供以下内容:
{
insertId: "ibal72g1rxhr63"
logName: "projects/**-***-ml/logs/ml.googleapis.com%2Fcnn180322_170649"
receiveTimestamp: "2018-03-22T17:08:38.344282172Z"
resource: {
labels: {
job_id: "cnn180322_170649"
project_id: "**-***-ml"
task_name: "service"
}
type: "ml_job"
}
severity: "ERROR"
textPayload: "The replica master 0 exited with a non-zero status of 1."
timestamp: "2018-03-22T17:08:38.344282172Z"
}
提前感谢任何指针!
答案 0 :(得分:2)
明显缺少日志文件的解决方案缺少写入日志的权限。
在IAM&amp; admin,添加 Logs Writer 角色,帐户cloud-ml-service@<project_id>.iam.gserviceaccount.com
解决了问题,并使主人和工作人员能够按预期将日志消息写入Stackdriver。
有关类似讨论和其他一些信息,请参阅Stackdriver logs not available for Cloud ML jobs since migration to V2
感谢所有人提供意见!
答案 1 :(得分:0)
Stackdriver代理可以监控许多指标并提供有关ML引擎的详细信息。有关详细信息,请参阅here。 AFAIK,正常事件记录和Stackdriver代理是监视GCP上ML作业的唯一工具。
请注意,Tensorflow中使用的Python 2.7适用于相对导入。您可能在本地使用Python 3.4,它使用绝对导入。这就是为什么它在本地工作但不在Google Cloud上工作的原因。您可以参考this post来修改您的import语句。因此,如果在代码顶部包含行“from __future__ import absolute_import”
,则在“将tensorflow导入为tf”行之前,您的代码可能会起作用。