我如何在 google ai 平台统一上访问模型工件?

问题描述

我希望能够从模型内部加载数据,但不必使用构建模型的容器来交付数据文件, 我已使用该命令将模型上传到平台:

gcloud beta ai models upload \
  --display-name=MODEL_NAME \
  --region=us-central1 \
  --container-image-uri=us-central1-docker.pkg.dev/MODEL_URI \
  --container-predict-route=/predict \
  --container-health-route=/health \
  --container-ports=80  \
  --artifact-uri=gs://BUCKET_NAME/DIR_WHERE_DATA_IS

所以,如果在:gs://BUCKET_NAME/DIR_WHERE_DATA_IS 中存在一个名为 foo.bar 的文件 我希望我能够从 docker 构建的代码中读取它,就好像它是本地的一样,对吗? 因为在尝试部署模型时,我无法找到这些文件(例如:gs://BUCKET_NAME/DIR_WHERE_DATA_IS 中的“foo.bar”)

解决方法

指定 --artifact-uri=gs://BUCKET_NAME/DIR_WHERE_DATA_IS 仅使使用平台上运行的容器内的正确凭证可用的存储桶,您应该读取数据副本所在的 gcs 路径的 env "AIP_STORAGE_URI" 和从该 uri 下载您的模型所需的数据 https://cloud.google.com/ai-platform-unified/docs/predictions/custom-container-requirements#artifacts

请记住,您还需要在容器内验证您的帐户 How to authenticate google cloud SDK on a docker Ubuntu image?