Flask 端点与 Sagemaker 端点

Ann*_*nni 5 python amazon-web-services flask

我想构建一个简单的网络应用程序,其中一个人将输入汽车的一些参数,我的机器学习算法将根据参数预测汽车的价格。我想学习 aws,因此想在那里部署和托管所有内容。

通过检查网站教程,我确定了我需要执行的以下步骤:

  1. 收集数据,训练模型
  2. 围绕腌制模型构建 Flask api 以提供预测服务
  3. 创建漂亮的 css/html 前端
  4. 创建泊坞窗图像
  5. 将 docker 图像推送到 AWS ECR 广告上传模型工件到 S3
  6. 创建 Sagemaker 预测端点
  7. 使用 Chalice 创建 API 端点

我不明白的是:

  1. 如果我已经有一个可以预测价格的烧瓶端点,为什么我需要创建一个 sagemaker 端点(和 Chalice 端点)?我不能分拆将调用flask端点并给出预测的EC2实例吗?
  2. 我描述的步骤是使用 ML 模型创建 Web 应用程序并将其部署到 AWS 的最有效方法吗?

很高兴了解您的意见!

Dan*_*iel 4

显然有许多不同的架构可以实现您想要做的事情。

这是一个帮助我实现类似目标的方法:

1) 设置 AWS S3/RDS 以进行数据存储/收集等 - 您可以使用 S3 来存储训练数据,以及用户可以从您的 Web 应用程序上传数据的地方。您可以使用 RDS 存储任何元数据并跟踪 S3 存储桶中的所有项目。

2) 使用 Elastic Beanstalk 托管您的 Web 应用程序。我构建了一些 Django 应用程序(而不是 Flask),并且能够使用 Elastic Beanstalk 轻松集成、部署应用程序等。此外,Elastic Beanstalk 还附带了一系列功能,可帮助您轻松管理网站流量。

3) 使用 Sagemaker 部署您的模型。部署后,您可以非常轻松地使用 Amazon 的 SDK Boto3 在您的 Web 应用程序和模型之间发送数据以进行预测。

总体思路是将数据、Web 应用程序和模型分成单独的部分,这样,如果您找到更合适的解决方案,就可以轻松地将架构的一部分替换为另一部分。