因此,我创建了一个GCP计算优化的虚拟机,并为其提供了对所有云apis的完全访问权限,以及对HTTP和HTTPS流量的完全访问权限。现在,我想从这个VM内部创建一个TPU,即运行以下命令:
gcloud compute tpus create node-1 --zone us-central1-a --project $PROJECT_NAME --version 2.5.0 --accelerator-type v3-8 --no-async并且它经常会出错:
ERROR: (gcloud.compute.tpus.create) PERMISSION_DENIED: Permission 'tpu.nodes.create' denied on 'projects/$PROJECT_NAME/locations/us-central1-a/nodes/node-1'我只在VM中得到这个错误,但是当我在本地机器上运行这个命令和本地安装的gcloud时,一切工作正常。这真的很奇怪,因为所有其他命令,如gcloud list和gsutil都工作得很好,但创建TPU却不起作用。我甚至尝试将一个服务帐户添加到~/.credentials中,并在我的bashrc中进行设置:
export GOOGLE_APPLICATION_CREDENTIALS=$HOME/.credentials/service-account.googleapis.com.json但这并不能解决问题。我甚至还尝试了使用执行组:
gcloud compute tpus execution-groups create --name=node-1 --zone=us-central1-a --tf-version=2.5.0 --accelerator-type=v3-8 --tpu-only --project $PROJECT_NAME 但这也失败了。
发布于 2021-10-21 02:31:44
以下是您出现权限被拒绝错误的两个可能原因:
我试着用你的命令创建TPU。在修改服务帐户之前,我遇到了相同的错误。下面是TPU已创建的输出。
$ gcloud compute tpus create node-1 --zone us-central1-a --project $PROJECT_NAME --version 2.5.0 --accelerator-type v3-8 --no-async \
Create request issued for: [node-1]
Waiting for operation [projects/project-id/locations/us-central1-a/operations/operation-1634780772429-5ced30f39edf6-105ccd39-96d571fa] to complete...done.
Created tpu [node-1].按照以下说明再次尝试创建TPU:
a.确保开启TPU接口
b.在编辑服务帐号之前,请转到VM实例和stop/down VM。
c.刷新虚拟机实例页面,然后单击编辑
d.在实例详情页面底部,选择计算引擎服务帐号、Allow full Access to all Cloud APIs和Save。(由@John Hanley推荐)
e.在您的实例页面上检查并记下您的Service Account。
f.转到IAM页面,查找服务帐户并进行编辑
g.单击Add Role,然后选择TPU ADMIN并保存
h.启动VM实例并通过SSH连接到服务器
i.运行此命令
gcloud compute tpus create node-1 --zone us-central1-a --project $PROJECT_NAME --version 2.5.0 --accelerator-type v3-8 --no-async 一开始我遇到了错误,因为在我进入的同一区域中存在TPU。确保您的TPU不是使用相同区域创建的。
https://stackoverflow.com/questions/69652501
复制相似问题