Transmettre les données entre les étapes - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Transmettre les données entre les étapes

Lorsque vous créez des pipelines avec Amazon SageMaker Pipelines, vous devrez peut-être transmettre des données d'une étape à l'autre. Par exemple, vous souhaiterez peut-être utiliser les artefacts de modèle générés par une étape de formation comme entrée pour une étape d'évaluation ou de déploiement du modèle. Vous pouvez utiliser cette fonctionnalité pour créer des étapes de pipeline interdépendantes et créer vos flux de travail ML.

Lorsque vous devez récupérer des informations à partir de la sortie d'une étape du pipeline, vous pouvez utiliserJsonGet. JsonGetvous aide à extraire des informations d'Amazon S3 ou de fichiers de propriétés. Les sections suivantes décrivent les méthodes que vous pouvez utiliser pour extraire les résultats des étapesJsonGet.

Transférez les données entre les étapes avec Amazon S3

Vous pouvez utiliser JsonGet in a ConditionStep pour récupérer la JSON sortie directement depuis Amazon S3. Amazon S3 URI peut être une Std:Join fonction contenant des chaînes primitives, des variables d'exécution du pipeline ou des paramètres de pipeline. L'exemple suivant montre comment vous pouvez utiliser JsonGet dans un 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 )

Si vous utilisez JsonGet un chemin Amazon S3 dans l'étape de condition, vous devez explicitement ajouter une dépendance entre l'étape de condition et l'étape générant la JSON sortie. Dans l'exemple suivant, l'étape de condition est créée avec une dépendance à l'étape de traitement :

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

Transmettre les données entre les étapes à l'aide de fichiers de propriétés

Utilisez des fichiers de propriétés pour stocker des informations à partir de la sortie d'une étape de traitement. Ceci est particulièrement utile lors de l'analyse des résultats d'une étape de traitement pour décider comment une étape conditionnelle doit être exécutée. La JsonGet fonction traite un fichier de propriétés et vous permet d'utiliser la JsonPath notation pour interroger le JSON fichier de propriétés. Pour plus d'informations sur la JsonPath notation, consultez le JsonPath dépôt.

Pour stocker un fichier de propriétés en vue d'une utilisation ultérieure, vous devez d'abord créer une instance PropertyFile au format suivant. Le path paramètre est le nom du JSON fichier dans lequel le fichier de propriétés est enregistré. Tout output_name doit correspondre à l'interface output_name du ProcessingOutput que vous définissez dans votre étape de traitement. Cela permet au fichier de propriétés de capturer la ProcessingOutput dans l'étape.

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

Lorsque vous créez votre ProcessingStep instance, ajoutez le property_files paramètre pour répertorier tous les fichiers de paramètres que le service Amazon SageMaker Pipelines doit indexer. Cela enregistre le fichier de propriétés en vue d'une utilisation ultérieure.

property_files=[<property_file_instance>]

Pour utiliser votre fichier de propriétés dans une étape de condition, ajoutez le property_file à la condition que vous passez à votre étape de condition, comme indiqué dans l'exemple suivant pour interroger le JSON fichier pour la propriété souhaitée à l'aide du json_path paramètre.

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

Pour des exemples plus détaillés, consultez Property File dans Amazon SageMaker Python SDK.