为什么gcloud ml-engine Submit命令给出“请求的cpu超出配额”?

时间:2019-02-20 20:49:23

标签: python tensorflow google-cloud-platform

我正在使用以下命令在GCP上运行张量流对象检测作业:

gcloud ml-engine作业提交培训whoami _ object_detection _ date +%s --job-dir = gs:// $ {YOUR_GCS_BUCKET} / train --packages dist / object_detection-0.1.tar.gz, slim / dist / slim-0.1.tar.gz,/ tmp / pycocotools / pycocotools-2.0.tar.gz --module-name object_detection.model_tpu_main --runtime-version 1.9 --scale-tier BASIC_TPU --region us-central1 ---model_dir = gs:// $ {YOUR_GCS_BUCKET} / train --tpu_zone us-central1 --pipeline_config_path = gs:// $ {YOUR_GCS_BUCKET} /data/pinches_pipeline.config

收到以下错误:

错误:(gcloud.ml-engine.jobs.submit.training)RESOURCE_EXHAUSTED:项目失败的配额失败。请求的54.0 CPU超过了允许的最大值20.0。要了解有关Cloud ML Engine配额的更多信息,请参阅https://cloud.google.com/ml-engine/quotas。 -'@type':type.googleapis.com/google.rpc.QuotaFailure   违规:   -说明:请求的54.0 CPU超过了允许的最大值20.0。

我的问题是请求的CPU如何设置为54?我没有明确地在任何地方设置它。

谢谢。

1 个答案:

答案 0 :(得分:0)

代码中的此选项用于设置ml实例的大小和类型:

--scale-tier BASIC_TPU

BASIC_TPU每小时收费$ 6.8474。我不确定这个公式,但是Cloud TPU可以等效的计费转换为N个CPU。您还需要将Cloud ML Engine机器类型的成本添加到成本中:标准为每小时0.2774美元。

Google's description:

  

配额是根据Cloud TPU核心定义的。单个Cloud TPU   该设备包含4个TPU芯片和8个核心:每个TPU芯片2个核心。一种   Cloud TPU v2 Pod(alpha)由包含256个TPU的64个TPU设备组成   芯片(512核)。核心数还指定了   特定的Cloud TPU。例如,配额为8允许使用8   核心。配额为16时,最多可以使用16个内核,依此类推。

您的CPU配额为20。您将需要增加配额或选择不使用TPU的其他模型,例如BASICBASIC_GPU。另外,请仔细检查您是否已使用信用卡/借记卡设置了计费设置,并具有足够的信用额度。