本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用本地模式运行管道
SageMaker 管道本地模式是一种在托管 SageMaker 服务上执行管道之前测试训练、处理和推理脚本以及管道参数
管道本地模式在幕后利用SageMaker 作业本地模式
管道本地模式目前支持以下步骤类型:
托管管道服务允许使用并行配置
注意
管道本地模式与诸如之类的 SageMaker 算法不兼容XGBoost。如果要使用这些算法,则必须在脚本模式
为了在本地执行管道,与管道步骤和管道本身关联的 sagemaker_session
字段必须是 LocalPipelineSession
类型。以下示例说明如何定义要在本地执行的 SageMaker 管道。
from sagemaker.workflow.pipeline_context import LocalPipelineSession from sagemaker.pytorch import PyTorch from sagemaker.workflow.steps import TrainingStep from sagemaker.workflow.pipeline import Pipeline local_pipeline_session = LocalPipelineSession() pytorch_estimator = PyTorch( sagemaker_session=local_pipeline_session, role=sagemaker.get_execution_role(), instance_type="ml.c5.xlarge", instance_count=1, framework_version="1.8.0", py_version="py36", entry_point="./entry_point.py", ) step = TrainingStep( name="MyTrainingStep", step_args=pytorch_estimator.fit( inputs=TrainingInput(s3_data="s3://
amzn-s3-demo-bucket/my-data/train
"), ) ) pipeline = Pipeline( name="MyPipeline", steps=[step], sagemaker_session=local_pipeline_session ) pipeline.create( role_arn=sagemaker.get_execution_role(), description="local pipeline example" ) // pipeline will execute locally execution = pipeline.start() steps = execution.list_steps() training_job_name = steps['PipelineExecutionSteps'][0]['Metadata']['TrainingJob']['Arn'] step_outputs = pipeline_session.sagemaker_client.describe_training_job(TrainingJobName = training_job_name)
准备好在托管 Pipelin SageMaker es 服务上执行管道后,可以通过将前面的代码片段LocalPipelineSession
中的替换为PipelineSession
(如以下代码示例所示),然后重新运行代码来实现。
from sagemaker.workflow.pipeline_context import PipelineSession pipeline_session = PipelineSession()