如何在亚马逊 sagemaker 中加载训练模型?

Bor*_*lis 2 amazon-s3 amazon-web-services amazon-sagemaker

我正在关注这个关于如何在 Amazon-sagemaker 中训练机器学习模型的示例。

data_location = 's3://{}/kmeans_highlevel_example/data'.format(bucket)
output_location = 's3://{}/kmeans_highlevel_example/output'.format(bucket)

print('training data will be uploaded to: {}'.format(data_location))
print('training artifacts will be uploaded to: {}'.format(output_location))

kmeans = KMeans(role=role,
                train_instance_count=2,
                train_instance_type='ml.c4.8xlarge',
                output_path=output_location,
                k=10,
                epochs=100,
                data_location=data_location)
Run Code Online (Sandbox Code Playgroud)

那么在调用 fit 函数后,模型应该保存在 S3 存储桶中??下次如何加载这个模型?

Chr*_*ams 5

这可以通过将 sagemaker 库与推理模型结合使用来完成。

model = sagemaker.model.Model(
    image=image
    model_data='s3://bucket/model.tar.gz',
    role=role_arn)
Run Code Online (Sandbox Code Playgroud)

您传入的选项是:

  • image- 这是您用于推理的 ECR 图像(应该用于您尝试使用的算法)。路径在这里可用。
  • model_data- 这是您的模型的存储路径(在tar.gz压缩档案中)。
  • role - 这是能够从 ECR 中提取映像并获取 s3 存档的角色的 arn。

成功完成此操作后,您将需要设置一个端点,这可以通过在您的笔记本中通过部署功能执行以下操作来完成。

model.deploy(
   initial_instance_count=1,
   instance_type='ml.p2.xlarge'
)
Run Code Online (Sandbox Code Playgroud)