Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exécuter des pipelines en mode local
SageMaker Le mode local des pipelines est un moyen simple de tester vos scripts d'entraînement, de traitement et d'inférence, ainsi que la compatibilité d'exécution des paramètres de pipeline
Le mode local de Pipelines tire parti du mode local des SageMaker jobs
Le mode local des pipelines prend actuellement en charge les types d'étape suivants :
-
Étape de modèle (avec des arguments de création de modèle uniquement)
Contrairement au service Pipelines géré, qui permet l'exécution en parallèle de plusieurs étapes à l'aide de la configuration du parallélisme
Note
Le mode local des pipelines n'est pas compatible avec SageMaker des algorithmes tels queXGBoost. Si vous voulez utiliser ces algorithmes, vous devez les utiliser en mode script
Pour exécuter un pipeline localement, les champs sagemaker_session
associés aux étapes du pipeline et le pipeline lui-même doivent être de type LocalPipelineSession
. L'exemple suivant montre comment définir un SageMaker pipeline à exécuter localement.
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)
Une fois que vous êtes prêt à exécuter le pipeline sur le service géré SageMaker Pipelines, vous pouvez le faire LocalPipelineSession
en remplaçant l'extrait de code précédent par PipelineSession
(comme indiqué dans l'exemple de code suivant) et en réexécutant le code.
from sagemaker.workflow.pipeline_context import PipelineSession pipeline_session = PipelineSession()