来自Dataflow的Google CloudML权限 - 无法重新创建google tensorflow图片示例

时间:2017-01-07 19:50:17

标签: image tensorflow google-cloud-dataflow gcloud google-cloud-ml

我正在尝试使用他们的新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 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

预处理eval集。

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

编辑:显示控制台上的服务帐户标签。 enter image description here

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

enter image description here

google显示的教程可能没有为免费套餐配置好,我猜测它分配给太多实例并超过了CPU配额。如果我无法解决,我将打开一个正确框架的问题。

1 个答案:

答案 0 :(得分:0)

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