我是ML世界的新手。我有一个docker映像,其中包含必需的自定义模型文件。
能否请您解释一下如何将此模型部署为Web服务?
我尝试创建一个端点和lambda函数,但是没有运气。
您的帮助将不胜感激。
最佳答案
以下是一些有关在SageMaker中使用自己的模型的教程(由于您已经有训练有素的模型,因此可以跳过训练部分)。
Build your own docker image for training and deployment with scikit-learn
Build your own docker image for training and deployment with R
Use a SageMaker pre-built KMeans algorithm image with custom model weights
概述要作为Web服务进行部署的操作:
打包符合允许SageMaker与之交互的规范的docker映像,例如:-运行可以响应/invocations
推理请求的HTTP服务器。有关详细信息,请参见here。
创建一个SageMaker“模型”资源,该资源指向托管Docker映像的注册表。 API参考是here。您还可以为“模型工件”指定一个可选的S3位置-这不是必需的,但是如果您的开发工作流将您的推理代码与模型权重分开,则可以提供帮助。该模型可以用于SageMaker的Hosting服务的实时预测,也可以用于SageMaker的Batch Transform的批量推断。
为了将其部署用于实时推理,您可以创建一个endpoint configuration,然后创建一个endpoint。有关详细信息,请参见here。
通过上述步骤,假设您的客户端能够使用SigV4签署请求,您应该拥有一个能够返回查询预测的运行HTTPS终结点。如果要使其公开可见,则可以将API Gateway添加为前端,并将其用作SageMaker端点的代理。可以在here中找到详细信息(在步骤4中使用“ SageMaker Runtime”)。
关于machine-learning - 在Sagemaker上部署定制的预构建模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59684156/