Изменение предварительной обработки в обученной модели в SageMaker - PullRequest
0 голосов
/ 10 января 2020

Я обучил модель на SageMaker вместе с предварительной обработкой. Под предварительной обработкой я имею в виду, что я добавил файл inference.py с функциями input_handler и output_handler в соответствии с этим https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/tensorflow/deploying_tensorflow_serving.rst.

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

1 Ответ

0 голосов
/ 12 января 2020

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

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

Некоторые модели проходят переподготовку каждый день. Amazon SageMaker позволяет легко обучать вашу модель, но вызывая API поезда и ожидая, пока она завершится sh. Вы можете автоматизировать процесс создания нового образа Docker (если вы изменили предварительную обработку), вызывая API обучения, а затем вызывая API развертывания SageMaker для ECS / EKS или любой другой службы хостинга контейнеров.

...