繁体   English   中英

如何从 AWS Sagemaker 内置容器加载 model 构件?

[英]How do I load the model artifact from AWS Sagemaker built-in container?

我正在使用 Sagemaker 的线性学习器容器来训练 model。训练已经完成,model 工件保存在 S3 中。 我下载它是一个.tar.gz 文件,其中存储了实际的 model 文件,名为 model-algo-1,没有格式扩展名。 我正在尝试加载此 model 并检查 model 系数,但不确定如何执行此操作。

我尝试了 pickle 和 joblib,但它们没有用。 有谁知道如何加载从 Sagemaker 内置容器训练的 model 文件? 或者有没有其他方法可以检查 model 系数? 这是逻辑回归 model。

谢谢

我设法让这个工作。

SageMaker 文档中,有两个类可用于加载已部署的线性学习器

选项 1:使用 sagemaker.LinearLearnerModel 从 S3 artificat 构建预测器

根据文档,这个 class:

《参考LinearLearner s3 model数据》

您可以按如下方式使用它:

第 1 步:使用 S3 上托管的 artificats 构建 LinearLearner Model

from sagemaker import LinearLearnerModel, get_execution_role, Session
import boto3
sess = boto3.Session(region_name=region_name)
sagemaker_session = Session(boto_session=sess)
role = get_execution_role(sagemaker_session)
model = LinearLearnerModel(model_data, role, sagemaker_session=sagemaker_session)

第 2 步:将 model 部署到一个端点(在本例中它是一个无服务器端点)

my_serverless_inference_config = ServerlessInferenceConfig(memory_size_in_mb=2048, max_concurrency=1)
linear_predictor = model .deploy(endpoint_name=my_endpoint_name,serverless_inference_config=my_serverless_inference_config,serializer=CSVSerializer(), deserializer=JSONDeserializer())
from sagemaker.predictor import csv_serializer, json_deserializer
linear_regressor.serializer = csv_serializer
linear_regressor.deserializer = json_deserializer

第 3 步:使用部署 function 返回的 sagemaker.predictor object

result = linear_predictor.predict(X_test)
#Iterate the result JSON to get an NP array of all the predictions so we can compare to Y test
predictions = np.array([res['score'] for res in result['predictions']])

选项 2:使用 LinearLearnerPredictor 从已有端点构建预测器

如果您的 model 已经部署了端点,您可以使用此选项

from sagemaker import LinearLearnerPredictor, get_execution_role, Session
import boto3
sess = boto3.Session(region_name=region_name)
sagemaker_session = Session(boto_session=sess)
role = get_execution_role(sagemaker_session)
predictor = LinearLearnerPredictor(endpoint_name, sagemaker_session=sagemaker_session)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM