Passa i dati tra i passaggi - Amazon SageMaker

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 sezioni seguenti spiegano i metodi con cui estrarre gli output degli step. JsonGet

Passa i dati tra i passaggi con Amazon S3

È possibile utilizzare JsonGet in ConditionStep a per recuperare l'JSONoutput direttamente da Amazon S3. Amazon S3 URI 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: 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 della 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 delle proprietà e consente di utilizzare la JsonPath notazione per interrogare il JSON file delle proprietà. Per ulteriori informazioni sulla JsonPath notazione, consulta il JsonPath repository.

Per archiviare un file di proprietà per un uso successivo, devi prima creare un'istanza PropertyFile con il seguente formato. Il path parametro è il nome del JSON file in cui viene salvato il file delle 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 delle proprietà in una fase di condizione, property_file aggiungila alla condizione che passi alla fase di condizione, come mostrato nell'esempio seguente, per interrogare il JSON file per la proprietà desiderata utilizzando il json_path parametro.

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 in Amazon SageMaker Python SDK.