我已经建立了ML模型(使用sklearn模块),并且希望通过AWS API Gateway + Lambda函数为它提供预测。
我的问题是:
我已经尝试过本教程,以减小捆绑包的大小。但是,由于--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是我的特征
答案 0 :(得分:0)
只要弄清楚!
该解决方案基本上位于AWS Lambda层之上。
我创建了一个仅包含相关编译库的sklearn层。
然后,我运行sls package
来打包包含这些文件以及我自己的handler.py代码的捆绑包。
最后一步是运行
sls deploy --package .serverless
希望对其他人有帮助。
答案 1 :(得分:0)
如果您只是想为您的 sklearn 模型提供服务,您可以跳过设置 lambda 函数和修改 API 网关的麻烦——只需将您的模型作为 pkl 文件上传到 FlashAI.io,这将为您的模型提供服务自动免费。它处理高流量环境和无限的推理请求。对于 sklearn 模型,只需查看 user guide,5 分钟内您就可以将模型作为 API 使用。
免责声明:我是此服务的作者