我有一个端点,它在AWS上运行一个经过训练的SageMaker模型,它期望数据具有特定的格式。
最初,数据是在应用程序的客户端处理的,这意味着,API Gateway (接收AWS上的POST API调用)用来接收预处理过的数据,但是现在发生了变化,API Gateway将从客户端接收原始数据,而在发送到我们的SageMaker模型之前预处理这些数据的工作取决于我们的工作流程。
在这个工作流上创建预处理作业的最佳方法是什么,而不需要重新训练模型?我的预处理只是一堆数据转换,不需要标准化或计算所需的培训集(它不需要保存任何模型文件)。
谢谢!
发布于 2020-10-15 11:53:13
经过一些研究,这是我所遵循的解决方案:
SKLearn sagemaker模型来完成所有的预处理设置(我已经构建了一个Scikit学习自定义类来处理所有的预处理步骤,遵循这个AWS码)Model参数获得的经过训练的遗留模型。PipelineModel:pipeline_model = PipelineModel(name=model_name,
role=role,
models=[
preprocess_model,
trained_model
])PipelineModel,然后更改Lambda函数以调用这个新端点。这样,我就可以将原始数据直接发送给同一个API Gateway,它将只调用one端点,而不需要支付两个端点24/7来执行整个过程。我发现这是一种很好的、“经济”的方法,可以在经过训练的模型之外执行预处理,而不必在Lambda函数上做艰苦的处理工作。
发布于 2020-10-13 07:58:20
我将创建一个Lambda,它由API调用,处理数据并将其发送到您的SageMaker端点。
https://stackoverflow.com/questions/64263330
复制相似问题