Esecuzione di una pipeline - Amazon SageMaker AI

Esecuzione di una pipeline

La pagina seguente descrive come eseguire una pipeline con Amazon SageMaker Pipelines, utilizzando le risorse SageMaker AI o l’ambiente locale.

Inizia una nuova esecuzione della pipeline con la funzione pipeline.start() come faresti per una pipeline tradizionale di SageMaker AI. Per informazioni sulla funzione start(), consulta sagemaker.workflow.pipeline.Pipeline.start.

Nota

Una fase definita con il decoratore @step viene eseguita come job di addestramento. Pertanto, tieni presente le limitazioni seguenti:

  • Limiti relativi alle istanze e ai job di addestramento nei tuoi account. Aggiorna i limiti di conseguenza per evitare problemi di limitazione della larghezza di banda della rete o delle risorse.

  • I costi monetari associati a ogni esecuzione di una fase di addestramento nella pipeline. Per ulteriori dettagli, consulta Prezzi di Amazon SageMaker.

Recupero dei risultati da una pipeline eseguita localmente

Per visualizzare il risultato di qualsiasi fase dell’esecuzione di una pipeline, utilizza execution.result (), come mostrato nel seguente frammento:

execution = pipeline.start() execution.result(step_name="train")
Nota

Pipelines non supporta execution.result() in modalità locale.

Puoi recuperare i risultati di una sola fase alla volta. Se il nome della fase è stato generato da SageMaker AI, puoi recuperarlo chiamando list_steps come descritto di seguito:

execution.list_step()

Esecuzione di una pipeline in locale

Puoi eseguire localmente una pipeline con fasi decorate con @step con la stessa modalità utilizzata per le fasi della pipeline tradizionali. Per informazioni dettagliate sull’esecuzione della pipeline in modalità locale, consulta Esecuzione delle pipeline con la modalità locale. Per utilizzare la modalità locale, inserisci LocalPipelineSession invece di SageMakerSession nella definizione della pipeline, come illustrato nell’esempio seguente:

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()