Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从S3 bucket导入AWS Lambda函数代码中的库_Python_Amazon Web Services_Amazon S3_Deep Learning_Aws Lambda - Fatal编程技术网

Python 从S3 bucket导入AWS Lambda函数代码中的库

Python 从S3 bucket导入AWS Lambda函数代码中的库,python,amazon-web-services,amazon-s3,deep-learning,aws-lambda,Python,Amazon Web Services,Amazon S3,Deep Learning,Aws Lambda,我必须在AWS Lambda上部署一个深度学习模型,它可以进行对象检测。它在S3存储桶中添加图像时触发。 我面临的问题是,Lambda函数代码使用了很多库,如Tensorflow、PIL、Numpy、Matplotlib等。如果我尝试将所有库添加到函数代码中或作为层添加,它将超过250 MB的大小限制。 有没有办法将库zip文件部署到S3 bucket上,并在函数代码(用Python 3.6编写)中使用它们,而不是直接将它们作为代码的一部分? 我也可以尝试一些完全不同的方法。在我看来,亚马逊Sa

我必须在AWS Lambda上部署一个深度学习模型,它可以进行对象检测。它在S3存储桶中添加图像时触发。 我面临的问题是,Lambda函数代码使用了很多库,如Tensorflow、PIL、Numpy、Matplotlib等。如果我尝试将所有库添加到函数代码中或作为层添加,它将超过250 MB的大小限制。 有没有办法将库zip文件部署到S3 bucket上,并在函数代码(用Python 3.6编写)中使用它们,而不是直接将它们作为代码的一部分?
我也可以尝试一些完全不同的方法。

在我看来,亚马逊SageMaker将是您完成任务的更好选择

您可以通过SageMaker创建模型并将其托管在端点上。使用s3上传触发的lambda函数将图像传递到SageMaker端点并处理结果

Amazon SageMaker是一项全面管理的服务,为每位开发人员和数据科学家提供快速构建、培训和部署机器学习(ML)模型的能力。SageMaker消除了机器学习过程中每一步的繁重负担,使开发高质量模型变得更容易


试试Tensorflow,它们大约是50MB,您可能会有足够的空间容纳所需的其余模块。总的来说,请查看深入学习体系结构方法。

最终,我将我的方法从使用Lambda改为使用EC2。
我在一个EC2实例上部署了带有库的整个代码,然后使用Lambda触发它。在EC2上,它也可以部署在Apache服务器上以更改端口映射

预编译的包是针对Python 2.7的,没有为Python 3提供合适的运行时。xHow关于将包拆分为多个lambda层,一个lambda最多可以有5层?@SangminKim 250 MB的总限制包括功能代码大小和层这不再需要了。AWS Lambda和ML各种型号现在都非常易于使用,请参见此处:@janbauer我很久以前就解决了我的问题,不过谢谢你!)