首页 > 解决方案 > 将保存在 firebase 存储中的 ML 模型部署到 GCP AI Platform

问题描述

我有一个机器学习模型,打算部署到 GCP AI 平台。我的项目已在 Firebase 上建立。图像由用户发送并存储在 Firebase 存储中。我现在需要的是,我用来转换图像和提供 ML 模型的所有代码(用 python 编写)都托管在后端,并且 ML 模型可以输出预测参数并将它们存储在每个用户的 firestore 中。我一直在尝试遵循本文中给出的说明 https://towardsdatascience.com/how-to-deploy-models-at-scale-with-ai-platform-fd1badf449ea 但是当我输入我的模型的 URI 时存储在 firebase 上,它会收到以下错误消息:

服务帐户 service-34699366066@cloud-ml.google.com.iam.gserviceaccount.com 无法读取提供的 GCS 前缀 [gs://model URI]。

标签: firebasefluttergoogle-cloud-platform

解决方案


您是否删除了 ML 使用的服务帐户?这可能会导致您遇到的错误。

我建议您重新创建 CloudML API,因为这会将此类操作所需的服务帐户信息恢复为默认值。

要恢复服务帐户信息,请删除您在 ML Engine 中可能拥有的任何模型。这可以通过从左侧菜单访问模型列表来完成,方法是转到 ML Engine -> 模型,单击模型名称右侧的 3 点菜单,然后单击删除。

删除模型后,打开Google Cloud Shell并运行以下命令:

user@cloudshell:~ (project-id)$ gcloud services disable ml.googleapis.com

命令完成后,使用以下命令重新启用 API 并重新创建 CloudML 所需的服务帐户。请注意,这可能需要几分钟时间。

user@cloudshell:~ (project-id)$ gcloud services enable ml.googleapis.com         

命令完成后,您将看到“操作“操作/xxxxxxxxxxxxx”成功完成。” 在控制台中输出。


推荐阅读