Почему AWS SageMaker создает корзину S3

#python #amazon-web-services #amazon-s3 #boto3 #amazon-sagemaker

#python #amazon-веб-сервисы #amazon-s3 #boto3 #amazon-sagemaker

Вопрос:

После развертывания пользовательской модели pytorch с клиентом boto3 на python. Я заметил, что новая корзина 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
                         )
 

Ответ №1:

Вероятно, она была создана как корзина по умолчанию с помощью SageMaker Python SDK. Обратите внимание, что код, о котором вы написали, — это не boto3 (AWS python SDK), а sagemaker (link), специфичный для SageMaker Python SDK, который имеет более высокий уровень, чем boto3.

SageMaker Python SDK использует S3 в нескольких местах, например, для создания обучающего кода при использовании средства оценки фреймворка и для создания кода вывода при развертывании с использованием модели фреймворка (в вашем случае). Это дает вам возможность контролировать местоположение S3 для использования, но если вы его не укажете, он может использовать автоматически сгенерированную корзину, если у нее есть на это разрешения.

Чтобы управлять расположением промежуточного кода в S3, вы можете использовать этот параметр code_location либо в своем PyTorchEstimator (обучающем), либо в своем PyTorchModel (обслуживающем)

Комментарии:

1. Спасибо @Olivier, однако не могли бы вы любезно поделиться тем, как указать это местоположение для корзины развертывания?

2. Привет @maq, похоже, этот code_location параметр также доступен в классе PyTorchModel: sagemaker.readthedocs.io/en/stable/api/inference /…