【问题标题】:How to use tensorflow 2.0 with AWS Lambda?如何在 AWS Lambda 中使用 tensorflow 2.0?
【发布时间】:2020-01-15 09:02:17
【问题描述】:

我是 AWS Lambda 的新手,并在 AWS Lambda 中运行 tensorflow 模型。现在 tensorflow 1.0.0 是适合 50Mb 限制的版本,但由于 tensorflow 2.0 的大小要大得多,它不适合。有谁知道将 tensorflow 2.0 与 AWS lambda 结合使用的方法?

【问题讨论】:

  • 为什么要将 Tensorflow 与 AWS Lambda 结合使用?看来这不是办法
  • 我正在使用带有 AWS lambda 的 tensorflow,因为 AWS Lambda 非常便宜。
  • 是的,但是您正在训练机器学习模型(至少我假设)。 Lambda 的运行时间最长为 15 分钟。机器学习可能需要数小时甚至数天的时间来训练(取决于您的数据大小)。如果你想做机器学习,Lambdas 真的不是你要走的路。我会研究 AWS SageMaker
  • 我不是在训练我在做预测。
  • @DebangshuPaul 你找到解决这个问题的办法了吗?

标签: amazon-web-services tensorflow aws-lambda tensorflow2.0


【解决方案1】:

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

【讨论】:

  • 是的,但存储不是永久的,我已经尝试从 s3 下载到 /tmp 文件夹,而且似乎每次我都必须这样做,这在成本和性能方面非常低效。有没有其他方法可以做到这一点?
  • 使用 EFS 并从那里加载模型以克服 MB 限制。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    截至March 2021,最好的解决方案可能是使用 Lambda 的容器映像,如 here 所述。

    【讨论】:

      【解决方案4】:

      有一些 serevarl 选项可以在 AWS lambda 中部署 Tensorflow:

      1. With Amazon EFS:

      1. Using AWS container images

      1. AWS Lambda using Serverless

      2. With AWS serverless and Tensorflow Lite

      【讨论】:

        猜你喜欢
        • 2020-04-21
        • 2019-09-09
        • 1970-01-01
        • 1970-01-01
        • 2019-05-18
        • 2018-01-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多