執行管道 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

執行管道

下頁說明如何使用 Amazon SageMaker Pipelines 執行管道,無論是使用 SageMaker AI 資源或本機。

使用 pipeline.start()函數啟動新的管道執行,就像傳統 SageMaker AI 管道執行一樣。如需 start()函數的詳細資訊,請參閱 sagemaker.workflow.pipeline.Pipeline.start

注意

使用@step裝飾工具定義的步驟會做為訓練任務執行。因此,請注意下列限制:

  • 您帳戶中的執行個體限制和訓練任務限制。相應地更新您的限制,以避免任何限流或資源限制問題。

  • 與管道中訓練步驟每次執行相關聯的貨幣成本。如需詳細資訊,請參閱 Amazon SageMaker AI 定價

從本機執行的管道擷取結果

若要檢視管道執行任何步驟的結果,請使用 execution.result(),如下列程式碼片段所示:

execution = pipeline.start() execution.result(step_name="train")
注意

管道不支援execution.result()本機模式。

您一次只能擷取一個步驟的結果。如果步驟名稱是由 SageMaker AI 產生,您可以呼叫 來擷取步驟名稱list_steps,如下所示:

execution.list_step()

在本機執行管道

您可以在本機執行具有 @step裝飾步驟的管道,如同傳統管道步驟一樣。如需本機模式管道執行的詳細資訊,請參閱 使用本機模式執行管道。若要使用本機模式,請將 LocalPipelineSession而非 SageMakerSession 提供給管道定義,如下列範例所示:

from sagemaker.workflow.function_step import step from sagemaker.workflow.pipeline import Pipeline from sagemaker.workflow.pipeline_context import LocalPipelineSession @step def train(): training_data = s3.download(....) ... return trained_model step_train_result = train() local_pipeline_session = LocalPipelineSession() local_pipeline = Pipeline( name="<pipeline-name>", steps=[step_train_result], sagemaker_session=local_pipeline_session # needed for local mode ) local_pipeline.create(role_arn="role_arn") # pipeline runs locally execution = local_pipeline.start()