Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Führen Sie Pipelines im lokalen Modus aus
SageMaker Der lokale Modus von Pipelines ist eine einfache Möglichkeit, Ihre Trainings-, Verarbeitungs- und Inferenzskripts sowie die Laufzeitkompatibilität der Pipeline-Parameter zu testen,
Der lokale Modus von Pipelines nutzt den lokalen Modus für SageMaker KI-Jobs
Der lokale Pipeline-Modus unterstützt derzeit die folgenden Schritttypen:
-
Model-Schritt (nur mit Argumenten vom Typ „Modell erstellen“)
Im Gegensatz zum Managed Pipelines Service, der die parallele Ausführung mehrerer Schritte mithilfe der Parallelism Configuration ermöglicht, führt der lokale Pipeline-Executor
Anmerkung
Der lokale Modus von Pipelines ist nicht mit SageMaker KI-Algorithmen wie XGBoost kompatibel. Wenn Sie diese Algorithmen verwenden möchten, müssen Sie diese im Skriptmodus
Um eine Pipeline lokal ausführen zu können, müssen die sagemaker_session Felder, die den Pipeline-Schritten und der Pipeline selbst zugeordnet sind, vom Typ LocalPipelineSession sein. Das folgende Beispiel zeigt, wie Sie eine SageMaker AI-Pipeline für die lokale Ausführung definieren können.
from sagemaker.core.workflow.pipeline_context import LocalPipelineSession from sagemaker.train import ModelTrainer from sagemaker.train.configs import InputData, SourceCode from sagemaker.train.configs import Compute from sagemaker.mlops.workflow.steps import TrainingStep from sagemaker.mlops.workflow.pipeline import Pipeline from sagemaker.core.helper.session_helper import get_execution_role from sagemaker.core import image_uris local_pipeline_session = LocalPipelineSession() training_image = image_uris.retrieve( framework="pytorch", region=region, version="1.8.0", py_version="py36", instance_type="ml.c5.xlarge", image_scope="training" ) pytorch_model_trainer = ModelTrainer( role=get_execution_role(), compute=Compute( instance_type="ml.c5.xlarge", instance_count=1, ), training_image=training_image, source_code=SourceCode(entry_script="./entry_point.py"), ) step = TrainingStep( name="MyTrainingStep", step_args=pytorch_model_trainer.train( input_data_config=[InputData(channel_name="training", data_source="s3://amzn-s3-demo-bucket/my-data/train")], ) ) pipeline = Pipeline( name="MyPipeline", steps=[step], sagemaker_session=local_pipeline_session ) pipeline.create( role_arn=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 = local_pipeline_session.sagemaker_client.describe_training_job(TrainingJobName = training_job_name)
Sobald Sie bereit sind, die Pipeline im verwalteten SageMaker Pipelines-Dienst auszuführen, können Sie dies tun, indem Sie den vorherigen Codeausschnitt durch PipelineSession (wie im folgenden Codebeispiel gezeigt) ersetzen LocalPipelineSession und den Code erneut ausführen.
from sagemaker.workflow.pipeline_context import PipelineSession pipeline_session = PipelineSession()