【问题标题】:How to delete Models deployed to an endpoint on Unified AI Platform using Python?如何使用 Python 删除部署到 Unified AI Platform 上的端点的模型?
【发布时间】:2021-07-27 12:46:10
【问题描述】:

我已经成功地在统一云 AI 平台上创建了一个端点,并为其部署了两个 Models - Model BModel C,分别占流量的 20% 和 80%。我之前部署了第三个 Model - Model A,现在它的流量为 0%。

现在,在 Cloud Console(用户界面)上,我可以选择 Undeploy 这个Model A,我可以成功地做到这一点。但是我无法弄清楚如何使用 Python Client API 来做到这一点。

here 提供的文档不足以理解我们如何做到这一点。任何帮助将不胜感激。

【问题讨论】:

  • 您提到您可以在控制台中“取消部署”。用python做的原因是什么?有什么具体原因吗?
  • 我们正在寻找一种自动化的方式来“取消部署”不再相关的模型。

标签: python google-cloud-platform google-cloud-ml google-ai-platform


【解决方案1】:

AI Platform Unified 的文档还没有关于如何在端点中取消部署模型的示例。您现在可以参考AI platform unified rpc reference 了解可用的服务。这是代码:

注意:不要忘记在运行代码之前更新 end_point(端点 ID)、project(项目 ID)、model_id 的值。

from google.cloud import aiplatform
from google.cloud import aiplatform_v1


def undeploy_model_in_endpoint(
    end_point: str,
    project: str,
    model_id: str,
    location: str = "us-central1",
    api_endpoint: str = "us-central1-aiplatform.googleapis.com",
    timeout: int = 7200,
):
    # The AI Platform services require regional API endpoints.
    client_options = {"api_endpoint": api_endpoint}
    # Initialize client that will be used to create and send requests.
    # This client only needs to be created once, and can be reused for multiple requests.
    client = aiplatform.gapic.EndpointServiceClient(client_options=client_options)
    client_model = aiplatform_v1.services.model_service.ModelServiceClient(client_options=client_options)

    # Get deployed_model_id
    model_name = f'projects/{project}/locations/{location}/models/{model_id}'
    model_request = aiplatform_v1.types.GetModelRequest(name=model_name)
    model_info = client_model.get_model(request=model_request)
    deployed_models_info = model_info.deployed_models
    deployed_model_id=model_info.deployed_models[0].deployed_model_id

    name=f'projects/{project}/locations/{location}/endpoints/{end_point}'

    undeploy_request = aiplatform_v1.types.UndeployModelRequest(endpoint=name,deployed_model_id=deployed_model_id)
    client.undeploy_model(request=undeploy_request)

undeploy_model_in_endpoint(end_point='your-endpoint-id',project='your-project-id',model_id='your-model-id')

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2021-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    • 2021-07-11
    • 1970-01-01
    • 2020-01-15
    相关资源
    最近更新 更多