Можно ли с помощью AWS SageMaker развернуть предварительно обученную модель с помощью SDK Sagemaker?
Я стараюсь не переносить существующий процесс обучения модели в SageMaker и избегать создания собственного контейнера Docker для размещения нашей обученной модели.
Я надеялся вставить нашу существующую обученную модель в готовый контейнер scikit learn, который AWS предоставляет через sagemaker-python-sdk. Все примеры, которые я нашел, требуют сначала обучения модели, которая создает конфигурацию модель / модель в SageMaker. Затем он развертывается с deploy
метод.
Можно ли предоставить обученную модель deploy
метод и размещен ли он в готовом контейнере Scikit Learn, который предоставляет AWS?
Для справки, примеры, которые я видел, следуют этому порядку операций:
- Создание экземпляра
sagemaker.sklearn.estimator.SKLearn
и предоставление учебного сценария - Позвоните
fit
метод на это - Это создает модель / конфигурацию модели в SageMaker
- Позвоните
deploy
метод наSKLearn
экземпляр, который автоматически берет модель, созданную на шаге 2/3, и развертывает ее в контейнере обучения scikit перед сборкой в качестве конечной точки HTTPS.
2 ответа
Да, вы можете импортировать существующие модели в SageMaker.
Для scikit-learn вы должны использовать объект SKLearnModel(), чтобы загрузить модель из S3 и создать ее в SageMaker. Затем вы можете развернуть его как обычно.
https://sagemaker.readthedocs.io/en/latest/sagemaker.sklearn.html
Вот полный пример, основанный на MXNet, который укажет вам правильное направление: https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker-python-sdk/mxnet_onnx_superresolution/mxnet_onnx.ipynb
Пару дней боролся с одним и тем же вариантом использования.
Мы использовали класс sagemaker.model.Model и sagemaker.pipeline.PipelineModel.
Изложил наше решение здесь.
Как обрабатывать пользовательские преобразования/выводы и требования в конечных точках sagemaker