Как развернуть sagemaker.workflow.pipeline.Конвейер?

#python #amazon-web-services #amazon-sagemaker

#python #amazon-веб-сервисы #amazon-sagemaker

Вопрос:

У меня есть sagemaker.workflow.pipeline.Pipeline , который содержит несколько sagemaker.workflow.steps.ProcessingStep и каждый ProcessingStep содержит sagemaker.processing.ScriptProcessor .

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

введите описание изображения здесь

Поскольку Pipeline объект не поддерживает .deploy метод, как развернуть этот конвейер?

При выводе / подсчете, когда мы получаем необработанные данные (по одной строке для каждого источника), как запустить конвейер?

или конвейер Sagemaker предназначен только для обработки данных и обучения модели на огромных / пакетных данных? Не для вывода с одной точкой данных?

Ответ №1:

Поскольку объект Pipeline не поддерживает метод .deploy, как развернуть этот конвейер?

У конвейера нет .deploy() метода, нет

Используйте pipeline.upsert(role_arn='...') для создания / обновления определения конвейера в SageMaker, затем вызовите pipeline.start() . Документы здесь

При выводе / подсчете, когда мы получаем необработанные данные (по одной строке для каждого источника), как запустить конвейер?

На самом деле в SageMaker есть два типа конвейеров. Конвейеры построения моделей (которые у вас есть в вашем вопросе) и конвейеры последовательного вывода, которые используются для вывода. AWS определенно должен был назвать прежние «рабочие процессы»

Вы можете использовать конвейер построения модели для настройки конвейера последовательного вывода

Чтобы выполнить предварительную обработку в конвейере последовательного вывода, вы хотите обучить кодировщик / оценщик (например, SKLearn) и сохранить его модель. Затем обучите алгоритм обучения и сохраните его модель, затем создайте конвейерную модель, используя обе модели

Комментарии:

1. Спасибо, Нил. Как получить зависимости от данных, когда мы используем PipelineModel? Учитывая, что у меня есть две оценки, model-1 для предварительной обработки и model-2 алгоритма обучения. Как передать данные из model-1 в model-2 , чтобы получить прогнозы?

2. @Pythoncoder это происходит автоматически с конвейерной моделью. набор данных передается в модель-1, sagemaker получает его выходные данные, а затем передает эти выходные данные в модель-2

3. Означает ли это, что ответ модели-1 передается как запрос модели-2?

4. @Pythoncoder да. Вы действительно хотите установить переменную среды в Model1, чтобы задать формат, например "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT": "text/csv"