如何在AWS Lambda中部署巨大的python依赖项和ML模型

时间:2018-10-26 09:09:50

标签: python amazon-web-services aws-lambda

我正在尝试在AWS lambda上部署图像分类算法,并且我的构建大小为390 MB,即使通过S3存储桶上传,它也超过了250 MB的上限。这么大的原因是:OpenCV(120 MB),模型检查点(112 MB)和另外一个Caffemodel(125 MB)

以下是我的问题:

  1. 当我们必须部署具有OpenCV等依赖项的脚本时,如何处理这种情况。有什么方法可以处理更糟糕的情况,例如1 GB的zip大小

1 个答案:

答案 0 :(得分:0)

您可以让脚本从s3存储桶中复制依赖项吗?您有512MB的/ tmp。您可能希望在函数之外执行此操作,可能会将其包装在某些逻辑中,以便它在每个容器生命周期中仅发生一次,而不是在每次调用时发生。您必须在脚本中的文件复制之后推送导入。

例如

if not {OpenCV installed}:
    {Use boto to copy files from S3}

import /tmp/OpenCV

def handler(event, context):
    {Your script}

在当前的AWS世界中,当您超过此512MB阈值时,您可能不得不迁移到FarGate之类来代替Lambda。

相关问题