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à.
Passaggio dei dati tra le fasi
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 addestramento come input per una fase di valutazione o implementazione del modello. Puoi utilizzare questa funzionalità per creare fasi della pipeline interdipendenti e flussi di lavoro di ML.
Quando devi recuperare informazioni dall’output di una fase della pipeline, puoi utilizzare JsonGet. JsonGet ti aiuta a estrarre informazioni da Amazon S3 o dai file delle proprietà. Le sezioni seguenti spiegano i metodi con cui estrarre gli output delle fasi con JsonGet.
Passaggio dei dati tra le fasi con Amazon S3
Puoi utilizzare JsonGet in ConditionStep per recuperare l’output JSON direttamente da Amazon S3. L’URI di Amazon S3 può essere una funzione Std:Join che contiene stringhe primitive, variabili di esecuzione della pipeline o parametri della pipeline. L’esempio seguente mostra come utilizzare JsonGet in 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 con 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 di 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], )
Passaggio dei dati tra le fasi con 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 della 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