0

我正在构建一个 Docker 容器来使用 gcloud 提交 ML 训练作业 - 可运行对象实际上是一个 Python 程序,并且 gcloud 正在通过 subprocess.check_output执行。在 Docker 容器外运行程序工作得很好,这让我想知道是否存在一些未安装的依赖项,但 gcloud 根本没有输出任何有用的日志。

在运行gcloud ml-engine 作业提交训练时,可执行文件返回退出状态 1并简单地输出Internal Error。Google Cloud Console 上可用的日志始终是 5 个“正在验证作业要求...”条目,没有更多信息。

Docker 容器安装了以下依赖项(有些与 Google Cloud ML 无关,但被程序中的其他功能使用):

通过 apt-get: python、python-pip、python-dev、libmysqlclient-dev、curl

通过 pip 安装: flask、MySQL-python、configparser、pandas、tensorflow

gcloud 工具本身是通过下载 SDK 并通过命令行安装来安装的:

RUN curl https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz > /tmp/google-cloud-sdk.tar.gz
RUN mkdir -p /usr/local/gcloud
RUN tar -C /usr/local/gcloud -xvf /tmp/google-cloud-sdk.tar.gz
RUN /usr/local/gcloud/google-cloud-sdk/install.sh
ENV PATH $PATH:/usr/local/gcloud/google-cloud-sdk/bin

帐户凭据是通过设置

RUN gcloud auth activate-service-account --key-file path-to-keyfile-in-docker-container
RUN gsutil version -l

最后一个gsutil version命令几乎只是为了确保 SDK 安装工作正常。

有没有人知道可能发生的事情或如何进一步调试可能导致gcloud内部错误的原因?

提前致谢!:)

4

1 回答 1

0

请确保所有参数设置正确,并确保您已正确上传和打包所有依赖项

如果一切都已完成,但您仍然无法运行该作业,那么您需要的不仅仅是“内部错误”来查明问题。请联系 Google Cloud Platform 支持或在公共问题跟踪器上提交错误以获得进一步的帮助。

于 2018-02-08T18:15:16.887 回答