San*_*ndy 11 machine-learning amazon-machine-learning amazon-sagemaker
我正在致力于为时间序列数据构建机器学习管道,其目标是经常重新训练和更新模型以进行预测。
我对如何使用相同的预处理代码进行训练和推理感到困惑?我应该编写一个 lambda 函数来预处理我的数据还是有其他方法
消息来源调查:
aws sagemaker 团队给出的两个示例使用 AWS Glue 进行 ETL 转换。
inference_pipeline_sparkml_xgboost_abalone
inference_pipeline_sparkml_blazingtext_dbpedia
我是 aws sagemaker 的新手,试图学习、理解和构建流程。任何帮助表示赞赏!
小智 2
以倒退的方式回答问题。
从您的示例来看,下面的代码是将两个模型组合在一起的推理管道。在这里我们需要删除sparkml_model并获取我们的sklearn模型。
sm_model = PipelineModel(name=model_name, role=role, models=[sparkml_model, xgb_model])
Run Code Online (Sandbox Code Playgroud)
在放置 sklearn 模型之前,我们需要 SageMaker 版本的 SKLearn 模型。
首先使用 SageMaker Python 库创建 SKLearn Estimator。
sklearn_preprocessor = SKLearn(
entry_point=script_path,
role=role,
train_instance_type="ml.c4.xlarge",
sagemaker_session=sagemaker_session)
Run Code Online (Sandbox Code Playgroud)
script_path - 这是包含所有预处理逻辑或转换逻辑的 python 代码。下面给出的链接中的“sklearn_abalone_featurizer.py”。
训练 SKLearn 估计器
sklearn_preprocessor.fit({'train': train_input})
Run Code Online (Sandbox Code Playgroud)
从 SKLearn Estimator 创建可放入推理管道的 SageMaker 模型。
sklearn_inference_model = sklearn_preprocessor.create_model()
Run Code Online (Sandbox Code Playgroud)
推理 PipeLineModel 创建将进行修改,如下所示。
sm_model = PipelineModel(name=model_name, role=role, models=[sklearn_inference_model, xgb_model])
Run Code Online (Sandbox Code Playgroud)
欲了解更多详情,请参阅以下链接。
| 归档时间: |
|
| 查看次数: |
2521 次 |
| 最近记录: |