首页 > 解决方案 > 如何在 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)

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

标签: amazon-web-servicesamazon-s3amazon-sagemaker

解决方案


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

model = sagemaker.model.Model(
    image=image
    model_data='s3://bucket/model.tar.gz',
    role=role_arn)

您传入的选项是:

  • image- 这是您用于推理的 ECR 图像(应该用于您尝试使用的算法)。路径可在此处获得。
  • model_data- 这是存储模型的路径(在tar.gz压缩存档中)。
  • role- 这是一个既能从 ECR 中提取图像又能获取 s3 存档的角色的角色。

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

model.deploy(
   initial_instance_count=1,
   instance_type='ml.p2.xlarge'
)

推荐阅读