运行管道 - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

运行管道

以下页面介绍了如何使用 Amazon Pipelines 运行 SageMaker 管道,无论是使用 SageMaker资源还是本地运行。

使用该pipeline.start()函数开始新的管道运行,就像传统 SageMaker管道运行一样。有关该start()函数的信息,请参阅 sag emaker.workflow.pipeline.pipeline.start。

注意

使用@step装饰器定义的步骤作为训练作业运行。因此,请注意以下限制:

  • 您的账户中的实例限制和训练任务限制。相应地更新您的限制,以避免出现任何限制或资源限制问题。

  • 与正在进行的每一个训练步骤相关的货币成本。有关更多详情,请参阅 Amazon SageMaker 定价

从本地运行的管道中检索结果

要查看管道运行中任何步骤的结果,请使用 e xecution.result (),如以下代码段所示:

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

本地模式下不支持execution.result()管道。

一次只能检索一个步骤的结果。如果步骤名称是由生成的 SageMaker,则可以通过以下方式调用list_steps来检索步骤名称:

execution.list_step()

在本地运行管道

你可以像处理传统的管道步骤一样在本地运行带有@step装饰步骤的管道。有关本地模式管道运行的详细信息,请参阅使用本地模式运行管道。要使用本地模式,请在管道定义中提供 a 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()