首页 > 解决方案 > GCP AI-Platform 看不到项目存储桶中的文件

问题描述

我在 GCP AI-Platform 中成功训练了我的模型,将我的模型保存在我的项目存储桶路径中的 pkl 文件中:

gs://mybucket-mymodel/trained_model/topic_20210820_191116/mymodel.pkl

我的模型的分发文件在存储桶路径中:

gs://mybucket-mymodel/mysourcecode-0.1.2.tar.gz 

现在我正在尝试从 gcloud 控制台部署和创建模型的版本,但是当我运行下面的 gcloud 命令时,显然看不到 pkl 和分发文件。

gcloud beta ai-platform versions create "v0_1_2" \
  --model="mymodel" \
  --origin=gs://mybucket-mymodel/trained_model/topic_20210820_191116/ \
  --runtime-version=2.1 \
  --framework="scikit-learn" \
  --python-version=3.7 \
  --machine-type="mls1-c1-m2" \
  --region="europe-west4"
  --package-uris=gs://mybucket-mymodel/mysourcecode-0.1.2.tar.gz \
  --enable-console-logging

我得到错误

ERROR: (gcloud.beta.ai-platform.versions.create) FAILED_PRECONDITION: Field: 
version.deployment_uri Error: Deployment directory gs://mybucket- 
mymodel/trained_model/topic_20210820_191116/ is expected to contain exactly one of: 
[model.pkl, model.joblib].
 - '@type': type.googleapis.com/google.rpc.BadRequest
 fieldViolations:
    - description: 'Deployment directory gs://dft-amis-dspct-prt-topic- 
       model/trained_model/topic_20210820_191116/
        is expected to contain exactly one of: [model.pkl, model.joblib].'
      field: version.deployment_uri
 ./versions.sh: line 10: --package-uris=gs://mybucket-mymodel/mysourcecode- 
    0.1.2.tar.gz: No such file or directory

标签: machine-learningdeploymentgoogle-ai-platformgcp-ai-platform-training

解决方案


正如@Annalix 所证实的,修复是提供完全称为“模型”而不是“mymodel”(model.pkl 而不是 mymodel.pkl)的模型文件,并在 --region 标志上转义(\)行尾。

gcloud beta ai-platform versions create "v0_1_2" \
  --model="mymodel.pkl" \
  --origin=gs://mybucket-mymodel/trained_model/topic_20210820_191116/ \
  --runtime-version=2.1 \
  --framework="scikit-learn" \
  --python-version=3.7 \
  --machine-type="mls1-c1-m2" \
  --region="europe-west4" \
  --package-uris=gs://mybucket-mymodel/mysourcecode-0.1.2.tar.gz \
  --enable-console-logging


推荐阅读