我必须在进行对象检测的AWS Lambda上部署深度学习模型。在S3存储桶中添加图像时触发。 我面临的问题是Lambda函数代码使用了很多库,如Tensorflow,PIL,Numpy,Matplotlib等,如果我尝试将所有函数都添加到函数代码中或作为层添加,则超过250 MB大小限制。 有什么办法可以将库zip文件部署在S3存储桶上,并从那里在功能代码(用Python 3.6编写)中使用它们,而不是直接将它们作为代码的一部分? 我也可以尝试一些完全不同的方法。
答案 0 :(得分:1)
在我看来,Amazon SageMaker将是您完成任务的更好选择。
您可以创建模型并通过SageMaker将其托管在端点上。使用由s3上传触发的使用lambda函数将图像传递到SageMaker端点并处理结果。
Amazon SageMaker是一项完全托管的服务,可为每位开发人员和数据科学家提供快速构建,训练和部署机器学习(ML)模型的能力。 SageMaker消除了机器学习过程中每个步骤的繁琐工作,从而使开发高质量模型变得更加容易。
答案 1 :(得分:1)
为Tensorflow试用pre-compiled packs,它们大约为50MB,您可能有足够的空间来容纳所需的其余模块。通常,请查看关于深度学习架构方法的AWS recommendations。
答案 2 :(得分:0)
最终,我将方法从使用Lambda更改为使用EC2。 我将带有库的整个代码部署在EC2实例上,然后使用Lambda触发它。在EC2上,它也可以部署在Apache服务器上以更改端口映射。