我正在尝试使用他们新的 CLOUDML 工具来关注 Google 的这篇博文。
从他们提供的 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 配额。如果我不能解决,我将打开一个正确框架的问题。