Flask конечная точка против конечной точки Sagemaker - PullRequest
3 голосов
/ 10 февраля 2020

Я хочу создать простое веб-приложение, в котором человек мог бы ввести некоторые параметры автомобиля, а мой алгоритм машинного обучения мог бы предсказать цену автомобиля с учетом параметров. Я хочу изучить aws и поэтому хочу развернуть и разместить там все.

Проверяя веб-сайты и учебные пособия Я определил следующие шаги, которые мне нужно сделать:

  1. Сбор данных, тренировка модели
  2. Построение Flask API вокруг маринованной модели, чтобы служить предсказаниям
  3. Создание прекрасного CSS / html front-end
  4. Создание docker изображения
  5. Pu sh docker изображения в AWS ECR-модель загрузки рекламы в S3
  6. Конечная точка прогнозирования Creat Sagemaker
  7. Создание конечной точки API с помощью Chalice

Что я не понимаю:

  1. Зачем мне нужно создавать конечную точку Sagemaker (и конечную точку Chalice), если я уже есть конечная точка flask, которая будет предсказывать цену? Не могу ли я просто выделить экземпляр EC2, который вызовет конечную точку flask и даст прогноз?
  2. Являются ли описанные мной шаги наиболее эффективным способом создания веб-приложения с моделью ML и развертывания его на AWS?

Буду рад узнать ваше мнение!

1 Ответ

0 голосов
/ 10 февраля 2020

Очевидно, что есть много разных архитектур для достижения того, что вы пытаетесь сделать.

Вот одна из тех, которые мне помогли в достижении чего-то подобного:

1) Настройка AWS S3 / RDS для хранения / сбора данных и т. Д. c - вы можете использовать S3 для хранения данных для обучения, а также место, куда пользователи могут загружать данные из вашего веб-приложения. Вы можете использовать RDS для хранения любых метаданных и отслеживания всех ваших предметов в корзине S3.

2) Используйте Elasti c Beanstalk для размещения вашего веб-приложения. Я создал несколько Django приложений (вместо Flask) и смог легко интегрировать, развертывать и т. Д. c. приложения с Elasti c Beanstalk. Кроме того, Elasti c Beanstalk поставляется с набором функций, которые помогут вам легко управлять traffi c на вашем веб-сайте.

3) Используйте Sagemaker для развертывания ваших моделей. После развертывания вы можете довольно легко использовать Amazon SDK Boto3 для передачи данных между вашим веб-приложением и вашей моделью для прогнозов.

Общая идея состоит в том, чтобы разделить данные, веб-приложение и модели на отдельные части, чтобы можно было легко заменить одну часть вашей архитектуры на другую, если вы найдете лучшее решение, которое подходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...