Passa i dati tra i passaggi - Amazon SageMaker AI

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à.

Passa i dati tra i passaggi

Quando crei pipeline con Amazon SageMaker Pipelines, potresti dover passare i dati da una fase all'altra. Ad esempio, potresti voler utilizzare gli artefatti del modello generati da una fase di formazione come input per una fase di valutazione o implementazione del modello. È possibile utilizzare questa funzionalità per creare fasi di pipeline interdipendenti e creare flussi di lavoro ML.

Quando è necessario recuperare informazioni dall'output di una fase della pipeline, è possibile utilizzare. JsonGet JsonGetti aiuta a estrarre informazioni da Amazon S3 o dai file delle proprietà. Le seguenti sezioni spiegano i metodi con cui è possibile estrarre gli output degli step. JsonGet

Passa i dati tra i passaggi con Amazon S3

Puoi usare JsonGet in a ConditionStep per recuperare l'output JSON direttamente da Amazon S3. L'URI di Amazon S3 può essere una Std:Join funzione contenente stringhe primitive, variabili di esecuzione della pipeline o parametri della pipeline. L'esempio seguente mostra come è possibile utilizzarlo in un: JsonGet ConditionStep

# Example json file in s3 bucket generated by a processing_step { "Output": [5, 10] } cond_lte = ConditionLessThanOrEqualTo( left=JsonGet( step_name="<step-name>", s3_uri="<s3-path-to-json>", json_path="Output[1]" ), right=6.0 )

Se utilizzi JsonGet un percorso Amazon S3 nella fase di condizione, devi aggiungere esplicitamente una dipendenza tra la fase di condizione e la fase che genera l'output JSON. Nell'esempio seguente, la fase della condizione viene creata con una dipendenza dalla fase di elaborazione:

cond_step = ConditionStep( name="<step-name>", conditions=[cond_lte], if_steps=[fail_step], else_steps=[register_model_step], depends_on=[processing_step], )

Passa i dati tra i passaggi con i file delle proprietà

Utilizza i file di proprietà per archiviare informazioni dall'output di una fase di elaborazione. Ciò è particolarmente utile quando si analizzano i risultati di una fase di elaborazione per decidere come eseguire una fase condizionale. La JsonGet funzione elabora un file di proprietà e consente di utilizzare la JsonPath notazione per interrogare il file JSON delle proprietà. Per ulteriori informazioni sulla JsonPath notazione, consulta il repository. JsonPath

Per archiviare un file di proprietà per un uso successivo, devi prima creare un'istanza PropertyFile con il seguente formato. Il parametro path è il nome del file JSON in cui viene salvato il file di proprietà. Qualsiasi output_name deve corrispondere al output_name del ProcessingOutput definito nella fase di elaborazione. Ciò consente al file di proprietà di acquisire ProcessingOutput durante la fase.

from sagemaker.workflow.properties import PropertyFile <property_file_instance> = PropertyFile( name="<property_file_name>", output_name="<processingoutput_output_name>", path="<path_to_json_file>" )

Quando crei l'ProcessingStepistanza, aggiungi il property_files parametro per elencare tutti i file di parametri che il servizio Amazon SageMaker Pipelines deve indicizzare. In questo modo il file di proprietà viene salvato per un uso successivo.

property_files=[<property_file_instance>]

Per utilizzare il file di proprietà in una fase condizionale, aggiungi property_file alla condizione che passi alla fase condizionale, come illustrato nell'esempio seguente, per eseguire query sul file JSON per la proprietà desiderata utilizzando il parametro json_path.

cond_lte = ConditionLessThanOrEqualTo( left=JsonGet( step_name=step_eval.name, property_file=<property_file_instance>, json_path="mse" ), right=6.0 )

Per esempi più approfonditi, consulta Property File nell'SDK Amazon SageMaker Python.