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
JsonGet
ti 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'ProcessingStep
istanza, 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