从 s3 工件创建时用于 tensorflow 的 SageMaker 自定义模型输出路径

SageMaker custom model output path for tensorflow when creating from s3 artifacts

我运行使用以下代码创建具有预先存在模型的端点:

from sagemaker.tensorflow import serving
sagemaker_session = sagemaker.Session()
clf_sm_model = serving.Model(model_data='s3://mybucket/mytrainedmodel/model.tar.gz',
                                     entry_point="inference.py",
                                     source_dir="inf_source_dir",
                                     role=get_execution_role(),
                                     framework_version='1.14',
                                     sagemaker_session=sagemaker_session)

但是,这会将模型的副本创建到默认的 sagemaker 存储桶中。如何传递自定义路径?我试过 model_dir 和 output_path 但都没有被接受为参数

SageMaker Python SDK 重新打包您的模型以包含您的 entry_pointsource_dir 文件,并将这个“新”tar 球上传到 SageMaker 默认存储桶。

您可以通过在 sagemaker_session 中设置 default_bucket 来更改此行为,如下所示:

sagemaker_session = sagemaker.Session(default_bucket="<mybucket>")

clf_sm_model = serving.Model(model_data='s3://mybucket/mytrainedmodel/model.tar.gz',         
                    .
                    .
                    sagemaker_session=sagemaker_session)
                    .
                    )