首页 > 解决方案 > 如何将第三方 ML 模型加载到无服务器函数中

问题描述

我已经构建了一个 ML 模型(使用 sklearn 模块),我想通过 AWS API Gateway + Lambda 函数为其提供预测。

我的问题是:

  1. 由于 lambda 容量限制,我无法安装 sklearn + numpy 等。(捆绑包大于 140MB)
  2. 也许这是一个愚蠢的问题,但是,你知道是否有更好的方法来完成这项任务吗?

我已经尝试过本教程,以减少捆绑包的大小。但是,由于 --use-wheel 标志,它会引发异常。

https://serverlesscode.com/post/scikitlearn-with-amazon-linux-container/

    bucket = s3.Bucket(os.environ['BUCKET'])
    model_stream = bucket.Object(os.environ['MODEL_NAME'])
    model = pickle.loads(model_stream)
    model.predict(z_features)[0]

使用标量后 z_features 是我的特征

标签: pythonlambdascikit-learnserverless-framework

解决方案


如果您只是想为您的 sklearn 模型提供服务,您可以跳过设置 lambda 函数和修改 API 网关的麻烦——只需将您的模型作为 pkl 文件上传到FlashAI.io,它将自动免费为您的模型提供服务。它处理高流量环境和无限的推理请求。特别是对于 sklearn 模型,只需查看用户指南,然后在 5 分钟内您就可以将模型作为 API 使用。

免责声明:我是此服务的作者


推荐阅读