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 我可以在AWS Lambda函数中使用枕头和numpy吗?_Python_Amazon Web Services_Aws Lambda_Amazon Sagemaker - Fatal编程技术网

Python 我可以在AWS Lambda函数中使用枕头和numpy吗?

Python 我可以在AWS Lambda函数中使用枕头和numpy吗?,python,amazon-web-services,aws-lambda,amazon-sagemaker,Python,Amazon Web Services,Aws Lambda,Amazon Sagemaker,我试图使用lambda函数来对图像进行sagemaker预测,我需要从 s3 = boto3.resource('s3') bucket = s3.Bucket(bucket) object = bucket.Object(key) response = object.get() file_stream = response['Body'] 以适当的格式在中使用 response = client.invoke_endpoint(EndpointName=endpoint_name, Bod

我试图使用lambda函数来对图像进行sagemaker预测,我需要从

s3 = boto3.resource('s3') 
bucket = s3.Bucket(bucket)
object = bucket.Object(key)
response = object.get()
file_stream = response['Body']
以适当的格式在中使用

response = client.invoke_endpoint(EndpointName=endpoint_name, Body=json.dumps(data))
我在jupyter笔记本上做了一些测试,发现以下命令可以完成这项工作:

im = Image.open(file_stream)
im_array = np.array(im)
data = img_data.tolist()
但是需要PIL图像和NumPy

是否有机会在lambda函数或任何其他方法中导入这些库

谢谢,,
Samuele.

最简单的方法是将PIL上传为Lambda层,并使用现有的Numpy/Scipy Lambda层。相比之下,链接到此处的无服务器框架教程比较麻烦

对于Numpy:您已经可以访问AWS自动提供的针对Numpy的公共可用Lambda层(“…为了提供如何使用Lambda层的示例,我们发布了一个公共层,其中包括NumPy和SciPy…此预构建和优化的层可以帮助您快速启动数据处理和机器学习应用程序。”--)

对于PIL:只需使用以下说明:


我自己已经为PIL做了这项工作,并且可以确认它是有效的。

您可以导入任何打包的包,并使用Lambda函数上传。也就是说,您希望图像内容采用什么格式?几乎可以肯定,您可以使用标准Python函数做您想做的事情,而无需使用NumPy(甚至可能不是PIL)。无服务器框架可以在不到一分钟的时间内构建OP想要的zip层。为什么你会说这是一团混乱?“一团混乱?”"可能太强了,所以我重新编写了它。问题是,每次他想要部署任何代码更改时,他都必须重新构建并上载。当您执行许多更改时,这将变得耗时且繁重。使用层更轻量级/更轻松。为什么不使用层一次构建依赖项?无服务器框架工作k支持层。您可以选择不打包每个部署的依赖项。此外,即使您这样做,它也内置了缓存以避免重复工作。这很公平,但您链接到的指南是在层之前发布的,没有涵盖该用例。使用该教程进行部署是次优的。请加入我们的aws。我可以向您展示如何在无服务器框架中实现这一点。