我目前正在使用tensorflow和Google Cloud Platform进行传输学习 . https://cloud.google.com/blog/big-data/2016/12/how-to-train-and-classify-images-using-google-cloud-machine-learning-and-cloud-dataflow

当我使用他们的示例代码时,它在我自己的数据上完美地工作在 Cloud 上

# Preprocess the eval set.
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

我完成了所有的预处理,培训和部署 .

但是,我希望能够在本地运行它,以便我可以更改代码并更有效地调试它:在代码中它声明

To run this pipeline locally run the above command without --cloud.

所以它会读到:

# Preprocess the eval set.
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"

我尝试将input_dict,input_path和output_path设置为 Cloud 存储路径,以及作为本地计算机上文件的路径来运行此代码 . 但是我得到错误:

tensorflow / core / platform / cloud / google_auth_provider.cc:151]所有获取Google身份验证持有令牌的尝试均失败,返回空令牌 . 从文件中检索令牌失败,显示“不可用:libcurl失败,错误代码为23:写入正文失败(91!= 196)” . 从GCE检索令牌失败,出现“Unavailable:Unexpected response code 0” .

所以它似乎是一个身份验证问题:问题是我手动从谷歌 Cloud 存储复制文件时没有身份验证问题 .

我已经尝试过:

$ gcloud auth application-default login

但它没有改变任何东西 .

有人有解决方案吗?