python - 如何将第三方 ML 模型加载到无服务器函数中
问题描述
我已经构建了一个 ML 模型(使用 sklearn 模块),我想通过 AWS API Gateway + Lambda 函数为其提供预测。
我的问题是:
- 由于 lambda 容量限制,我无法安装 sklearn + numpy 等。(捆绑包大于 140MB)
- 也许这是一个愚蠢的问题,但是,你知道是否有更好的方法来完成这项任务吗?
我已经尝试过本教程,以减少捆绑包的大小。但是,由于 --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 是我的特征
解决方案
如果您只是想为您的 sklearn 模型提供服务,您可以跳过设置 lambda 函数和修改 API 网关的麻烦——只需将您的模型作为 pkl 文件上传到FlashAI.io,它将自动免费为您的模型提供服务。它处理高流量环境和无限的推理请求。特别是对于 sklearn 模型,只需查看用户指南,然后在 5 分钟内您就可以将模型作为 API 使用。
免责声明:我是此服务的作者
推荐阅读
- python - 如果两个列是相同的 Pandas,则在它们之间添加列
- scrapy - XPath 选择器返回空列表
- visual-studio-2019 - Visual Studio 2019 - Angular 9.1.9 - 没有实时重新加载
- javascript - google fitBounds 无法按预期工作
- google-cloud-dataflow - 状态和输出的原子性
- android - Kotlin 1.4 是否放弃对 Coroutine Actors 的支持
- python - python中隔离林是否必须设置污染值?
- python - 导入 python 模块时没有这样的文件或目录。文件肯定存在于同一路径中
- laravel - 使用两个数据透视表在 laravel 中获取多对多关系的数据
- console - 如何在 Google 控制台上将包名称更改为小写?