本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
托管在一个终端后面使用不同容器的多个模型
使用 SageMaker 多容器终端节点,客户可以在单个 SageMaker 终端节点上部署多个使用不同模型或框架的容器。容器可以作为推理管道按顺序运行,也可以使用直接调用来单独访问每个容器,以提高终端节点利用率和优化成本。
有关按顺序调用多容器终端节点中容器的信息,请参阅主机模型以及预处理逻辑作为一个端点后面的串行推理管道.
有关调用多容器终端节点中的特定容器的信息,请参阅使用具有直接调用的多容器终端节点
创建多容器终端节点(Boto 3)
通过调用创建多容器终端节点CreateModel、CreateEndpointConfig, 和CreateEndpoint像创建任何其他终端节点一样的 API。您可以按顺序作为推理管道运行这些容器,也可以使用直接调用来运行每个容器。调用多容器终端节点时有以下要求:create_model
:
-
使用
Containers
参数而不是PrimaryContainer
,并在Containers
参数。 -
这些区域有:
ContainerHostname
具有直接调用的多容器终端节点中的每个容器都需要参数。 -
设置
Mode
的参数InferenceExecutionConfig
字段到Direct
直接调用每个容器,或Serial
以便使用容器作为推理管道。默认模式为Serial
。
目前,多容器终端节点最多支持 15 个容器。
以下示例为直接调用创建多容器模型。
-
创建容器元素
InferenceExecutionConfig
直接调用。container1 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage1:mytag', 'ContainerHostname': 'firstContainer'} container2 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage2:mytag', 'ContainerHostname': 'secondContainer' } inferenceExecutionConfig = {'Mode': 'Direct' }
-
使用容器元素创建模型并设置
InferenceExecutionConfig
字段中返回的子位置类型。import boto3 sm_client = boto3.Session().client('sagemaker') response = sm_client.create_model( ModelName = 'my-direct-mode-model-name', InferenceExecutionConfig = inferenceExecutionConfig, ExecutionRoleArn = role, Containers = [container1, container2])
要创建 endoint,然后你可以打电话创建 _endpoint_config
更新多容器终端节点
要更新多容器终端节点,请完成以下步骤。
-
Callcreate_model
创建一个具有新价值的新模型 Mode
中的参数InferenceExecutionConfig
字段中返回的子位置类型。 -
Call创建 _endpoint_config
通过使用您在上一步中创建的新模型创建具有不同名称的新端点配置。 -
Callupdate_终端点
以使用您在上一步中创建的新终端节点配置更新终端节点。
删除多容器终端节点
要删除终端节点,请调用delete_终端点EndpointName
参数。