为什么 AWS SageMaker 创建 S3 Bucket

Why does AWS SageMaker create an S3 Bucket

在 python 中使用 boto3 客户端部署自定义 pytorch 模型。我注意到创建了一个新的 S3 存储桶,其中没有可见对象。这有什么原因吗?

包含我的模型的存储桶以关键字“sagemaker”命名,因此我没有任何问题。

这是我用于部署的代码:

remote_model = PyTorchModel(
                     name = model_name, 
                     model_data=model_url,
                     role=role,
                     sagemaker_session = sess,
                     entry_point="inference.py",
                     # image=image, 
                     framework_version="1.5.0",
                     py_version='py3'
                    )

remote_predictor = remote_model.deploy(
                         instance_type='ml.g4dn.xlarge', 
                         initial_instance_count=1,
                         #update_endpoint = True, # comment or False if endpoint doesns't exist
                         endpoint_name=endpoint_name, # define a unique endpoint name; if ommited, Sagemaker will generate it based on used container
                         wait=True
                         )

它可能是由 SageMaker Python SDK 创建为默认存储桶的。请注意,您编写的代码不是 boto3(AWS python SDK),而是 sagemakerlink),SageMaker 特定的 Python SDK,即比boto3更高级。

SageMaker Python SDK 在多个地方使用 S3,例如在使用框架估算器时暂存训练代码,以及在使用框架模型部署时暂存推理代码(您的案例)。它使您可以控制要使用的 S3 位置,但如果您不指定它,它可能会使用自动生成的存储桶,前提是它具有这样做的权限。

要控制代码暂存 S3 位置,您可以在 PyTorchEstimator(训练)或 PyTorchModel(服务)

中使用参数 code_location