AWS弹性Beanstalk部署

这是一个使用AWS Elastic Beanstalk部署经过培训的模型的快速指南。这个指南提供了一个启动应用程序,部署Jeremy的熊图像分类模型的第2课。

抢AWS弹性魔豆入门包模型部署

wget的https://github.com/fastai/course-v3/raw/master/docs/production/aws-beanstalk.zip解压aws-beanstalk.zipcd应用程序

项目的设置

上传你的训练模型文件

将你训练好的模型文件(例如stage-2.pth)上传到云服务上,比如谷歌驱动器或Dropbox。复制文件的下载链接。注意:下载链接是直接启动文件下载的链接,通常与共享链接不同,共享链接会提供一个下载文件的视图(使用https://rawdownload.now)。sh /如果需要)

如果你只想测试部署开始,你可以使用从第2课Jeremy的熊分类模型,你可以跳过,因为该模型的权重的网址已填写示例应用程序这一步。

为您的模型定制应用程序

在app目录中打开文件server.py,并更新model_file_url变量将下载URL复制到上面的相同文件中,更新行

类= [ '黑', '灰色', 'teddys']

使用您期望从模型中得到的类。

部署

首先,打开AWS弹性豆茎控制台,单击创建新应用程序然后为你的演示应用程序名称和描述添加细节,然后点击“创建”。您将看到用于创建新环境的新屏幕

选择现在创建一个然后你将看到下面的屏幕。

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

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

重要:在基本配置部分下,选择预配置平台然后选择"码头工人“通用选项。

向下滚动同一页,因为,您需要添加更多的细节。

选择上传我们的代码选项并单击upload,然后您将看到以下画面。在上传您的启动包之前请阅读下面的说明!

重要:由于一些奇怪的原因,你可以直接上传我们的web app文件夹的压缩文件,你必须直接压缩你的web app文件夹下的内容,我猜是因为AWS Beanstalk需要看到Dockerfile直接在压缩文件的根目录下找到,而不是在web app文件夹下。因此,要做到这一点,只需在你的本地机器上打开web app并直接压缩内容。这就是我在Mac OS X中所做的。

可选:如果你已经在你的机器上本地运行" server.py ",那么你可能已经下载了模型文件在目录app >静态>模型> "模型。“h5”或“model.pth”,为了保持压缩压缩文件的大小更小,你可以删除那些模型文件。但是,请注意,AWS Beanstalk允许上传的文件大小为512 MB。

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

这些都是至关重要的为了使我们的Web应用程序顺利部署到AWS Beanstalk上,请单击配置更多的选择,它将打开一个新的页面,在那里我们必须改变预设配置部分,自定义配置选项,它将如下所示。

然后到第一段>软件,点击修改,它会像下面这样打开页面,改变代理服务器从“Nginx”没有一个。其余的保持不变,然后按保存。

保存您将回到配置页面,这里进入第二部分>“实例”,点击“修改”,它会像下面这样打开页面,改变"实例类型“从”t1。微”到“t3.small”。其余的保持不变,然后按保存。

这是自定义配置,现在按创建环境在应用程序控制台页。单击之后,您将看到一个显示AWS BeanStalk部署的日志文件条目的屏幕。

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

测试工作应用程序的URL

要查看您的最终应用中打开http://YOUR_APP_NAME.AWS_REGION_HERE.elasticbeanstalk.com或点击网址提供您的应用程序了仪表板。

本地测试

如果您想在本地运行app服务器,或对上述步骤进行任何更改:

python应用程序/ server.py服务

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

感谢Pankaj Mathur提供的本指南,以及Simon Willison提供的示例代码。