无法在 GCP AI 平台上部署 CNN 模型

Posted

技术标签:

【中文标题】无法在 GCP AI 平台上部署 CNN 模型【英文标题】:Unable to deploy a CNN model on GCP AI platform 【发布时间】:2022-01-18 09:26:51 【问题描述】:

我正在尝试将模型部署到 GCP AI 平台,但没有成功,我知道以前有人问过类似的问题,但我无法弄清楚我做错了什么,任何帮助将不胜感激。我正在使用 jupyter notebook 进行开发。

MODEL_NAME='CLASSIFIER' 
VERSION_NAME='v1' 
RUNTIME_VERSION='1.13' 
REGION='europe-west1'

!gcloud ai-platform models create MODEL_NAME --regions REGION

模型在全局端点创建

!gcloud beta ai-platform versions create VERSION_NAME \
--model MODEL_NAME \
--origin gs://BUCKET/MODEL_DIR \
--python-version 3.7 \
--runtime-version RUNTIME_VERSION \
--package-uris gs://BUCKET/PACKAGES_DIR/sentiment_classifier-0.1.tar.gz \
--prediction-class=model_prediction.CustomPrediction \
--machine-type mls1-c4-m4

但是当我尝试创建版本时,它会尝试在区域端点创建它并失败,或者我认为

使用端点 [https://us-central1-ml.googleapis.com/] 错误:(gcloud.beta.ai-platform.versions.create) INVALID_ARGUMENT:机器类型在此端点上不可用。

【问题讨论】:

我认为 mls1-c4-m4 有 alpha 版本,而不是 beta 版本 Using endpoint [https://us-central1-ml.googleapis.com/] 端点似乎在美国,而您在欧洲有一个模型。由于 mls1-c4-m4 是旧版和 beta 机器类型,因此它只能在 use-cetnral1 中可用,而在欧洲不可用。尝试使用我们的模型,或使用其他机器类型 我在official documentation找不到机器类型我同意guillaume,你应该尝试在同一地区创建模型(默认我们)并使用官方可用的机器类型。跨度> 我确实尝试在 us-central1 区域使用不同的机器类型以及文档创建模型和版本,但遗憾的是没有运气。 使用 GCP UI,在 ai platform->models->version 下,您是否创建了模型,并且您的存储中是否有包含模型信息的现有 model_dir?另外,你在看教程吗??如果有,能否提供一下链接。 【参考方案1】:

我能够毫无问题地运行该命令。为此,我使用现有的sample 来复制命令的执行。

作为备注,两个模型都指向https://ml.googleapis.com,因为该区域接受执行 beta 命令作为用于这种情况的命令。您可以在link 下的--region 上查看它的详细信息。请注意,您可以选择不同的主要区域,但请记住,它应该支持执行 beta 命令,并且两者(模型和版本)都指向相同的 endpoint。

型号

MODEL_NAME = 'CensusPredictor'
VERSION_NAME = 'v1'
REGION = "global"  

! gcloud ai-platform models create $MODEL_NAME \
  --regions $REGION

输出

WARNING: To specify a region where the model will deployed on the global endpoint, please use `--regions` and do not specify `--region`. Using [us-central1] by default on https://ml.googleapis.com. Please note that your model will be inaccessible from https://us-central1-ml.googelapis.com
Learn more about regional endpoints and see a list of available regions: https://cloud.google.com/ai-platform/prediction/docs/regional-endpoints

Using endpoint [https://ml.googleapis.com/]
Created ai platform model [projects/<my-project-id>/models/CensusPredictor].

beta ai 平台版本创建

! gcloud beta ai-platform versions create $VERSION_NAME --model $MODEL_NAME \
  --origin gs://$BUCKET_NAME/custom_pipeline_tutorial/model/ \
  --runtime-version 1.13 \
  --python-version 3.5 \
  --framework SCIKIT_LEARN \
  --package-uris gs://$BUCKET_NAME/custom_pipeline_tutorial/code/census_package-1.0.tar.gz \
  --region $REGION \
  --machine-type mls1-c1-m2

输出

Using endpoint [https://ml.googleapis.com/]
Creating version (this might take a few minutes)......done. 

【讨论】:

你好@J1ten。这是answer your question吗?

以上是关于无法在 GCP AI 平台上部署 CNN 模型的主要内容,如果未能解决你的问题,请参考以下文章

开源的跨平台AI模型部署总有一款是你的菜

开源的跨平台AI模型部署总有一款是你的菜

开源的跨平台AI模型部署总有一款是你的菜

使用Mask R-CNN模型实现人体关键节点标注

学方法:神经网络模型的部署平台

cnn模型训练——从环境搭建到模型部署