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 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'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 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