0

我正在尝试使用他们新的 CLOUDML 工具来关注 Google 的这篇博文。

https://cloud.google.com/blog/big-data/2016/12/how-to-train-and-classify-images-using-google-cloud-machine-learning-and-cloud-dataflow

从他们提供的 docker 实例中运行

docker pull gcr.io/cloud-datalab/datalab:local
docker run -it -p "127.0.0.1:8080:8080" \
  --entrypoint=/bin/bash \
  gcr.io/cloud-datalab/datalab:local

从...开始: root@9e93221352d8:~/google-cloud-ml/samples/flowers#

运行第一个预处理步骤:

分配适当的值。

PROJECT=$(gcloud config list project --format "value(core.project)")
JOB_ID="flowers_${USER}_$(date +%Y%m%d_%H%M%S)"
BUCKET="gs://${PROJECT}-ml"
GCS_PATH="${BUCKET}/${USER}/${JOB_ID}"
DICT_FILE=gs://cloud-ml-data/img/flower_photos/dict.txt

预处理评估集。

python trainer/preprocess.py \
  --input_dict "$DICT_FILE" \
  --input_path "gs://cloud-ml-data/img/flower_photos/eval_set.csv" \
  --output_path "${GCS_PATH}/preproc/eval" \
  --cloud

返回

(27042c30421ec530): Workflow failed. Causes: (70e56dda0121e0fa): One or more access checks for temp location or staged files failed. Please refer to other error messages for details. For more information on security and permissions, please see https://cloud.google.com/dataflow/security-and-permissions.

前往控制台,日志显示:

(531d956bf99b5f27): Staged package cloudml.latest.tar.gz at location 'gs://api-project-773889352370-ml/flowers__20170106_123249/preproc/staging/flowers-20170106-123312.1483705994.201001/cloudml.latest.tar.gz' is inaccessible.

我再次尝试使用

gcloud beta auth application-default login

并从浏览器获取密钥。那里似乎没有任何问题。

我已经成功运行了 MNIST 云学习教程,因此与谷歌计算引擎通信没有身份验证问题。

我可以确认我的存储桶的路径是正确的:

root@9e93221352d8:~/google-cloud-ml/samples/flowers# echo ${GCS_PATH}
gs://api-project-773889352370-ml//flowers__20170106_165608

但是没有创建文件夹flowers__20170106_165608(由于权限)。

Dataflow 是否需要单独的凭据?我去了控制台并确保我的帐户对数据流 API 是开放的。任何超越

root@9e93221352d8:~/google-cloud-ml/samples/flowers# gcloud config list
Your active configuration is: [default]

[component_manager]
disable_update_check = True
[compute]
region = us-central1
zone = us-central1-a
[core]
account = ####<- scrubbed for SO, its correct.
project = api-project-773889352370

编辑:显示控制台上的服务帐户选项卡。 在此处输入图像描述

编辑:下面接受的答案。我接受这个答案是因为 Jeremy Lewi 是正确的。问题不在于数据流确实具有权限,而是因为从未创建过 GCS 对象。进入预处理记录器,您可以看到

在此处输入图像描述

谷歌显示的教程可能没有很好地配置为免费层,我猜它分发到太多实例并超过了 CPU 配额。如果我不能解决,我将打开一个正确框架的问题。

4

1 回答 1

0

请在错误消息提供的链接中查看有关服务帐户的信息。我怀疑服务帐户未正确授权查看暂存文件。

于 2017-01-07T21:10:43.630 回答