Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esecuzione delle pipeline con la modalità locale
SageMaker La modalità locale di Pipelines è un modo semplice per testare gli script di addestramento, elaborazione e inferenza, nonché la compatibilità in fase di esecuzione dei parametri della pipeline
La modalità locale di Pipelines sfrutta la modalità locale dei lavori di
La modalità locale pipeline attualmente supporta i seguenti tipi di fasi:
-
Fase del modello (solo con argomenti Crea modello)
A differenza del servizio Pipeline gestito che consente l'esecuzione di più fasi in parallelo utilizzando la configurazione del parallelismo
Nota
La modalità locale di Pipelines non è compatibile con algoritmi di SageMaker intelligenza artificiale come XGBoost. Se si desidera utilizzare questi algoritmi, è necessario utilizzarli in modalità script.
Per eseguire una pipeline a livello locale, i campi sagemaker_session associati alle fasi della pipeline e alla pipeline stessa devono essere di tipo LocalPipelineSession. L'esempio seguente mostra come è possibile definire una pipeline SageMaker AI da eseguire localmente.
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)
Quando sei pronto per eseguire la pipeline sul servizio SageMaker Pipelines gestito, puoi farlo sostituendo LocalPipelineSession nel frammento di codice precedente con PipelineSession (come mostrato nell'esempio di codice seguente) ed eseguendo nuovamente il codice.
from sagemaker.workflow.pipeline_context import PipelineSession pipeline_session = PipelineSession()