在 注册表中部署模型 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 注册表中部署模型

注册模型版本并批准它进行部署后,将其部署到 SageMaker 终端节点以进行实时推理。

当您创建 MLOps 项目并选择包含模型部署的 MLOps 项目模板时,模型注册表中已批准的模型版本将自动部署到生产环境中。有关使用 SageMaker MLOps 项目的信息,请参阅通过SageMaker项目自动完成 MLOps

在 注册表中部署模型 (Boto3

要部署模型版本,请完成以下步骤:

  1. 通过调用 从模型版本创建模型对象create_model,并将模型版本的 Amazon 资源名称 (ARN) 作为模型对象的主容器传递。以下代码段假定您已创建 SageMaker Boto3 客户端 sm_client,并且您已创建模型版本,其中包含存储在名为 的变量中的 model_version_arnARN。

    model_name = 'DEMO-modelregistry-model-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) print("Model name : {}".format(model_name)) primary_container = { 'ModelPackageName': model_version_arn, } create_model_respose = sm_client.create_model( ModelName = model_name, ExecutionRoleArn = role, PrimaryContainer = primary_container ) print("Model arn : {}".format(create_model_respose["ModelArn"]))
  2. 通过调用 创建终端节点配置create_endpoint_config。终端节点配置指定要用于终端节点Amazon EC2的实例的数量和类型。

    endpoint_config_name = 'DEMO-modelregistry-EndpointConfig-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) print(endpoint_config_name) create_endpoint_config_response = sm_client.create_endpoint_config( EndpointConfigName = endpoint_config_name, ProductionVariants=[{ 'InstanceType':'ml.m4.xlarge', 'InitialVariantWeight':1, 'InitialInstanceCount':1, 'ModelName':model_name, 'VariantName':'AllTraffic'}])
  3. 通过调用 创建终端节点create_endpoint

    endpoint_name = 'DEMO-modelregistry-endpoint-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) print("EndpointName={}".format(endpoint_name)) create_endpoint_response = sm_client.create_endpoint( EndpointName=endpoint_name, EndpointConfigName=endpoint_config_name) print(create_endpoint_response['EndpointArn'])