python - 为什么 AWS SageMaker 创建 S3 存储桶

标签 python amazon-web-services amazon-s3 boto3 amazon-sagemaker

使用 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),而是 sagemaker ( link ),SageMaker 特定的 Python SDK,即更高级别比boto3。

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

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

关于python - 为什么 AWS SageMaker 创建 S3 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65285203/

相关文章:

python - 比较一列中的值是否在另一列 python pandas 中的两个值之间

linux - ec2如何向现有设备添加更多卷

java - 如何使用预签名 URL 将文件上传到 S3,而不将其加载到内存中

amazon-web-services - 将 AWS CloudFormation S3 资源转换为 Terraform 资源

amazon-web-services - 使用Pyspark在S3中写入 Parquet 文件时出错

python - 确定特定的有序向量是否在列表/数组中

python - 格式化 numpy 浮点值

json - 在 Athena 中查询可选嵌套 JSON 字段

amazon-web-services - 通过带有映射的 API Gateway 返回带有 Lambda 的 JSON

python - 将 2 个整数变成 1