fre*_*ris 8 google-cloud-platform google-cloud-ml
使用该命令创建ML Engine Model的新版本时
gcloud ml-engine versions create 'v1' --model=model_name --origin=gs://path_to_model/1/ --runtime-version=1.4
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
ERROR: (gcloud.ml-engine.versions.create) FAILED_PRECONDITION: Field: version.deployment_uri Error: Read permissions are required for Cloud ML service account cloud-ml-service@**********.iam.gserviceaccount.com to the model file gs://path_to_model/1/saved_model.pb.
- '@type': type.googleapis.com/google.rpc.BadRequest
fieldViolations:
- description: Read permissions are required for Cloud ML service account cloud-ml-service@**********.iam.gserviceaccount.com to the model file gs://path_to_model/1/saved_model.pb.
field: version.deployment_uri
Run Code Online (Sandbox Code Playgroud)
此服务帐户未在IAM和管理面板中列出,并且不属于我的项目,因此我不想手动为此帐户授予权限.
有没有其他人也经历过这个?关于我应该做什么的任何建议?
附加信息:
谷歌存储桶具有存储类regional和位置europe-west1.
我已经尝试使用该命令禁用(并重新启用)ML Engine服务
gcloud services disable ml.googleapis.com
Run Code Online (Sandbox Code Playgroud)
但是这导致了以下错误:
ERROR: (gcloud.services.disable) The operation with ID tmo-acf.********-****-****-****-************ resulted in a failure.
Run Code Online (Sandbox Code Playgroud)更新的信息:
存储桶不属于其他项目.
命令
gcloud iam service-accounts get-iam-policy cloud-ml-service@**********.iam.gserviceaccount.com
Run Code Online (Sandbox Code Playgroud)
给出错误:
ERROR: (gcloud.iam.service-accounts.get-iam-policy) PERMISSION_DENIED: Permission iam.serviceAccounts.getIamPolicy is required to perform this operation on service account projects/-/serviceAccounts/cloud-ml-service@**********.iam.gserviceaccount.com.
Run Code Online (Sandbox Code Playgroud)
projects/-/serviceAccounts/...此错误消息中的路径中的破折号对我来说似乎非常错误.
问题已经解决
删除所有模型后,我终于能够禁用ML Engine服务.重新启用该服务后,我获得了一个新的服务帐户,该帐户显示在我的IAM和管理面板中,并且能够访问我的云存储.
如果有人发现这个问题,@freeCris 在问题中写了解决方案。当我阅读答案中的所有文档时发现没有任何有用的东西,然后意识到他在问题本身中写了如何解决它时,我决定写下来。
对于那些想要解决此问题的人,只需运行(确保 ML Engine 中没有模型和版本等资源):
gcloud services disable ml.googleapis.com
Run Code Online (Sandbox Code Playgroud)
然后运行:
gcloud services enable ml.googleapis.com
Run Code Online (Sandbox Code Playgroud)
您将获得一个新的服务账户,这次该账户将列在您的 IAM 控制台中。只需将其添加到您的 GCS 存储桶中即可开始工作。
| 归档时间: |
|
| 查看次数: |
767 次 |
| 最近记录: |