#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"