python - 使用 AWS Lambda Function 将机器学习引入实时生产

标签 python django amazon-web-services aws-lambda facebook-prophet

我目前正在致力于在实时生产环境中实现 Facebook Prophet。我以前没有这样做过,所以我想在这里向您介绍我的计划,并希望您能给我一些反馈,无论这是一个好的解决方案还是您有任何建议。

  1. 在 Django 中,我创建了预测所需的相关数据的 .csv 导出。这些 .csv 导出将上传到 AWS S3 存储桶。

  2. 从那里,我可以使用发生“繁重”计算的 AWS Lambda 函数 访问此 S3 存储桶。

  3. 完成后,我会从 2. 中获取预测并将其再次保存在 forcast.csv 导出中

  4. 现在我的 Django 应用程序可以访问 S3 上的 forecast.csv 并获取相应的预测。

我特别好奇 AWS Lambda Function 在这种情况下是否是正确的工具。导出也可能保存在 DynamoDB 中(?),但我尝试让 v1 保持简单,因此使用 .csv。为 AWS Lambda 安装正确的层/包仍然需要付出一些努力。因此,在深入研究其文档之前,我想确保我正朝着正确的方向前进。

最佳答案

我对使用 AWS Lambda 进行“繁重”计算有点担心。有几个原因。

  1. 二进制大小限制:AWS Lambda 的二进制大小限制为 250MB。这是我们面临的最大限制,因为您无法在该二进制文件中包含所有库,如 numpy、pandas、matplotlib 等。
  2. 磁盘大小限制:AWS 只为 lambda 执行提供最大 500MB 的磁盘大小,如果您想将中间结果保存在磁盘中,这可能会成为问题。
  3. 成本可能会飙升:如果您的 lambda 要运行很长时间而不是多次小调用,您最终将付出很多钱。在这种情况下,我认为使用 EC2 和 ECS 之类的东西会更好。

您可以评估将 S3 存储桶链接到 SQS 队列以及在 EC2 计算机上运行的进程(该进程正在监听队列并执行所有计算)。

AWS Lambda Limits

关于python - 使用 AWS Lambda Function 将机器学习引入实时生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57125277/

相关文章:

python - 如何使用移动时间窗口计算 PostgreSQL 时间序列中的条目率

javascript - 如何在 Django 中使用由 html 和 css 制作的注册表单

java - 如何正确设置 S3 和 IAM 以将文件上传到 S3 存储桶?

c# - 有 "key is a directory name"异常

amazon-web-services - 联合用户访问 Azure 门户

python - 两个 Pandas 数据框的联合

python - 在Python 3.2中向字典中添加字典

python - 使用装饰器对自定义对象进行编码 - Python

python - Django 从 _meta.get_field 添加多对多关系

python - 在几个文件中拆分views.py