Python SageMaker创建PyTorchModel而不部署

Python SageMaker创建PyTorchModel而不部署,python,amazon-sagemaker,Python,Amazon Sagemaker,如果我实例化SageMakerPyTorchModel对象,如下所示: from sagemaker.pytorch import PyTorchModel model = PyTorchModel(name=name_from_base('model-name'), model_data=model_data, role=role, framework_version

如果我实例化SageMaker
PyTorchModel
对象,如下所示:

from sagemaker.pytorch import PyTorchModel

model = PyTorchModel(name=name_from_base('model-name'),
                     model_data=model_data,
                     role=role,
                     framework_version='1.0.0',
                     entry_point='serve.py',
                     source_dir='src',
                     sagemaker_session=sagemaker_session,
                     predictor_cls=ImagePredictor)

#model.create_without_deploying??

是否有一种方法可以使用sagemaker python SDK创建此模型,以便该模型显示在sagemaker控制台中,但不实际将其部署到端点?

我认为使用高级sagemaker python SDK不可能做到这一点。但是,您应该能够通过使用低级boto3调用CreateModel API来实现这一点。下面是一个示例代码片段,供您参考

%%time
import boto3
import time

sage = boto3.Session().client(service_name='sagemaker')

image_uri = '520713654638.dkr.ecr.us-east-1.amazonaws.com/sagemaker-pytorch:1.0.0-cpu-py3'
model_data ='s3://<bucket>/<prefix>/output/model.tar.gz'
source = 's3://<bucket>/<prefix>/sourcedir.tar.gz'
role = 'arn:aws:iam::xxxxxxxx:role/service-role/AmazonSageMaker-ExecutionRole-xxxxxx'

timestamp = time.strftime('-%Y-%m-%d-%H-%M-%S', time.gmtime())
model_name = 'my-pytorch-model' + timestamp

response = sage.create_model(
    ModelName=model_name,
    PrimaryContainer={
        'Image': image_uri,
        'ModelDataUrl': model_data,
        'Environment': { 'SAGEMAKER_CONTAINER_LOG_LEVEL':'20', 'SAGEMAKER_ENABLE_CLOUDWATCH_METRICS': 'False', 
                   'SAGEMAKER_PROGRAM': 'generate.py','SAGEMAKER_REGION': 'us-east-1','SAGEMAKER_SUBMIT_DIRECTORY': source}
         },
         ExecutionRoleArn=role
}
print(response)
%%次
进口boto3
导入时间
sage=boto3.Session().client(service_name='sagemaker')
image_uri='520713654638.dkr.ecr.us-east-1.amazonaws.com/sagemaker-pytorch:1.0.0-cpu-py3'
model_data='s3:///output/model.tar.gz'
source='s3:///sourcedir.tar.gz'
role='arn:aws:iam::xxxxxxxx:role/service role/amazonsmanager-ExecutionRole-xxxxxx'
timestamp=time.strftime('-%Y-%m-%d-%H-%m-%S',time.gmtime())
model_name='my pytorch model'+时间戳
响应=sage.create\u模型(
ModelName=模型名称,
主容器={
“图像”:图像的uri,
“ModelDataUrl”:模型数据,
“环境”:{“SAGEMAKER_容器_日志_级别”:“20”,“SAGEMAKER_启用_CLOUDWATCH_度量”:“False”,
“SAGEMAKER_程序”:“generate.py”,“SAGEMAKER_地区”:“us-east-1”,“SAGEMAKER_提交目录”:源}
},
ExecutionRoleArn=角色
}
打印(答复)
如果没有收到错误消息,则模型将显示在SageMaker控制台中