如何在SageMaker Pipeline创建模型包?能否直接传入模型S3 URI?
问题解答:SageMaker Pipeline中直接使用S3 URI作为model_data是否可行?
完全可以直接传入模型所在的S3 URI来替代step_train.properties.ModelArtifacts.S3ModelArtifacts,这种方式适用于你已经有预训练好的模型存储在S3中的场景。
需要注意以下几点:
- 确保S3 URI对应的路径下存在合法的模型压缩包(通常为
.tar.gz或.tar格式),且SageMaker执行角色拥有该S3路径的读取权限 - 直接传入静态S3 URI时,Pipeline不会依赖训练步骤的执行结果,适合复用已有模型的场景
示例代码如下:
# 直接使用指定的S3模型路径 model = Model( image_uri=pytorch_estimator.training_image_uri(), model_data="s3://somebucket/modelfile.tar.gz", # 替换为你的模型实际S3 URI sagemaker_session=pipeline_session, role=role, ) # 后续的模型创建与注册步骤可保持原有逻辑 step_model_create = ModelStep( name="MyModelCreationStep", step_args=model.create(instance_type="ml.m5.xlarge"), ) register_model_step_args = model.register( content_types=["*"], response_types=["application/json"], inference_instances=["ml.m5.xlarge"], transform_instances=["ml.m5.xlarge"], description="MyModelPackage", ) step_model_registration = ModelStep( name="MyModelRegistration", step_args=register_model_step_args, )
内容的提问来源于stack exchange,提问作者haju
相关产品推荐
相关产品推荐

