AWS Elastic Beanstalk.部署

这是一种快速指南,可以使用AWS Elastic Beanstalk.部署培训的型号。本指南附带了一个初学应用程序部署Jeremy的熊映像分类模型表格2。

Grab AWS Elastic Beanstalk. Starter Pack用于模型部署

wget //github.com/fastai/course-v3/raw/master/docs/production/aws-beanstalk.zip

unzip aws-beanstalk.zip

cd app

每个项目设置

上传培训的模型文件

Upload your trained model file (for example stage-2.pth) to a cloud service like Google Drive or Dropbox. Copy the download link for the file. Note: the download link is the one which starts the file download directly and is normally different than the share link which presents you with a view to download the file (use //rawdownload.now.sh/ if needed)

如果您想最初测试部署,可以使用Jeremy的Bear分类模型从第2课,您可以跳过此步骤,因为该模型的权重URL已填写在示例应用程序中。

为您的模型自定义应用程序

在App目录内打开文件Server.py并更新 model_file_url. 随下载URL复制的变量 在同一文件中,更新行

classes = ['black', 'grizzly', 'teddys']

使用您期望的课程。

部署

首先,打开AWS Elastic Beanstalk.控制台,点击 创建新的应用程序 然后为您的演示应用程序名称添加详细信息&描述并单击“创建”。您将介绍新屏幕以创建新环境

选择 现在创造一个 然后你将在下面介绍。 。

选择 Web服务器环境“ 在这里,您将介绍“创建Web服务器环境”详细信息屏幕。

加你的 环境名称 , 选择你的 领域 名称,看它是否可用,然后添加 描述 ,

重要的: 在“基础配置”部分下,选择 预配置平台 and then choose “ Docker. “通用选项。

滚动下面的同一页面以来,您需要添加更多详细信息。

选择 上传我们的代码 选项并单击“上载”,然后将介绍以下屏幕。在上传您的入门包之前 请阅读以下说明!

重要的: 对于一些奇怪的原因,您可以只需上传我们的Web App文件夹的直接压缩文件,您必须直接向您的Web App文件夹下方的填充内容,我猜是因为AWS Beanstalk需要看到Dockerfile直接在压缩文件中的根目录中找到,而不是在Web应用程序下文件夹。因此,要做的事情,只需在本地计算机中打开Web应用程序并直接打开压缩内容。这就是我在Mac OS X中的方式。

选修的 :如果您在机器上本地运行“server.py”,那么您可能已在目录应用程序下下载的模型文件> static > model >“model.h5”或“model.pth”,为了保持这种压缩压缩文件的大小较小,可以删除这些模型文件。但是,请注意,AWS Beanstalk确实允许上传文件大小最多512 MB。

重要的: 不要按 创建环境 !! 我们必须使用 配置更多选项.

这些是 基本的 按顺序进行步骤,使我们的Web应用程序在AWS Beanstalk上平滑地部署,单击 配置更多选项,它将打开一个新页面,我们必须改变 配置预设 部分 自定义配置 选项,它看起来如下。

然后去第一部分> 软件 , 点击 调整 ,它将打开页面如下更改 代理服务器 从“nginx”到 没有 。将其他一切留下未更改,然后按Save。

您将返回配置页面,此处逐到第二部分> “实例” , 点击 “调整” ,它将打开如下页面,更改“ 实例类型 “从”t1.micro“到” t3.small. “。将其他一切留下未更改,然后按Save。

这是自定义配置,现在按 创建环境 在Application Console页面上。单击后,您将看到一个屏幕,显示AWS Beanstalk部署的日志文件条目。

10-15分钟后,您将看到这样的仪表板,它将将健康显示为每个阶段的“绿色”和详细日志。

测试工作应用程序的URL

To see your final app open http://YOUR_APP_NAME.AWS_REGION_HERE.elasticbeanstalk.com or click URL provided on your applicaiton dashboard.

本地测试

如果要本地运行应用程序服务器,或者对上述步骤进行任何更改:

python app/server.py serve

转到http:// localhost:8080 /测试您的应用程序。

感谢Pankaj Mathur为本指南,以及Simon Willison for Sample Code。