如何在AWS Lambda上使用TensorFlow 2.0?

6

我是AWS Lambda的新手,正在尝试在AWS Lambda中运行tensorflow模型。目前只有tensorflow 1.0.0适合50Mb的限制,但由于tensorflow 2.0的体积较大,无法满足要求。请问是否有办法在AWS lambda中使用tensorflow 2.0?


1
为什么你想要在AWS Lambda中使用Tensorflow?似乎这不是正确的方法。 - Blokje5
1
我正在使用TensorFlow和AWS Lambda,因为AWS Lambda非常便宜。 - Debangshu Paul
是的,但我猜你正在训练一个机器学习模型。Lambda 的最大运行时间为 15 分钟。机器学习可能需要数小时甚至数天来训练(取决于数据大小)。如果你想进行机器学习,Lambda 真的不是一个好选择。我建议你考虑使用 AWS SageMaker。 - Blokje5
4
我不是在训练,我正在进行预测。 - Debangshu Paul
@DebangshuPaul,你在这个问题上找到解决方案了吗? - Mpizos Dimitris
为什么不尝试创建一个TensorFlow AWS层? - cerofrais
5个回答

2
AWS Lambda带有一个位于/tmp的临时存储单元。但请注意,临时存储单元仍然具有512MB的存储空间。您可以将依赖项加载到此存储中,并相应地编写代码。

是的,但那个存储不是永久的,对吧?我已经尝试过从S3下载到/tmp文件夹,但似乎每次都需要这样做,这在成本和性能方面非常低效。有没有其他方法可以解决这个问题? - Debangshu Paul
使用EFS并从那里加载您的模型以克服MB限制。 - Jakub

1
其中一种变体是使用EFS。
运行EC2实例,挂载EFS并在其上安装Tensorflow或任何其他库。
然后在lambda函数中,您可以选择安装了库的文件系统并将其导入到您的函数中。
您可以使用AWS官方文档或尝试这些教程。
对我很有帮助,我能够在我的lambda函数中导入tensorflow。
如何在AWS Lambda中使用EFS(弹性文件系统)https://youtu.be/4cquiuAQBco
如何在EC2实例上挂载EFShttps://youtu.be/PHVthx8lG4g
如何在EFS上安装库并导入lambdahttps://youtu.be/FA153BGOV_A


1
截至2021年3月,最好的解决方案可能是使用容器映像作为Lambda,如此处所述。

0

我已经能够通过使用Docker镜像部署函数,在Lambda上使用Tensorflow。请参见此帖子



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接