运行 AWS Deep Learning Base AMI (Amazon Linux 2) 时,如何在 Elastic Beanstalk 中设置 WSGI?

Posted

技术标签:

【中文标题】运行 AWS Deep Learning Base AMI (Amazon Linux 2) 时,如何在 Elastic Beanstalk 中设置 WSGI?【英文标题】:How do I set up WSGI in Elastic Beanstalk when running AWS Deep Learning Base AMI (Amazon Linux 2)? 【发布时间】:2020-10-31 15:57:17 【问题描述】:

在我的 elasticbeanstalk 中,我有:

Platform:
  PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Python 3.7 running on 64bit Amazon Linux 2/3.0.3
OptionSettings:
  aws:autoscaling:launchconfiguration:
    RootVolumeSize: "90"
    IamInstanceProfile: aws-elasticbeanstalk-ec2-role
    ImageId: ami-017ff046baf80c98c
  ...

该 ami 是 https://aws.amazon.com/marketplace/pp/B07NMRZ463(AWS 深度学习基础 AMI (Amazon Linux 2))。

我有一个带有 application.py 的烧瓶应用程序:

....
# run the app.
if __name__ == "__main__":
    # Setting debug to True enables debug output. This line should be
    # removed before deploying a production app.
    # application.debug = True
    print('Starting application')
    application.run(host='0.0.0.0')

当我加载它时,我的.platform/hooks/prebuild 运行(我在/var/log/eb-hooks.log 中看到日志)。但是我的应用服务器似乎没有启动。

如果重要的话,我的代码在 /var/app/staging 中,并且没有移到 /var/app/current

我做错了什么?

【问题讨论】:

您在日志中发现任何错误吗? 不。但我认为深度学习 AMI 不是为 WSGI 设置的 我认为你是对的。 如何运行 WSGI?并确保我的应用程序被移动到当前? 暂时不知道。但是在常规 EB AMI 上安装 ML 库不是更容易吗?我不确定深度学习 AMI 有什么,所以可能无法完成? 【参考方案1】:

我做了更多的挖掘工作,我认为一种方法是创建您自己的自定义平台表单 EB:

Elastic Beanstalk custom platforms

您可以通过向 Elastic Beanstalk 提供 Packer 模板以及模板调用以构建 AMI 的脚本和文件来创建平台。

但是:

Elastic Beanstalk 不支持基于 Amazon Linux 2 AMI 的自定义平台。

并不完美,但也许可以进一步探索此选项以将深度学习 AMI 与 EB 结合使用。

【讨论】:

如果是这种情况,那么我可以使用 Amazon Linux 2 并简单地运行预构建来安装我认为的 CUDA 驱动程序。我想这会有些困难。或者,我可以使用 Ubuntu 实例并在其上设置 CUDA。但是我将如何设置 WSGI? @Shamoon 也许是在当前的 EB 实例上安装 CUDA?

以上是关于运行 AWS Deep Learning Base AMI (Amazon Linux 2) 时,如何在 Elastic Beanstalk 中设置 WSGI?的主要内容,如果未能解决你的问题,请参考以下文章

reinforcement learning和deep learning的区别

github上DQN代码的环境搭建,及运行(Human-Level Control through Deep Reinforcement Learning)conda配置

如何使用TensorFlow为Windows Udacity Deep Learning课程设置学习环境(Windows)

Deep Learning(深度学习)之Deep Learning学习资源

Deep Learning(深度学习)之Deep Learning的基本思想

Keras学习手册,开篇-使用 Python3 的Deep Learning 库